Calendar
The following is a planned schedule of the course. Some topics will be looked at in-depth and some just highlighted. Student presence at the lectures is strongly advised.
Class Schedule
-
Week #1: May 9th
Administrativia
Functional Programming
Lisp: Introduction
Lisp: Data Structures
Notes: Lecture Notes
Readings: Wilensky - Chapter 1, 2, 7, 15
-
Week #2: May 16th
Lisp: Programming
Lisp: Recursion
Lisp: Functionals
Notes: Lecture Notes
Notes: Lecture Notes
Readings: Wilensky - Chapter 3, 4, 6, 8, 9
-
Week #3: May 23rd
Lisp: Lambda Calculus
Lisp: Other Topics
Lisp: Applications
Notes: Lecture Notes
Notes: Symbolic & Denotational Computing
Notes: Functional Programming Applications
Notes: Functional Programming Slides 1
Notes: Functional Programming Slides 2
Readings: Wilensky - Chapter 12, 13, 18, 20
-
Week #4: May 30th
Lisp: Review
F#: Introduction
Readings: Microsoft - F# Chapter 1
Readings: MSDN - Visual F#
-
Week #5: June 6th
F#: Features 1
Notes: see Code Gallery
-
Week #6: June 13th
Term Test #1
F#: Features 2
Notes: Lecture Notes
-
Week #7: June 20th
F#: Review
Prolog: Introduction
Notes: see Code Gallery
Notes: Fall 2006 - Prolog Introduction
Readings: Clocksin - Chapter 1
-
Week #8: June 27th
Term test #2
Prolog: Data Structures
Prolog: Equality, Unification
Notes: Lecture Notes
Notes: Fall 2006 - Examples
Readings: Clocksin - Chapter 2, 3.1 - 3.3, 6
-
Week #9: July 4th
Prolog: Arithmetic
Prolog: Utility Predicates
Prolog: Accumulators, Difference Structures
Prolog: Backtracking, Cut, Fail, Not
Notes: Lecture Notes
Notes: Fall 2006 - Utilities
Notes: Fall 2006 - Accumulators
Notes: Fall 2006 - Cut, Fail, Not
Readings: Clocksin - Chapter 3.4 - 3.8, 4
-
Week #10: July 11th
Prolog: Defining Operators
Prolog: Parsing, Grammars
Notes: Lecture Notes
Notes: Fall 2006 - Operators
Notes: Fall 2006 - Grammar Parsing
Readings: Clocksin - Chapter 9
-
Week #11: July 18th
Term Test #3
Logic Programming: Introduction
Notes: Lecture Notes
Readings: Clocksin - Chapter 10
-
Week #12: July 25th
Logic Programming: Logic
Logic Programming: Resolution
Prolog: Applications
Notes: Fall 2006 - Resolution
Notes: Symbolic Computation Questions 1
Notes: Symbolic Computation Questions 2
Readings: Clocksin - Chapter 7, 8, 11
-
Week #13: August 1st
Term Test #4