CS 3120 Winter 2005 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/03/2005 
Introduction, compiling vs. interpreting
Reading: Pratt, 1.1, 1.2, 2.1.3
01/05/2005 
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:Homework 1 (due Jan 12 10:30am by hardcopy in class)
01/07/2005 
Grammars and precedence and associativity ,
Syntax charts,
attribute grammars
Assignment statement grammar for C++/Java
Reading: Pratt, 3.3.1 (continued), 4.2 (pp. 125-126), 4.2.1
Week 2 01/10/2005 
Regular expressions, recursive descent parsing
Reading: Pratt, p. 99, 3.4
01/12/2005 
Languages using grammars
Reading: Pratt, p. 102, Yacc documentation
01/14/2005 
Variables -- design criteria, aliasing
Reading: Pratt, 1.3.1, 5.1.1, pp. 361-363, 388-389
Week 3 01/17/2005 
Martin Luther King Day
01/19/2005 
Variables -- binding times, scope rules
Reading: Pratt, 2.2.3, 9.2.2
01/21/2005 
Variables -- types, type equivalence, subtypes
Reading: Pratt, 5.1.2-5.1.4
Week 4 01/24/2005 
Review for exam 1
01/26/2005 
Exam 1
01/28/2005 
Lisp -- introduction
Reading: Successful Lisp (a nice Lisp tutorial recommended by Prof. Holz)
Week 5 01/31/2005 
Storage allocation -- stack, heap, static, garbage collection
Reading: Pratt, 10.1-10.3
02/02/2005 
Control structures -- design issues, syntax
Reading: Pratt, 8.1-8.3.2
02/04/2005 
Control structures -- semantic questions, recursion
Week 6 02/07/2005 
Lisp, continued
02/09/2005 
Functions -- storage and scope issues
Reading: Pratt, 9.2
02/11/2005 
Parameter passing, stack and static implementations
Reading: Pratt, 9.3
Week 7 02/14/2005 
Stack implementations (continued), Methods
Reading: Pratt, 9.1
02/16/2005 
Exception handling
Reading: Pratt, 11.1.1
02/18/2005 
Review for exam 2
Week 8 02/21/2005 
Exam 2

Last day to withdraw

02/23/2005 
Logic programming -- Prolog
Reading: Pratt, 8.4
Reading: Learn Prolog Now -- a fairly gentle introduction
02/25/2005  
Prolog, continued
Week 9 02/28/2005 
Data abstraction
Reading: Pratt, 7.1, 7.3
03/02/2005 
XML
Reading: Pratt, 12.2.4
03/04/2005 
Reading: Pratt, 7.2
Object-oriented programming
Week 10 03/07/2005 
Object-oriented programming, continued
03/09/2005 
Concurrency in programming languages
Reading: Pratt, 11.2
03/11/2005 
Review for final  
Week 11 03/14/2005 
Final exam, 9AM-10:50AM
03/16/2005  03/18/2005