...
Note that future date schedules are only guidelines. Future homeworks and slides may contain materials from previous Comp 210 and Comp 212 classes. New material will be provided before the corresponding class. There will only be two exams in the course: one given on functional programming during week 7 and one on object-oriented programming given during in the last week of the course. Both are take-home exams. There is no final examination.
...
| Day | Date(2009) | Topic | Reading | Lectures | Problems | Due(2009) | Lab | Supplements |
---|---|---|---|---|---|---|---|---|---|
1 | Mon | Jan 11 | Introduction |
| W Jan 13 | ||||
2 | Wed | Jan 13 | Scheme primitives; function and data definitions | F Jan 22 |
|
| |||
3 | Fri | Jan 15 | Inductive data, conditionals, and the design recipe |
|
|
|
| ||
- | Mon | Jan 18 | School Holiday |
|
|
|
|
|
|
4 | Wed | Jan 20 | Data-directed design I |
|
|
| |||
5 | Fri | Jan 22 | Data-directed design II | Fri Jan 29 |
|
| |||
6 | Mon | Jan 25 | Mutually Referential Data Definitions |
|
|
| |||
7 | Wed | Jan 27 | Local definitions and Lexical Scope |
|
|
|
| ||
8 | Fri | Jan 29 | Functions as Values | Fri Feb 5 |
|
| |||
9 | Mon | Feb 01 | Functional Abstraction and Polymorphism |
|
|
| |||
10 | Wed | Feb 03 | Lambda the Ultimate |
|
|
|
| ||
11 | Fri | Feb 05 | Generative Recursion | Fri Feb 15 |
|
| |||
12 | Mon | Feb 08 | Generative Recursion Illustrated |
|
|
| |||
13 | Wed | Feb 10 | Complexity and Accumulators |
|
|
|
| ||
14 | Fri | Feb 12 | Accumulators and Tail Calls | Fri Feb 19 |
|
| |||
15 | Mon | Feb 15 | Clever Programming With Functions | Review prior readings |
|
| 210 Exam 1|CSWIKI:211^exam-1.pdf||\ | ||
16 | Wed | Feb 17 | Vectors and Iteration | Review prior readings |
|
|
|
| |
17 | Fri | Feb 19 | Exam Review | Review prior readings | HW 6 (optional) | Fri Feb 26 |
|
| |
18 | Mon | Feb 22 | On to Java | OO Design Notes Ch 1.1-1.4 |
|
| |||
19 | Wed | Feb 24 | Java Design Recipe | OO Design Notes Ch 1.1-1.4 |
|
|
|
| |
20 | Fri | Feb 26 | Defining Inductive Data in Java | OO Design Notes Ch 1.5 |
|
| IntList.dj0|CSWIKI:211^IntList.dj0||\ | ||
- | M-F | Mar 01-05 | Spring Break |
|
|
|
|
|
|
21 | Mon | Mar 08 | Static Class Members and the Singleton Pattern | OO Design Notes Ch 1.6 |
|
| |||
22 | Wed | Mar 10 | Polymorphism and Interfaces | OO Design Notes Ch 1.8 |
|
|
| ||
23 | Fri | Mar 12 | Handling Exceptions and Errors | OO Design Notes Ch 1.9-1.10, 1.12 | Fri Mar 13 |
|
| ||
24 | Mon | Mar 15 | The Strategy and Visitor Patterns | OO Design Notes Ch 1.9, 1.11 | L 24|CSWIKI:211^24.pdf||\ |
|
| ||
25 | Wed | Mar 17 | Visitors, Visitors, Vistors ... | OO Design Notes Ch 1.11L 25|CSWIKI:211^25.pdf||\ |
|
|
|
| |
26 | Fri | Mar 19 | Full Java, Arrays, Mutation | OO Design Notes Ch 1.13 | L 26|CSWIKI:211^26-v2.pdf||\ | Wed Mar 31 |
| ||
27 | Mon | Mar 22 | Visibility, Type-Checking, and Generics | OO Design Notes Ch. 1.10, 1.13L 27|CSWIKI:211^27.pdf||\ |
|
| |||
28 | Wed | Mar 24 | Generics with Discretion |
| L 28|CSWIKI:211^28.pdf||\ |
|
|
|
|
29 | Fri | Mar 26 | Mutation and Bi-Directional Linked Lists | OO Design Notes Ch 1.13 | L 29|CSWIKI:211^29.pdf||\ |
|
|
|
|
30 | Mon | Mar 29 | Graphical User Interfaces | OO Design Notes Ch 3 | L 30|CSWIKI:211^30.pdf||\ |
|
|
| |
31 | Wed | Mar 31 | Anonymous Inner Classes and Task Decomposition | OO Design Notes Ch 2.1 | L 31|CSWIKI:211^31-v3.pdf||\ |
|
| ||
- | Fri | Apr 2 | School Holiday |
|
|
|
|
|
|
32 | Mon | Apr 5 | Mutable Trees | OO Design Notes Ch 2.1 | L 32|CSWIKI:211^32.pdf||\ |
|
| TreeMap.java | |
33 | Wed | Apr 7 | Review: Confronting the Reality of Full Java |
|
|
|
|
| |
34 | Fri | Apr 9 | QuickSort Revisited |
|
|
| FunctionalQuicksort.java | ||
35 | Mon | Apr 12 | Graphical User Interfaces II | OO Design Notes |
|
|
| ||
36 | Wed | Apr 14 | OO Sorting Algorithms |
|
|
|
| Design Patterns for Sorting.pptx | |
37 | Fri | Apr 16 | Fast Searching with Balanced Trees |
|
|
| Red-Black Trees|CSWIKI:211^Okasaki-Red-Black.pdf||\ | ||
38 | Mon | Apr 19 | Fast Searching and Memoization |
|
|
| |||
39 | Wed | Apr 21 | Parallel Programming Tradeoffs |
|
|
|
|
| |
40 | Fri | Apr 23 | Exam II Review |
|
|
|
|
...