CSE 341 -- Winter 2003

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 problem.

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

Details

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 axiomatic semantics).

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

Final
Wednesday, Mar. 19, 2003, 8:30-10:20 am (in the usual classroom).
Review session Monday March 17, 5:00pm, in Sieg 322.