Lectures, Exams, and Assignments, Fall 2003 | |||
Week | Dates | Topic | Recitation / Exam |
1 | Aug 25, 27, 29 | Intro, course organization.
Programming language(PL) overview. Syntax versus semantics. Run-time versus compile-time. Compiler overview. Translation versus interpretation. |
No goto |
2 | Sep 3, 5
(Sept 1: Labor day) |
Lexical analysis, finite state machines | Lexical Analysis and FSMs |
3 | Sep 8, 10, 12 | Formal description of PLs.
Grammars (context-free grammars). |
Formal Grammars |
4 | Sep 15, 17, 19 | Grammars con't. Flow diagrams.
Parsing and ambiguity. |
Shift reduce parsing |
5 | Sep 22, 24, 26 | More on parsing |
Tiny Compiler 1: Recursive descent parsing |
6 | Sep 29, Oct 1, 3 | Formal semantics |
Tiny Compiler 2: Initial translator |
7 | Oct 6, 8, 10 | Arrays and pointers in C/C++/Java |
Tiny Compiler 3: while and if-then-else |
8 | Oct 13, 15, 17 | Functions and parameters Run-time storage allocation |
Functions
and Arrays Runtime storage |
9 | Oct 20, 22, 24 (Oct 24: Last drop) |
Review | C/C++/Java 2:
Classes Midterm Exam (review, answers) |
10 | Oct 27, 29, 31 | structs and classes | C++/Java: Generic Constructs |
11 | Nov 3, 5, 7 | Genericity, start Lisp | Lisp Rec 1: Basics and Functions |
12 | Nov 10, 12, 14 | Lisp, then Prolog | Lisp Rec 2: Functions and mapcar |
13 | Nov 17, 19, 21 | Postscript | Postscript
Rec 1: Basics |
14 | Nov 24, 26 (Nov 27: Thanksg.) |
Leeway | Postscript
Rec 2: Business Card |
15 | Dec 1, 3 (Dec 4, 5: Study) |
Leeway. | Prolog Recitation |
Dec 8 (Mon) | Final Exam ( review) |
Late Penalties: A policy about late recitations will be formulated early in the semester.
No Team Programming: Recitations are to be done individually. You are allowed to help one another, but you must not just give code to another student, nor may you receive such code.
Details about Exams: Exams appear in green in the table above.