Week # (+milestone) | Monday | Wednesday | Friday |
1 (Assignment 1 due) | September 29: 31: Welcome and introduction. | October 1: LISP history, interaction with Lisp, functions, symbols, evaluation | October 3: List structure |
2 (Assignment 2 due) | October 6: Recursive functions on lists | October 8: Turing completeness | October 10: Full-strength applications in Lisp |
3 (Assignment 3 due) | October 13: Scope and Extent, LET, LET*, packages and interning | October 15: Macros and embedded languages | October 17: Explicit application and evaluation, Lambda calculus |
4 (Assignment 3 due) | October 20: Closures and functional programming | October 22: Lambda calculus | October 24: Introduction to ML |
5 | October 27: Midterm 1 | October 29: More ML (Guest lecturer: Prof Dan Grossman) | October 31: Lazy evaluation (Guest lecturer: Prof David Wise) |
6 (Assignment 4 due) | November 3: ML functional programming, patterns, datatypes, type system, type inference | November 5: ML polymorphism, Retrospective comments on functional programming in Lisp and ML; also: Syntax, BNF, EBNF | November 7: PERL: introduction, examples of text processing, scalars |
7 (Assignment 5 due; project plans due) | November 10: Regular expressions | November 12: CGI Processing in Perl | November 14: Arrays, slices, list/scalar contexts, references |
8 (Assignment 6 due) | November 17: Visual Languages 1 | November 19: Midterm 2 | November 21: Visual Languages 2 |
9 | November 24: Logic programming theory: 1. Predicate logic, and clause form. | November 26: Logic programming theory: 2. Unification | November 28: Thanksgiving Holiday (NO CLASS). |
10 | December 1: Prolog examples | December 3: Prolog execution, cut, negation | December 5: Ethical issues in computing and their relation to programming languages |
11 (Project presentations) | December 8: Project peer evaluations | December 10:
Review for final examination
Last day of class |
December 12: no scheduled class meeting |
12 (Final Exam) | December 17 (WEDNESDAY): FINAL EXAMINATION 8:30-10:20 |