We expect to spend roughly two weeks per language (Miranda, Java,
Smalltalk, and Scheme), followed by additional material on comparative
programming languages and other topics. If time allows, we will also have
some discussion of perl and of CLP(R).
Tentative Schedule for the Quarter
This schedule is subject to change as the quarter progresses -- however,
the dates of the midterm and final won't change.
Week 1: Miranda
Week 2: Miranda
Week 3: Java
Week 4: Java
Week 5: Smalltalk
Week 6: Smalltalk
Week 7: types in object-oriented languages; other concepts
Week 8: types in object-oriented languages; scheme
Week 9: Scheme; general concepts; CLP(R)
Week 10: perl
Final: Thursday, June 13, 8:30am - 10:20am
Details
- Week 1 (April 1-5)
-
Course overview; language families. Miranda intro; defining and using
functions; higher-order functions; infinite data structures.
Reading: Miranda overview (handed out in class and also
linked from the class web page). Use the Miranda text as a supplement as
needed.
- Week 2 (April 8-12)
- Miranda continued. Polymorphic types; user-defined types; abstract
types. Discussion of Miranda project.
- Week 3 (April 15-19)
- Java
- Week 4 (April 22-26)
- Java.
Optional class April 26, due to College of Engineering open house.
- Week 5 (April 29-May 3)
- Smalltalk
- Week 6 (May 6-10)
- Smalltalk. Midterm
May 10 (will cover Miranda and Java). Closed book and notes.
- Week 7 (May 13-17)
- Design patterns in OO languages; polymorphic types in OO languages.
- Week 8 (May 20-24)
- polymorphic types in OO languages May 20; Scheme May 22-24
- Week 9 (May 27-31)
- Holiday May 27. Scheme, general concepts May 29; CLP(R) May 31
- Week 10 (June 3-7)
- perl June 3-5; wrapup and evaluating programming languages June 7