- Hand writing – write neatly. Even if you have really nice cursive, please PRINT. Make a distinction between upper and lowercase letters. Since there is a Double class, this is different from double.
- Use identifiers that are meaningful. This helps your reader. They shouldn’t be too terribly long either though. Not only does it help us to read and rate the solution, it will help your students to not get confused in their answers and accidentally use the wrong variable name. And there are times to reuse identifiers and they should be reused, and there are times not too. If you have 2 loops that are working differently to loop over the columns in GridWorld, it might be OK to reuse your “col” variable. However, you need to avoid reusing variables when they have different meanings. So at the beginning of the code, it was a counter, and now it is an accumulator. Sometimes this has an unforeseen side effect that you are penalized for, especially if you end up inadvertently using previously stored data.
- Avoid using i and j as variable names. They look too much alike first of all, and j look like a semicolon ; Use something meaningful (count, row, col or Bob’s favorite lcv).
- Emphasis the difference between for and for each loops and when to use each.
- Students shouldn’t try to be tricky. Who are they showing off for? They don’t know me, and I don’t know them. Their tricky code is only going to get them into trouble. Be straight forward .
- Read and know what you have for instance variables. Students should circle these, or underline them. When I first start looking at free response questions with students, I always ask, what are the instance variables for this problem? What are the parameters? If they are writing solutions that do not use the parameters, their solution is horribly misguided. And the problem probably wouldn’t have an instance variable if you weren’t supposed to use it somewhere.
- Watch your return types, and be sure to include returns when needed. Remember void methods and constructors should not have returns.
Can you add to this list?