CS 342 units -*- Outline -*- * introduction motivation for the course * basics basic concepts, tools for writing symbolic programs (EOPL 1) * induction-recursion induction and recursion in programming (EOPL 2.1-2.2) * programming-help ideas to help make writing programs go faster * scope scope, lambda calculus, lexical addresses (EOPL 2.3) * syntax-abstraction syntactic sugars, more of Scheme (EOPL 3.1-3) * data-abstraction records, data abstraction, abstract syntax, procedural representation of data (EOPL 3.4-5) * reduction-rules reduction rules for the lambda calculus (EOPL 4.1-2) (skipping all of this in Spring 1996) (skipping 4.3-4) * imperatives sequencing, I/O, mutation, assignment (EOPL 4.5-6) (skipping 4.7) * interpreters basics of interpreters, local bindings, closures, assignment, recursion, dynamic scope and dynamic assignment (EOPL 5) * parameters arrays, call by reference, call by value-result, call by result, languages with impoverished expressed values, call by name, call by need, optional and keyword arguments (EOPL 6) * object-oriented class and objects, inheritance, meta-classes (EOPL 7) * summary-review summary of course, course evaluations