Grading Guidelines for Quiz 1 and Lab 1

Quiz 1

Since we're just starting out, I tried to be somewhat lenient -- especially with stuff like spaces, quotation marks, etc. Also, since we have been using "seqneuces" and "lists" somewhat interchangeably, I'll accept either one for the answer.

Question 1: Most people didn't have problems with this one. There was some confusion on the exponential and the string slicing, but nothing that I would consider to be major misunderstandings.

Question 2: I was actually very surprised that so many people were able to get full marks (or close to it) on this question! Most of you know how to trace a loop properly and work out the loop indices. The main difficulties that I saw were forgetting that string multiplied by a number creates a longer string -- those I'm going to chalk up to forgetfulness rather than conceptual understanding problems.

Question 3: This one is a step up in difficulty level, but we went over this in class and I hope that it's less intimidating now. The way that I graded was this:

If your program did all the above and your loop has a correct range, then you start getting above the 50% mark. The rest of the points are given for correctness (like being able to generate the odd and even numbers correctly.) I did not pay too much attention (this time) to the print format.

Lab grading guidelines

For labs, we are going to be enforcing both correctness of the code as well as good programming practices. In other words, it is not enough for you to make a program that runs correctly.

In general, if your program does not compile (i.e. won't even start running), then you will receive no points for the program. If it runs properly, then you canexpect to have at least passed the lab -- i.e. to get at least 50% of the marks. Anything above and beyond that will require the following:

Since this is the first lab in which we're grading in this way, we have tried to be somewhat lenient, especially with comments. However, starting from this week's lab onwards, we will start enforcing these grading guidelines. You still have 2 more days to go back and fix your code, so do it!

By popular demand, here is an example of what we mean by good commenting and good variable names (walk.py). Note that not every programming statement needs to be commented, but between the combination of good variable naming and comments, it is fairly easy to figure out what the program is doing.