| Date |
Lectures |
Readings, Assignments, etc. |
| Sept 5 |
Prolog 1, Programming in Logic (51) |
Prolog 1: Logic Puzzles
its-a-tie.pl
Notes on the Logic puzzle assignment
Concise Guide to Prolog
The Free Lunch is Over 
Language Flamewars and the Blub Paradox 
Tiobe Index (skim)
99 Bottles of Beer (just know this site exists) |
| |
|
|
| Sept 10 |
Prolog 2, Unification and Clause Order (21) |
|
| Sept 12 |
Prolog 3, Lists (20) |
Prolog 2: Adventure Game |
| |
|
|
| Sept 17 |
Prolog--Resolution
Prolog--Resolution Condensed |
If you need help understanding recursion,
All About Recursion (Python version)
Recursion |
| Sept 19 |
Clojure 1, Lisp Reloaded (30) |
Basic Clojure Functions
Gateway to Clojure 1 Assignment using Java 1.5, Java 1.6, or Java 1.7
Clojure 2: Exercises (the actual first assignment)
Unit tests for the Clojure exercises (.clj.txt)
Resolution Practice Problems (not to be turned in) with solutions |
| Sep 21 |
Add period ends
|
|
| Sept 24 |
Prolog quiz and Answers
Unscheduled fire alarm
Clojure 1a, Thinking in Clojure (21)
|
Concise Guide to Clojure (under construction!)
Browse either the Clojure cheat sheet or the Clojure reference  |
| Sept 26 |
Clojure 2 (14)
|
Clojure 2: Conversion to clause form
Tips for this assignment
Clause syntax |
| Sept 28 |
|
|
| Oct 1 |
Clojure 3 (22)
|
|
| Oct 3 |
Clojure 4, Concurrency (26)
|
Clojure STM - What? Why? How?
Clojure - Functional Programming for the JVM |
| Oct 5 |
|
|
| Oct 8 |
Clojure 5
Haskell 1 (30) |
Can Your Programming Language Do This? (short)
Functional Programming For The Rest of Us (long) |
| Oct 10 |
Clojure quiz and Answers Haskell 2, Functions and Patterns (32) |
A Concise Guide to Haskell
Learn Haskell in 10 Minutes
(and pay attention to!) Haskell Style Guide
Haskell 1: Exercises |
| Oct 12 |
Drop period ends |
|
| Oct 15 |
Haskell 3, Examples (12) |
|
| Oct 17 |
Haskell 4, More Functions (15) |
Land of Lisp: Functional Programming is Beautiful (A gut-level comparison of Clojure and Haskell)
Haskell 2: Mastermind
"Spider" game in Haskell (HTML page and spider.hs) |
| Oct 19 |
Fall break |
|
| Oct 22 |
Fall break |
|
| Oct 24 |
Haskell 5, Dealing with Impurity (22) |
|
| Oct 26 |
|
|
| Oct 29 |
Hurricane Sandy |
|
| Oct 31 |
Haskell quiz and Answers
REBOL (17) |
Learn REBOL 
A Concise Guide to REBOL
A Concise Guide to REBOL/View
REBOL -- Do something interesting. With a GUI.
|
| Nov 2 |
|
|
| Nov 5 |
Scala 1. Apologia (16) |
|
| Nov 7 |
Scala 2, Getting Started (26) |
Scala 1: Sudoku
Example Sudoku puzzles |
| Nov 9 |
|
|
| Nov 12 |
REBOL quiz (short!) and Answers
Scala 3, Lists (19) |
|
| Nov 14 |
Scala 5. Getting Functional (22) |
Scala 2: Bridge
Additional Bridge requirements
Shortest Bridge programs |
| Nov 16 |
Last day to withdraw |
|
| Nov 19 |
Scala 6, Classes and Objects and Traits (21)
|
|
| Nov 21 |
Day before Thanksgiving (No class) |
|
| Nov 23 |
Thanksgiving break |
|
| Nov 26 |
Scala quiz 1 and Answers
Scala 7, More About Functions (12)
|
Tail-Recursion Basics in Scala (Note: Scala now has @tailrec)
Scala Tutorial (at tutorialspoint)
Scala 3: Index Dave's Website |
| Nov 28 |
Scala 8, Java Threads (22) |
Tokenizer.scala and TokenizerTest.scala |
| Nov 30 |
|
|
| Dec 3 |
Scala 9, Actors (30)
Scala10, Concurrent Algorithms (11)
|
Java 8 vs Scala: a Feature Comparison (No, it won't be on the quiz!) |
| Dec 5 |
Second Scala quiz and Answers
|
|
| Dec 7 |
|
|
| |
No Final Exam |
|