CS 3120 Winter 2004 Schedule (the material we cover is pretty much set, but the dates might change) All days in red are mandatory. Days in green are holidays

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