Week # (+section meeting milestone) | Monday | Wednesday | Friday |
1 (Assignment 1 due) | March 31: Welcome and introduction. | April 2:LISP history, interaction with Lisp | April 4:Lisp: more basic interaction, functions, symbols, evaluation |
2 (Assignment 2 due) | April 7:Programming skills | April 9:List structure, recursive functions on lists | April 11:Scope and Extent, LET, LET*, packages and interning |
3 (Assignment 3 due). Optional Java sessions (see below). | April 14:Macros and embedded languages | April 16:Explicit application and evaluation | April 18:Closures and functional programming |
4 | April 21:Midterm 1 | April 23:Full-strength applications in Lisp | April 25:Lazy evaluation, Syntax, BNF, EBNF |
5 (Assignment 4 due) | April 28:Types, type inference, polymorphism | April 30:Introduction to ML | May 2:More on ML -- pattern matching, functional programming |
6 (Assignment 5 due; project plans due) | May 5:ML's type system | May 7:Project ideas | May 9:Logic programming examples |
7 | May 12:Logic programming theory: 1. Predicate logic, and clause form. | May 14:Midterm 2 | May 16:Logic programming theory: 2. Unification |
8 | May 19:Prolog examples (Meet in MGH 030) | May 21:PERL: introduction, examples of text processing, scalars | May 23:Arrays, slices, list/scalar contexts, references |
9 | May 26: Memorial Day holiday (NO CLASS). | May 28:Regular expressions, CGI Scripting (Meet in Collaboratory 2 in the Odegaard Undergraduate Library). | May 30: Visual Languages |
10 (Project presentations) | June 2:Ethical issues in computing and their relation to programming languages | June 4:Project "pre-demonstrations" Meet in Collaboratory 2 in the Odegaard Undergraduate Library. Peer and instructor evaluations of demos will take place during sections on Thursday, in the following rooms: Section AA at 8:30 MGH 030; Section AB at 9:30 in OUGL Collaboratory 2. If your team has members in both sections, the team should go to the 8:30 section first and try to demo at the end of that period, but be prepared to demo in the second period if we run out of time during the first section. | June
6:Review for final examination
Last day of class |
11 | June 12 (THURSDAY): FINAL EXAMINATION 8:30-10:20 |