Due Dates, Activities, and Grading

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.

Class Schedule

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.

Week

Topics

Notes and Exercises

Assignments

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

Study Tips for CS2102

The page on learning offers advice on how to study the material in this class, beyond merely doing the homeworks.