| Date |
Lectures |
Readings, Assignments, etc. |
| Aug 26 |
Introduction
Prolog 1 - Monotonic
Reasoning
|
A Concise
Introduction to Prolog
SWI-Prolog  |
| Aug 31 |
Prolog 2 - Unification
Prolog 3 - Lists
|
Logic Puzzles
(Prolog)
Comments on Logic
Puzzles |
| Sept 2 |
Prolog 4 -
Nonmonotonic Reasoning |
|
| Sept 7 |
Labor Day (no classes) |
|
| Sept 9 |
Prolog 5 - Resolution
|
Adventure Game
(Prolog)
Four-Minute
Guide to Resolution
Resolution in
Monty Python
|
| Sept 14 |
Prolog 6 - Conversion to
Clause Form
Prolog 7 - Concepts
Functional Programming
|
Beating the Averages

|
| Sept 16 |
Prolog quiz
Clojure 1 -
Thinking in Clojure
|
Exercises (Clojure)
Three tutorials (use as needed):
|
| Sept 21 |
Clojure 2 - Lisp
Reloaded
|
|
| Sept 23 |
Clojure 3 - Recursion
World Meeting of Families, Sept. 22-27
Pope in Philadelphia, Sept. 26-27
SEPTA schedule disrupted, Sept. 26-27
|
Resolution
(Clojure) |
| Sept 28 |
No class
|
|
| Sep 30 |
Clojure 4 - Sequences
|
Equal Piles
(Clojure)
The
Free Lunch is Over 
Clojure
STM - What? Why? How?  |
| Oct 5 |
Clojure 6 -
Concurrency
|
Clojure
- Functional Programming for the JVM (Concurrency)  |
| Oct 7 |
Clojure 5 - Calling
Java
|
sharks.clj (example of structs)
collatz.clj (example of agents
and STM) |
| Oct 12 |
Clojure 7 - Macros
Clojure 8 - Loop
Clojure 9 -
Concepts
|
Match Macro
(Clojure)
|
| Oct 14 |
Clojure to Haskell
Haskell 1
|
Concise
Introduction to Haskell |
| Oct 19 |
Clojure quiz
Haskell 2
Functions and Patterns
|
Exercises
(Haskell) |
| Oct 21 |
Haskell 3 Examples
Haskell 4 More
Functions
|
|
| Oct 26 |
Haskell 5 Monads
|
|
| Oct 28 |
Forth
REBOL
|
Sleepy Adventure
(Haskell)
spider.hs |
| Nov 2 |
Haskell quiz
Haskell 6 Concepts
Elm 1
|
Concise
Introduction to Elm |
| Nov 4 |
Elm 2
Scala Apologia
|
Snipe Game (Elm) |
| Nov 9 |
Scaladoc
Starting Scala
|
Concise
Introduction to Scala
From
Java to Scala |
| Nov 11 |
Scala Lists
|
Spell Checker
(Scala) |
| Nov 16 |
Elm quiz
Functional Scala
Scala API
|
|
| Nov 18 |
Classes and
Objects
|
Playfair Cipher
(Scala) |
| Nov 23 |
More about Functions
Scala API
|
|
| Nov 25 |
Day before Thanksgiving (No class) |
|
| Nov 30 |
Patterns
Actors
|
Path Finding Puzzle
(Scala)
My tests: puzzle1.txt, puzzle2.txt,
puzzle3.txt
|
| Dec 2 |
Regular Expressions
|
|
| Dec 7 |
Scala quiz
Monads
|
|
Dec 17
12:00-2:00 |
Towne 311. This exam date/time is set by the
Registrar and is non-negotiable. |
2011 Final
Exam
2013 Final
Exam
2014 Final
Exam |