|
Date
|
Topic
|
Readings
|
Lab
|
Assignment due
|
Other
|
| M |
Aug 24 |
QUIZ, syllabus, basic vocabulary, course goals, notional machines |
Design Recipe, Data Definitions, Notional machines, Types |
|
|
|
| W |
26 |
basic elements of Java, types |
|
|
|
|
| F |
28 |
test cases, design recipe |
|
Lab 1
|
|
|
| M |
31 |
bindings and notional machines |
Scope, Notional machines, Linked Lists |
|
A1 (English Text) due
|
|
| W |
Sep 2 |
records |
|
|
|
|
| F |
4 |
linked lists |
|
Lab 2 (tba) |
|
|
| M |
7 |
functions on linked lists, linked list template |
Linked list template, Notional machines with Recursion, Types for node classes |
|
A2 (Warmup) due
|
|
| W |
9 |
a |
|
|
|
|
| F |
11 |
a |
|
Lab 3 (tba) |
|
|
| M |
14 |
a |
Mutable data structures: Arrays (fixed-length) Dynamic allocation & Garbage collection |
|
|
|
| W |
16 |
a |
|
|
|
|
| F |
18 |
a |
|
Lab 4 (tba) |
|
|
| M |
21 |
a |
Stacks, Queues, ADTs |
|
|
|
| W |
23 |
a |
|
|
|
|
| F |
25 |
a |
|
Lab 5 (tba) |
|
|
| M |
28 |
a |
Object-oriented Programming: methods vs. functions. Adding new forms of data vs adding new functionality |
|
A4 (VEBG4) due
|
|
| W |
30 |
a |
|
|
|
|
| F |
Oct 2 |
a |
|
Lab 6 (tba) |
|
|
| M |
5 |
a |
Notional machines & Complexity, Insertion sort |
|
|
|
| T |
6 |
a |
|
|
A5 (VEBG5) due
|
|
| W |
7 |
a |
|
|
|
|
| F |
9 |
|
|
|
|
|
| M |
12 |
a |
Priority queues |
Lab 6 (tba) |
|
|
| W |
14 |
Midterm |
|
|
A6 (VEBG6) due
|
|
| F |
16 |
a |
|
|
|
|
| M |
19 |
a |
Binary trees, Binary tree template, Types for node classes |
|
|
|
| W |
21 |
QUIZ, a |
|
|
|
|
| F |
23 |
a |
|
|
A7 (VEBG7) due
|
|
| M |
26 |
a |
Binary Search Trees, complexity |
|
|
|
| W |
28 |
a |
|
|
|
|
| F |
30 |
a |
|
|
A8 due
|
|
| M |
Nov 2 |
a |
Sorting on both Linked lists and Arrays, generative recursion |
|
|
|
| W |
4 |
a |
|
|
|
|
| F |
6 |
a |
|
|
|
|
| M |
9 |
a |
Red-black trees or other Balanced tree, Complexity |
|
|
|
| W |
11 |
a |
|
|
|
|
| F |
13 |
a |
|
|
|
|
| M |
16 |
a |
Object-oriented programming: inheritance, subtyping |
|
|
|
| W |
18 |
a |
|
|
|
|
| F |
20 |
a |
|
|
|
|
| M |
23 |
a |
Functions as Values, Scoping, Problem Decomposition |
|
|
|
| W |
25 |
a |
|
|
|
|
| F |
27 |
a |
|
|
|
|
| M |
30 |
a |
Large Programs |
|
|
|
| W |
Dec 2 |
a |
|
|
|
|
| F |
4 |
a |
|
|
|
|