Homework guidelines
Due dates/late policy
Assignments and due dates can be found on the lecture webpage. Homeworks must be submitted on both Blackboard (code) and Gradescope (writeup) by 11:59 pm on the given due date. You will be allowed a total of 3 late days througout the semester - use them wisely! Each additional day late will result in an penalty of 50% of the homework grade, and no homework will be accepted after 3 days past its due date.
Grading
Each assignment has both programming and written components. Your
code will be graded both on clarity and correctness.
It is generally more important that your code be clear and
correct than fast. Your writeup should
be richly illustrated with graphs and images, and your code
should be well commented and documented.
Note for Extra Credit
There will be optional extra credit questions in the assignments
which can get you points on the homework. Note that however, the
maximum possible score for a homework is a 100 points. So if you
were able to answer 100 points worth of the homework and you solved
20 points worth of extra credit, your total score would be 100 points.
But if you solved only 70 points worth of the homework and 20 points
of extra credit, your total score would be 90 points.
You will be submitting a PDF writeup to Gradescope and a zipfile of code to Blackboard. Unless otherwise specified in the homework instructions, please carefully follow the below protocol so that our grading scripts will work on your assignment.
Homework Code Submission
Submit a zipfile named YourAndrewId.zip to Blackboard. This zip file should contain a single folder called YourAndrewId that contains
- A matlab/ folder containing all the .m and .mat files you were asked to write and generate.
Make sure the matlab directory includes everything that your code needs to run. If we hand out code as part of the assignment, please include that also. However, to prevent large zip files, do not include image or data files that we prodivid in the data directory of skeleton code.
You can create an archive
of the YourAndrewId directory in various ways
depending on the platform:
- Right-click on the folder and select "Create archive".
Select "zip" to create the archive, or
- In a terminal, cd to the directory
containing YourAndrewId and type zip -r YourAndrewId
YouAndrewId to create YourAndrewId.zip
You can list the contents of a zip archive with the command
unzip -l YourAndrewId.
Homework Writeup Submission
You must submit your writeups as as a single PDF file titled YourAndrewId.pdf to Gradescope.
We will not accept writeups in any word processing format
such as MS Word or Open Office. You are welcome to create
the writeup in whichever word processor you like but in the
end you need to save it as a pdf file.
Some guidelines for your figures:
- Use a proper size and aspect ratio. If you are showing
an image, make sure that the pixels are displayed square. Use
the axis image command. If the image is not too large,
ensure that image and screen pixels coincide with the
truesize command.
- Always show the colorbar for 2D data. Whether your are
showing an image or data in the form of an image, always show the
colorbar. If you are showing an image, this will verify that the
color map spans the correct range (usually [0,1]). If
you are showing data, then this will show the meaning of the colors.
The only exception is when you show RGB images; in that case, the
colorbar is meaningless because the colormap is not used.
- Use a sensible color map. There are a couple standard color
maps available in MATLAB: gray, jet,
and hsv. In the few cases where your data is periodic
(such as with angles), then use colormap hsv. Otherwise,
use gray or jet. Which is appropriate
depends on what you are trying to show. Use the colormap that most
effectively communicates your point.
- Use a proper display range. If you are showing a
grayscale image, make sure that MATLAB does not remap the colors.
The imagesc command has an optional parameter for this
purpose, e.g. imagesc(im,[0,1]) will make sure the color
map spans the range [0,1]. If you are showing data, then
allowing imagesc to scale the color map to the range of
the data is usually appropriate. If your data is mostly symmetric
around zero, then consider using a display range that is symmetric
around zero,
e.g. imagesc(im,[-1,1]*max(abs(im(:))))
- Consider screen capture for figures. There are
three ways to create images of your figures in MATLAB:
- Use a screen capture utility.
- Select File > Save As... from the figure window, and export as
an image (PNG, TIFF, JPG, etc.).
- Use the print command.
- Use imwrite() for saving images. To directly export
an image from Matlab, use the imwrite command.