ENGG1801 Project: Instructions
ENGG1801 Project: Instructions
ENGG1801 Project: Instructions
ENGG1801 Project
Instructions
Submission deadline: 8pm Tuesday 3rd June 2014 (week 13).
This assignment must be completed and submitted in pairs. Both students will receive the same
mark. Pairs can include students from any tutorial and lecture. Submissions from only 1 student will
attract a 2 mark penalty. If you need a partner, then attend the lectures to find a partner, or email
engg1801help@it.usyd.edu.au
Data files: There are files to download from the course website to help you start the project.
Submission instructions: These will be posted soon on the course website.
Project Options
There are 3 options to choose from for this assignment. Each option involves a similar amount of
programming at broadly the same level of difficulty. You can choose any 1 of the 3 options
regardless of which degree program you are in.
Plagiarism
Do not give or receive any m-files, to or from any other person, at any time during or even
after the semester. Doing so, for any reason, is plagiarism, even if the file is modified. The
only exception is to give and receive project files to and from your project partner before the
project submission deadline.
Do not use any files from previous sessions (semesters, or summer school), even if they
were created by you. Doing so is plagiarism (see the policy below).
Marking Scheme
The project is worth 40 marks, or 20% of your entire assessment. Both students in each pairing will
score the same marks.
Part 1
Part 2
Part 3
Part 4
Comments & coding style
astro
6 marks (15%)
12 marks (30%)
4 marks (10%)
strad
4 marks (10%)
10 marks (25%)
8 marks (20%)
8 marks (20%)
10 marks (25%)
gasleak
4 marks (10%)
14 marks (35%)
4 marks (10%)
We will discuss how to score the best marks in more detail in lecture 10-2.
Parts 1 3
For parts 1-3, we are mainly interested in:
Does your code have good comments and good coding style? See below.
Is the general behaviour of your program sensible?
If it is not entirely clear from the project description what to do specifically (e.g. what color to use
to represent something), then the specific details are not important, as long as it is sensible.
Part 4
For part 4, we mark it in the same way as parts 1-3, but we also look at:
Full marks in Part 4 will be awarded to submissions of that option (out of the 3 options) that are
considered to be the best, or very comparable to the best, based on all the submissions that we
receive from all student pairings that choose that option.
Penalties
Marks may be deducted for failing to follow instructions (including submission instructions), not
filling in your details at the top of each m-file, etc.
ENGG1801 PROJECT 3
Descriptive and clear comments on most lines of code, explaining in plain English. There
should be no complex line of code that is left unexplained.
Good use of consistent and clear indentation, line spacing (blank lines) and meaningful
variable / function names to make the code easy to understand.
Simple code that is quick and easy to understand, and easy to detect any errors or bugs if
there are any. The marker should be able to look at the code and quickly be certain that your
code is correct.
Code that is flexible, can be easily modified for a slightly different change in the project
question, and can work in general for many situations, not just specific situations.
Many functions (and therefore, many .m files) to break up the large program into easy-tounderstand portions. Functions should generally be short and only a few lines, as
demonstrated in lectures. The use of parameters makes your functions more flexible so that
they can work in general, and not just specific situations.
Follow the lab exercise sample solutions and also sample code that comes with the lecture
notes for excellent examples of coding style.
The above figure shows a series of images from a radio telescope. They are looking at the same
patch of sky over a period of hours. The greyscale shows bright objects (e.g. galaxies and stars) in
white, with the background noise in grey. We are interested in detecting images where a new
object has appeared since the previous observation. The third image shows an example of one such
object (a transient source) circled. One simple way of doing this is to count the number of bright
pixels above a chosen threshold.
ENGG1801 PROJECT 5
Consider the wharf as a grid of N x N locations. The container to be moved is in location Start. The
strad is also at location Start and needs to go to location Goal to store the container. It can move
horizontally or vertically one step at a time (it cannot move diagonally). Some locations are
forbidden as they already contain stored containers. An example is shown in the figure below,
where the wharf is an 8x8 grid. The forbidden locations are shown in gray and the container to be
moved is shown in black. The Start location is 60 and the Goal location is 19. Your task is to write
a MATLAB program to find the path from Start to Goal using different strategies.
1
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Goal
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Start
ENGG1801 PROJECT 7
ENGG1801 PROJECT 9
You will need three separate matrices: one for the zeros and ones representing the room itself; one
for the current concentration of gas at each pixel in the room; and one for storing the newly
calculated concentration values. Your program will need to run for a fairly large number of
iterations (e.g. 10,000) to see a significant difference in the concentrations.
You need to assume that the point where the gas is leaking remains at a constant concentration
(supplied by the user when the program begins), and all of the surrounding pixels get affected by
that concentration (and their neighbours in turn and so on)
You should choose some other point within the room to print out the gas concentration so that you
know it is changing with each new time step (iteration).
Save your solution in gas2.m