Skip to main content

Schedule overview

This overview shows the daily topics and most of the work due. Topic links will bring you to the appropriate day in the course schedule.

  Monday Wednesday Thursday Friday
Week 1 21 Jan
 
23 Jan
Getting started
24 Jan
 
25 Jan
Programming in the small with Java
Week 2 28 Jan
Getting started with Java development
Due: Quiz 1
30 Jan
 
31 Jan
 
Due: Assignment 1: Classical encryption
1 Feb
Objects and classes
Week 3 4 Feb
Unit testing and debugging
Due: Quiz 2
6 Feb
Object semantics
7 Feb
 
Due: Assignment 2: Speed reader
8 Feb
Interfaces and subtype polymorphism
Week 4 11 Feb
Parametric polymorphism
Due: Quiz 3
13 Feb
Pause for Breath
14 Feb
 
Due: Assignment 3: Explorations in object-oriented design
15 Feb
Inheritance
Week 5 18 Feb
List ADTs
Due: Quiz 4
20 Feb
Linear structures
21 Feb
 
Due: Assignment 4: Artificial Life
22 Feb
Array-based linear structures
Week 6 25 Feb
Iterators
Due: Quiz 5
27 Feb
Analyzing algorithms
28 Feb
 
1 Mar
Analyzing algorithms, continued
Week 7 4 Mar
Analyzing recursive algorithms
Due: Assignment 5: Blockchains
6 Mar
Anonymous functions
7 Mar
 
8 Mar
Searching
Week 8 11 Mar
Loop invariants
Due: Quiz 7
13 Mar
Sorting
14 Mar
 
Due: Exam 1: ADTs, Algorithms, and Object-Oriented Design
15 Mar
Merge sort
Spring Break
Week 9 1 Apr
Quicksort
3 Apr
Pause for breath
Due: Quiz 8
4 Apr
 
Due: Assignment 6: Complexity analysis
5 Apr
Pause for breath
Week 10 8 Apr
Array-based lists
Due: Quiz 9
10 Apr
Doubly-linked lists
11 Apr
 
Due: Makeup Exam 1: ADTs, Algorithms, and Object-Oriented Design
12 Apr
The Map ADT
Week 11 15 Apr
Trees and tree traversal
Due: Quiz 10
17 Apr
Binary search trees I
18 Apr
 
Due: Assignment 7: The sounds of sorting
19 Apr
Binary search trees II
Week 12 22 Apr
Hash tables
Due: Quiz 11
24 Apr
Probing in hash tables
25 Apr
 
Due: Assignment 8
26 Apr
Chaining in hash tables
Week 13 29 Apr
Priority queues, heaps, and heap sort
Due: Quiz 12
1 May
The Graph ADT
2 May
 
Due: Exam 2: Trees and other linked structures
3 May
Traversing graphs
Week 14 6 May
Minimum spanning trees
Due: Quiz 13
8 May
Shortest paths in graphs
9 May
 
Due: Assignment 9
10 May
Wrapup
Finals Week 13 May
 
15 May
 
16 May
 
17 May