7 Grading
What are grades for? Our philosophy is that grades are a way of giving you motivation to learn and improve, not a way of separating people into categories. You should get a grade according to what you have learned, and you should be exposed to various ways of learning and have multiple opportunities to show what you have learned.
Keep up with the work and don’t fall behind (by assigning penalties for late work)
Come to class prepared to engage in learning and discussion (by having an in-class quiz)
Have done your "reading" (watching in this class) so that you to understand basic concepts (by having video lectures, and implementation follow-along assignments)
Have a chance to internalize and extrapolate on what you have learned (by having extension and other programming assignments)
We will work with you to ensure that you have the opportunity to get the grade you feel you deserve, by showing us that you have learned the material and engaged in learning.
However, we also understand that sometimes things come up, and you don’t have time in the week for all of your classes. As such we have a buffer built into the grading system.
There are twenty-four quiz assignments designed to ensure you come to class prepared, and refresh in your mind older concepts, worth 1 point each.
There are seventeen implementation assignments designed to illustrate a different aspect of programming language implementation, worth 1 point each.
There are eight extension assignments designed to give you practice adding new language features and refactoring the interpreter, worth 6 point each.
There are three programming assignments designed to teach you about functional programming design patterns worth 3 points each.
There are another six programming assignments designed to expose you to new languages and programming approaches worth 2 points each.
There are two survey assignments designed to help me know where you’re coming from and what your experience is, worth 2 point each.
You must ace every other assignment for this strategy to net an A.
Simply ignoring a foundational assignment will make it more difficult to ace the later assignments, by virtue of later material relying on it.
Assignments earn half credit after the due date. It doesn’t matter how late old assignments are turned, in they will be worth the same number of points at any point after the due date As such, it is more worth your time to turn in the next assignments for full credit, before attempting to catch up on old assignments. . Turn in incomplete assignments before the due date to get some credit at the full-credit rating. Though still strive to make sure that it at least compiles.
I reserve the right to adjust the late penalty down (so that you are not penalized as much) for the class as a whole and for individual students as their situations warrant. I will strive to set and apply penalties as fairly as possible.