Tentative Schedule for the Quarter
This schedule is subject to change as the quarter progresses (except for
the date and time for the final, which is fixed by the university). Also,
we won't change the date of the midterm unless there's some huge
Week 1: Overview; Java
Week 2: Java; programming language syntax
Week 3: programming language semantics
Week 4: imperative programming; memory management
Week 5: Scheme
Week 6: Scheme
Week 7: Haskell
Week 8: Haskell
Week 9: Pizza
Week 10: UrbanSim; CLP(R); wrapup
The detailed schedule will be filled in as the quarter unfolds.
- Week 1 (January 6-10)
Course overview; language families (Tucker Chapter 1). Java (Tucker
Chapter 7 and Appendix C), plus handouts.
- Week 2 (January 13-17)
- Java continued; start
of syntax. Remainder of Java overview Jan 13; Collections Jan 15. Testing
and JUnit Jan 17. Quick tour of syntax issues Jan 17 (Tucker Chapter 2).
- Week 3 (January 20-24)
- Holiday Jan 20. Semantics (Tucker Chapter 3 - just skim Section 3.4 on
- Week 4 (January 27-31)
- Imperative Languages (Tucker Chapter 4) - you're only responsible for
the topics listed on the slides for this chapter.
Memory Management (Tucker Chapter 5).
- Week 5 (February 3-7)
- Scheme (Tucker Chapter 7)
- Week 6 (February 10-14)
- More Scheme.
Midterm Feb 14. Closed book and notes. The midterm
will include all the 341 material up to (but not including) Scheme.
- Week 7 (February 17-21)
- Holiday Feb 17. Haskell (Tucker Chapter 7)
- Week 8 (February 24-28)
- Haskell (Tucker Chapter 7)
- Week 9 (March 3-7)
- March 3, 5: Pizza, a Java extension that supports parameterized types -
Andrei Alexandrescu, guest lecturer
March 7: Nathan Freier, guest lecturer (Information School PhD student;
formerly a CSE undergrad)
- Week 10 (March 10-14)
- UrbanSim (see www.urbansim.org);
CLP(R) (Tucker Chapter 9); wrapup
- Wednesday, Mar. 19, 2003, 8:30-10:20 am (in the usual classroom).
Review session Monday March 17, 5:00pm, in Sieg 322.