Homeworks will be due each week, usually on Tuesday night (11:00pm). Homeworks will cover material through Friday lecture, and will be posted each Wednesday. For some assignments, we may ask you to submit a small part of the assignment in advance (by Friday afternoon). Details will be on each individual assignment. For some assignments, you may also be asked complete a short survey in Canvas immediately after completing the assignment.
Exams will be given in-class (on paper) on Tuesday Nov 15th and Tuesday Dec 13th. There will be an online quiz about Java Programming, Program Design, and Data Structures during lab on Tues/Wednesday Dec 6th/7th.
Clickers will be used in class for a variety of activities. We don't count correctness of your clicker answers towards your grade, but we do track your responses, especially for students who seem to be struggling in the course.
Here is an overview of how grading works in the course.
Notes will be posted for every lecture. Single notes files often cover multiple lectures. Items marked "Bloch Reading" are optional for those who have the Bloch Java book--they are not required reading.
Extra practice problems are posted for some lectures. They are marked with the class day that the problems cover (M = Monday, T=Tuesday, etc). There are different kinds of problems: Programming problems ask you to write code; Code review problems ask you to critique sample code that another student might have written. Tracing Code has you show how expressions evaluate relative to the "map" of classes, objects, and names from the migration notes. Each style helps you practice the course concepts from a different angle, which research shows can help with learning.
October 25th - 28th
Classes, Objects, Methods, and Interfaces
Oct 31st - Nov 4th
Interfaces,
Abstract Classes,
Lists,
Variables
November 7th - 11th
Equality (M),
Design Review (M/T),
Planning (Th/F)
November 14th - 18th
Binary Search Trees (M),
Midterm (T),
AVL trees (Th),
Heaps
November 21st - 22nd
Generics,
Hashtables
No lab, no homework posted this week. Enjoy the break!
November 28th - December 2nd
Arrays,
Encapulation,
Access Modifiers,
Exceptions
December 5th - 9th
Exceptions,
Graphs
December 12th - 15th
Routes,
Wrap up,
Final Exam (Tues),
Final Exam Review
No labs this week
The page on learning offers advice on how to study the material in this class, beyond merely doing the homeworks.