reset password
Author Message
rabbott
Posts: 1649
Posted 19:39 Oct 03, 2017 |

The extra credit portions of projects have no time limit. (I understand that some people think there is a time limit.) An extra credit solution is worth the same amount no matter when it's completed. 

I hesitate to say that because in the past students with no set time limit put things off 'til the end of the term. To minimize the temptation to do that my policy will be not to make any special arrangements to hear extra credit presentations. In addition, extra credit presentations will have lower priority to presentations of the main part of any project. If time runs out and you have not done your extra credit presentation, you will get no credit for it.

--------------------------------------------------

I have asked additional people to hear presentations. We will be able to do multiple presentations in parallel. In addition, there may be additional presentation times.

I hope that we can get all the Project 2 presentations done by the end of this week. To make that more likely, we will prioritize the main Project 2 presentations over the extra credit portion. People without full credit for the main portion of Project 2 move ahead in the line of people wanting to present the extra credit portion. In addition, since most people's Part I version of the Luhn algorithm were so similar to the part 2 portion you need only present the Part 2 portion.

--------------------------------------------------

I'm still seeing poorly written function comments. For example, for   isValid n = checkSum m `mod` 10 == 0, I've seen comments that say something like: isValid calls the checkSum function and returns True or False depending on whether the result is equal to 0 mod 10.

This is a bad comment for at least two reasons. For one thing it does nothing by restate the code. That's no help at all. The code is clear enough. More importantly this comment doesn't tell me what a call to isValid accomplishes, i.e., why someone would want to call it and what it would do for you if you did call it. When writing a comment imagine the function is part of a library and that the code is not visible. Explain what the function accomplishes for the caller, not how the function is implemented. In this case you might write something like: isValid returns True or False depending on whether its argument satisfies the Luhn algorithm test. 

Is this sufficient? Do you have to explain what the Luhn algorithm test is? That's a matter of taste. In this case I will want you to be able to tell me what the Luhn algorithm test is and show me with an example. I won't insist that you write it down--although doing so is certainly not bad. Some algorithms are sufficiently complex that explaining them in the comment to a function that implements them is not feasible. In that case it's a good idea to include a link to an explanation, e.g., in Wikipedia.

Regarding English, I know that many (perhaps most) people in this class are not native English speakers. I am not insisting on perfect English. What I care about is correctness and clarity. What you say must be correct -- even if awkwardly stated. It must also be conceptually clear -- even if your syntax is not perfect.

If your comments do not satisfy the description above -- explain what the function accomplishes for the caller, say it is correctly, and say it clearly -- you will be asked to rewrite them and sign up again.

Last edited by rabbott at 19:44 Oct 03, 2017.