| Date | Assignment | Reading | Subject |
|---|---|---|---|
| Sep 02 | timeline | Introduction, languages & paradigms, Eclipse, homework, history | |
| Sep 07 | HW1 | HtDP2e chap. 1 | Scheme: history & philosophy; typed data; defining variables & functions, conditionals |
| Sep 09 | HtDP2e chap. 2 | Scheme: type-checking, structures | |
| Sep 14 | HW1 due; HW2 | Help with homework; structures | |
| Sep 15 | Last day to add classes | ||
| Sep 16 | DrScheme Help Desk | Scheme: inheritance, define-type, type-case | |
| Sep 21 | HtDP2e chap. 4 | Scheme: lists, trees, and recursion thereon | |
| Sep 23 | Project 1 | PLAI chaps. 0-3 | Concrete and abstract syntax; compiling and interpreting |
| Sep 26 | HW1 rewrite due | ||
| Sep 28 | HW2 due; HW3 | PP chaps. 27-28 | Scheme: local definitions, higher-order functions, lambda |
| Sep 30 | Last day to drop classes, change grading option, switch sections, add independent study | ||
| Sep 30 | PP
chaps. 27-28; notes, Scheme examples |
Scheme: local definitions, higher-order functions, lambda | |
| Oct 05 | PP
chaps. 29-30; notes, Scheme examples |
Scheme: I/O, mutation, sequential programming | |
| Oct 07 | HW4 | C++: history & philosophy; type-safety, garbage-collection, run-time polymorphism |
|
| Oct 12 | Discuss HW3 and Project 1 | ||
| Oct 14 | HW3 due | Wisconsin Lesson 1 | Discuss HW3 and Project 1; using a C++ compiler, types & operators, declarations, I/O, control structures, functions, parameter passing |
| Oct 19 | Project 1 due; Project 2 | PLAI chaps. 12-14 | Interpreting an imperative language; Project 2 |
| Oct 21 | Moving from
Java to C++; Wisconsin Lesson 2 |
C++: more on control structures, functions, parameter passing; pointers, references, memory management | |
| Oct 26 | HW5 | Moving from Java to C++ | C++: arrays, vectors, and strings |
| Oct 28 | HW4 due | Moving from
Java to C++; Wisconsin Lesson 3 |
C++: classes, data members, member functions, constructors, header files, separate compilation |
| Nov 02 | HW6 | Moving from
Java to C++; Wisconsin Lesson 4 |
C++: copy constructors, destructors, assignment operators, inheritance and polymorphism |
| Nov 03 | Last day to withdraw from classes | ||
| Nov 04 | Wisconsin Lesson 5 | C++: operator overloading, catch up and review | |
| Nov 09 | HW7 | Adventure in Prolog chaps. 1-7 (which nobody had even started reading) | Prolog: history & philosophy; variables & predicates; arithmetic; defining rules |
| Nov 11 | Project 2 due | Adventure in Prolog chaps. 1-5 | Prolog in practice: using SWI Prolog |
| Nov 16 | HW5 due | Adventure chaps. 6-7 | Prolog: arithmetic and "assert" |
| Nov 18 | HW7 due; HW8 | Adventure chaps. 8-9 | Prolog: recursion and data structures |
| Nov 23 | HW6 due | Adventure chaps. 10-11 | Prolog: unification and lists |
| Nov 25 | Thanksgiving: no classes | ||
| Nov 30 | Adventure chaps. 13-15 | Prolog: cut, programming tricks, difference lists | |
| Dec 02 | Prolog: catch up and review | ||
| Dec 07 | language presentations | ||
| Dec 09 | HW8 due | language presentations | |
| Dec 14 | make-up day | ||
| Dec 21 | 270 final exam, 1:00-3:00 PM | ||