CS 541 units -*- Outline -*- * Introductory ** introduction what the course is about used in '91 and '92, and '96-97 in '93 and '94 was replaced by student discussion and presentations in '95 student presentations were spread out throughout the semester ** object-oriented *** smalltalk used in '90-92 and '94-97 *** object-oriented-design larger design issues, pragmatics used in '93-97 *** multi-methods an interesting research topic used in '95, '97 *** java used in Fall '97 ** Functional might also want lambda calculus or type checking here *** haskell as intro to functional programming includes concrete data used in '96-97 *** functional-advanced functional programming techniques not covered above: streams and lazy data structures, reasoning used in '92-'95, and '97 ** declarative overview of various forms of declarative languages, used in '90-'92 *** lambda-prolog used in '93 and '94-95, and '97 ** Dynamic semantics used in '90-92 and '94-95 *** operational-semantics relation to compilers, rewrite rules, terminal transition systems used in '90-92 only as a homework in '93 extensively augmented and used in '94-95, '97 * review * course-evaluations