MIME-Version: 1.0 Server: CERN/3.0 Date: Monday, 16-Dec-96 23:10:32 GMT Content-Type: text/html Content-Length: 1423 Last-Modified: Thursday, 18-Apr-96 15:56:34 GMT
Topics on prelim 2: I. Object-oriented programming + Base classes and derived classes + Inheritence - Functions - Instance variables + Protected keyword + Constructors for derived classes + Virtual functions + Pure virtual functions II. Program correctness + Induction + Assertions + Truth vs. validity + Hoare triples + Preconditions and postconditions + The assignment rule + Loops - Loop invariants - Bound functions - 5 steps to proving a loop correct - Developing a loop using an invariant * You need to understand, but not memorize, the lists of step for these last two III. Gofer + Types - Int, Char, Bool, Float - Tuples - Lists - Functions + Function definitions - Basic pattern matching (integers) - Pattern matching with lists and tuples + Where clauses + Polymorphic types (a, [a], etc.) - e.g. what is the type of map? + Currying and partial application + The Curry-Howard isomorphism - Just kidding! - Did you know that Currying was actually invented by Schonfinkel? - So it should be called Schonfinkelization. + Higher-order functions - Map - Filter + Anonymous functions + Lazy evaluation and infinite lists - Just the basic concept, nothing tricky + Efficiency considerations - e.g. fib recursively vs. tail recursively You do *not* need to know about list comprehensions.