Week | Monday | Wednesday | Fridays |
Week 1 | 01/05/2004
Introduction, compiling vs. interpreting Reading: Pratt, 1.1, 1.2, 2.1.3 |
01/07/2004
Grammars Notes on parse trees Reading: Pratt, pp.24-25 (Syntax and Semantics), 3.1, 3.1.2, 3.2, 3.2.1, 3.3, 3.3.1 Homework 1 (due Jan 14, start of class) |
01/09/2004
Grammars and precedence and associativity , Syntax charts, attribute grammars Assignment statement grammar for C++/Java Some help for hw1 Reading: Pratt, 3.3.1 (continued), 4.2 (pp. 125-126), 4.2.1 |
Week 2 | 01/12/2004
Regular expressions, recursive descent parsing Reading: Pratt, p. 99, 3.4 |
01/14/2004
Languages using grammars Reading: Pratt, p. 102, Yacc documentation |
01/16/2004
Variables -- design criteria, aliasing Reading: Pratt, 1.3.1, 5.1.1, pp. 361-363, 388-389 |
Week 3 | 01/19/2004
Martin Luther King Day |
01/21/2004
Variables -- binding times, scope rules Reading: Pratt, 2.2.3, 9.2.2 |
01/23/2004
Variables -- types, type equivalence, subtypes Reading: Pratt, 5.1.2-5.1.4 |
Week 4 | 01/26/2004
Review for exam 1 |
01/28/2004
Exam 1 |
01/30/2004
Lisp -- introduction Reading: Successful Lisp" (a nice Lisp tutorial recommended by Prof. Holz) |
Week 5 | 02/02/2004
Storage allocation -- stack, heap, static, garbage collection Reading: Pratt, pp. 351-353 (Fig. 9.3), pp. 424-425 |
02/04/2004
Control structures -- design issues, syntax Reading: Pratt, Ch. 8.1, 8.2 |
02/06/2004
Control structures -- semantic questions, recursion Reading: Pratt, Ch. 8.3.3 |
Week 6 | 02/09/2004
Lisp, continued |
02/11/2004
Functions -- storage and scope issues Reading: Pratt, Ch. 9.1 |
02/13/2004
Parameter passing, stack and static implementations Reading: Pratt, Ch. 9.2, parts of 9.3 (actual and formal parameters; call-by-value, call-by-reference and how to implement them) |
Week 7 | 02/16/2004
Stack implementations (continued), Methods |
02/18/2004
Exception handling |
02/20/2004
Review for exam 2 |
Week 8 | 02/23/2004
Exam 2 Last day to withdraw |
02/25/2004
Logic programming -- Prolog Reading, Pratt, appendix A.11 |
02/27/2004
Prolog, continued |
Week 9 | 03/01/2004
Data abstraction |
03/03/2004
XML |
03/05/2004
Object-oriented programming |
Week 10 | 03/08/2004
Object-oriented programming, continued |
03/10/2004
Concurrency in programming languages |
03/12/2004
Review for final |
Week 11 | 03/15/2004 | 03/17/2004
Final exam, 11AM-12:50 PM |
03/19/2004 |