The class grade will be based on the, almost weekly, individual programming homeworks. Each one of the N homeworks will be worth 1/N of your final grade.
There will also be several challenge rounds. These will be one-on-one meetings in my office where you will answer questions about the homework you submitted and the material it covered. The goal is simply to ascertain whether or not you did the homework. So the questions will be easy, if you did the homework, but impossible otherwise. If you answer correctly then you get to keep the grade you earned in the homework. Incorrect answers will result in severe penalties, up to and including failing the class.
I will post in this blog the names of the students whose turn it is to take the challenge and the date. I expect each student will answer three challenges in the semester.
Grading Rubric for Programs
Trait | Exceptional | Acceptable | Amateur | Unsatisfactory |
---|---|---|---|---|
Specifications | The program works and meets all of the specifications. | The program works and produces the correct results and displays them correctly. It also meets most of the other specifications. | The program produces some correct results but fails at others. | The program is producing incorrect results. |
Readability | The code is exceptionally well organized and very easy to follow. | The code is fairly easy to read. | The code is readable only by someone who knows what it is supposed to be doing. | The code is poorly organized and very difficult to read. |
Reusability | The code could be reused as a whole or each routine could be reused. | Most of the code could be reused in other programs. | Some parts of the code could be reused in other programs. | The code is not organized for reusability. |
Documentation | The documentation is well written and clearly explains what the code is accomplishing and how. | The documentation consists of embedded comment and some simple header documentation that is somewhat useful in understanding the code. | The documentation is simply comments embedded in the code with some simple header comments separating routines. | The documentation is simply comments embedded in the code and does not help the reader understand the code. |
Delivery | The program was delivered on time. | The program was delivered within a week of the due date. | The code was within 2 weeks of the due date. | The code was more than 2 weeks overdue. |
Efficiency | The code is extremely efficient without sacrificing readability and understanding. | The code is fairly efficient without sacrificing readability and understanding. | The code is brute force and unnecessarily long. | The code is huge and appears to be patched together. |
The grade for each each program will mostly (80%) consist of meeting the specifications and the rest will be divided roughly evenly between readability, reusability, documentation, and efficiency. If a homework is late by less than 1 hour it will get 5% off, if less than 1 week then the penalty is 30% off, if less than 2 weeks its 50% off, if more than 2 weeks then it gets 0.
No comments:
Post a Comment