TA George Tzanetakis' comments on HW assignment 1
Grading
The scale I followed for homework 1 is
Part 1
- 0
- no compiling, no test cases/input/output
- 2
- compiling , no test cases/input/output
- 4
- compiling , partial functionality
- 6
- works with bugs
- 8
- works
In addition,
+/- 1 or 2 points for style, structure, readability
Part 2
- 0
- wrong
- 1
- almost there
- 2
- correct
General comments about the assignment
When you write comments try to write them in a way that
enhances readability. Do not repeat what is obvious from the
code. When you write comments for a function try to describe the
function so that someone can understand what it does without having to
read the code.
Try to avoid making unecessary assumptions about the
specifications and if you do, make it easy to modify the program. For
example having a fixed size for lines is ok in some cases if there is
an easy way to change it but having a fixed size for words and lines
and input size or having different constants all over the place is
not.
In most cases, I try to give feedback about what is wrong with
the code. For some cases I cannot write something specific, but the
overall structure and style is confusing. So if you have questions
about your grade and you dont understand what is wrong with your
program please come and talk with me.
Some people did not submit any test cases/input/ouput and got
a low grade. Because this was the first assignment they can submit by
emailing me (gtzan@cs.princeton.edu) their input/output and I will change
the grades accordingly. These people should also give me back their
source code to regrade it.
Rule of thumb:
Try to make your grader happy. The less time he spends grading
an assignment the more likely you will get a good grade.
Things that help:
good structure/design, clear precise comments,
good variable names, good test cases
Things that do not help:
cryptic code, lack or excess of comments,
code repetition, bad design, misleading comments,
strange variable names