Week # (+section meeting milestone) | Monday | Wednesday | Friday |
1 | Sept 30: Welcome and introduction. | Oct 2:Scheme (and Lisp) history, interaction with Scheme | Oct 4:Scheme: more basic interaction, procedures, symbols, evaluation |
2 (Assignment 1 due) | Oct 7:Programming skills | Oct 9:List structure, recursive procedures on lists | Oct 11:Scope and Extent, LET, LET*, LETREC |
3 | Oct 14:Explicit application of procedures | Oct 16:Macros and embedded languages | Oct 18:Scheme quiz |
4 (Assignment 2 due) | Oct 21:Macros (continued; see Oct 16 slides) | Oct 23:Closures and evaluation (see Oct 14 slides) | Oct 25:Functional Programming, Lazy Evaluation, Polymorphism |
5 | Oct 28:Syntax, BNF, EBNF, types, type inference, polymorphism | Oct 30:Introduction to ML | Nov 1:More on ML -- pattern matching, functional programming |
6 (Assignment 3 due) | Nov 4:ML's type system | Nov 6:More about the ML Type System | Nov 8:JAVA: introduction |
7 (Special session on Friday, Nov 15 at 3:30. Project plans due Monday, Nov. 18) | Nov 11: Veterans' Day (NO CLASS) | Nov 13:Classes, interfaces and inheritance in Java | Nov 15:Java AWT, 1.1 event model, adapters |
8 (Assignment 4 due) | Nov 18:Java threads + brief review | Nov 20:Logic programming introduction; review for Quiz 2 | Nov 22:Logic programming theory |
9 | Nov 25:PERL: introduction, examples of text processing, scalars | Nov 27:Arrays, slices, list/scalar contexts, references | Nov 29: Thanksgiving Day holiday (NO CLASS). |
10 (Project presentations) | Dec 2:Regular expressions | Dec 4:Visual Languages | Dec 6:Review for final examination |
11 | Dec 9: Project peer evaluations. Meet in MGH 030 and be prepared to demo your project there. | Dec
11: Ethical issues in computing and their relation to programming languages
Last day of class |
Dec 13: FINAL EXAMINATION 8:30-10:20 |