NUIM/CS351
Instructors
- Barak A. Pearlmutter
 - Niall Murphy (demonstrator)
 
Office Hours
Barak says: my office is in the Hamilton Institute, which is in the
South wing of Rye Hall.  Catch me any Monday, Tuesday, or Thursday
afternoon, except when I'm actually giving a lecture, or in a 30-min
pre-lecture meditation period.  Other times, you can give it a shot
and just drop by.  And please feel free to call me any time, x6394,
either to make an appointment or to ask a question.
Syllabus
TBA
Course Materials
Scheme
Prolog
Haskell
Lecture Notes
  - 24-Sep-2007, Lecture 01: intro,
    tower of power, start on Scheme
  
 - 27-Sep-2007, Lecture 02: Scheme
    numbers, lists, recursion
  
 - 01-Oct-2007, Lecture 03: Scheme
    the LET macro, symbols
  
 - 04-Oct-2007, Lecture 04: Scheme
    AND/OR, thunks, tail recursion
  
 - 08-Oct-2007, Lecture 05: tail
    recursion continued
  
 - 11-Oct-2007, Lecture 06: COND;
    dotted pair notation
  
 - 15-Oct-2007, Lecture 07: Using
    s-expressions as representations
  
 - 18-Oct-2007, Lecture 08:
    Higher-order function, threading/accumulation/reduce
  
 - 22-Oct-2007, Lecture 09:
    Assignment 2 hints
  
 - 25-Oct-2007, Lecture 10:
    Higher-order functions, currying, compose
  
 - 05-Nov-2007, Lecture 11:
    Table-driven evaluation and symbolic differentiation; start Scheme
    metacircular interpreter
  
 - 08-Nov-2007, Lecture 12:
    metacircular interpreter continued
  
 - 12-Nov-2007, Lecture 13:
    continuations
  
 - 15-Nov-2007, Lecture 14:
    macros and more macros
  
 - 19-Nov-2007, Lecture 15:
    Implementing objects using closures
  
 - 22-Nov-2007, Unification; resolution theorem prover (part 1)
    code
  
 - 26-Nov-2007, Prolog; list processing
    code
  
 - 29-Nov-2007, Prolog; list processing and parsing
    code
  
 - 03-Dec-2007, Prolog;
    difference lists code,
    Prolog interpreter in Scheme code
  
 - 06-Dec-2007, Streams and
    laziness code
  
 - Haskell
 
Assignments
  - 04-Oct-2007, Recursion and s-expression
      finger exercises, solutions
  
 - 11-Oct-2007, Tail recursion and symbolic derivatives
  
 - 08-Nov-2007, BASICK
      Interpreter, solutions
  
 - 22-Nov-2007, Objects
  
 - 29-Nov-2007, Prolog, solutions
  
 - 13-Dec-2007, Haskell