Work in this class will include readings from the textbook and from additional sources I provide, weekly programming assignments, three one-hour exams, and in-class activities including collaborative exercises and written quizzes.
The total course load is intended to be 12 hours per week (including class time); the load should be spread evenly across the semester.
Grading: Final grades are primarily determined by the three exams (45%), the final (20%) and the written quizzes (35%). There will be at least one quiz per week. Unusually good (or bad) homeworks and class participation can affect your final grade by up to a full letter.
Exams: The three exams are scheduled for February 26, March 19 and April 16. The final is scheduled for exam slot 8.
There will be no makeup exams for any reason. If you miss one exam for an extremely legitimate reason, your final grade will be based on the other two exams. If you miss an exam without a legitimate reason, you will receive a zero. If you miss two exams for any reason, or the final, you cannot pass the class.
Assignments: The weekly programming assignments are designed to give you an opportunity to apply and practice the material we cover in lecture. You will derive the greatest benefit from these assignments if you work on them alone and resist the temptation to get complete answers from other students, the TAs, or me.
Consulting with other students and even working in groups is acceptable, with the following strong warnings:
In some ways, this class is like a cruise ship. If you stay on board, it can be quite pleasant. But if you fall overboard, you have to yell for help immediately, while we can still send back a lifeboat. Once the ship is out of earshot, you're in big trouble.