I use Moodle for my courses, which makes it challenging to make my course content public. The website you see below is an automatically generated approximation of my Moodle page, based on a script that I've run.

General materials

Syllabus
Scheme, C, and Git documentation
Running software on your computer and in labs
Code I develop in class
The Pen Is Mightier Than the Keyboard: Advantages of Longhand Over Laptop Note Taking

Week 1

Starting logistics (due Tuesday)
Due Tue Mar 28 22:00:00 CDT 2017
Scheme lab (Part 2 #2 due on Tues) (individual)
Due Tue Mar 28 22:00:00 CDT 2017
Scheme lab (Part 6 #4 and #5 due on Thurs) (individual)
Due Thu Mar 30 22:00:00 CDT 2017
Scheme coding style guide
Scheme Grading Guidelines

Week 2

Scheme: Binary Search Trees (pair)
Due Mon Apr 03 22:00:00 CDT 2017
Scheme: Lazy Lists (individual)
Due Wed Apr 05 22:00:00 CDT 2017
Scheme: Currying and higher order functions (team)
Due Sat Apr 08 22:00:00 CDT 2017

Week 3

Scheme: Sieve of Eratosthenes (individual)
Due Mon Apr 10 22:00:00 CDT 2017
Introductory C lab, first half (individual)
Due Wed Apr 12 22:00:00 CDT 2017
Exam 1 topics
Exam 1: Friday, April 14

Week 4

Introductory C lab, second half (individual)
Due Mon Apr 17 22:00:00 CDT 2017
Survey for partners on interpreter project (also due Monday)
C coding style guide
C grading guidelines
Vector, part 1 (team)
Due Wed Apr 19 22:00:00 CDT 2017
Vector, part 2 (team)
Due Sat Apr 22 22:00:00 CDT 2017

Week 5

Links
Scheme syntax
Python syntax
Java syntax
Peer evaluations from first-round partners (required unless worked alone), due Mon
Due Mon Apr 24 22:00:00 CDT 2017
Note that part 2 of the interpreter project (tallo...
Intepreter part 1: Linked List
Due Wed Apr 26 22:00:00 CDT 2017
Intepreter part 2: Talloc
Due Sat Apr 29 22:00:00 CDT 2017

Week 6

Intepreter part 3: Tokenizer
Due Wed May 03 22:00:00 CDT 2017
Exam 2 topics
Exam 2: Friday, May 5

Week 7

In-class exercise on recursive descent parsing; function call grammar
Due Wed Dec 31 18:00:00 CST 1969
Intepreter part 4: Parser (individual assignment)
Due Wed May 10 22:00:00 CDT 2017
Week 7 course grade guess
Due Wed Dec 31 18:00:00 CST 1969

Week 8

Intepreter part 5: If/let
Due Mon May 15 22:00:00 CDT 2017
Intepreter part 6: quote
Due Wed May 17 22:00:00 CDT 2017

Week 9

Intepreter part 7: define/lambda
Due Mon May 22 22:00:00 CDT 2017
Lambda calculus (individual)
Due Wed May 24 09:50:00 CDT 2017

Week 10

Intepreter part 8: primitives
Due Mon May 29 22:00:00 CDT 2017
Exam 3: Wednesday, May 31
Exam 3 topics
Intepreter part 9: last portion. No extensions allowed by college policy.
Due Mon Jun 05 21:30:00 CDT 2017
Interpreter self/peer evaluations.
Due Mon Jun 05 21:30:00 CDT 2017
Knuth's test, in Scheme
Knuth's test, historical source
Forum posting grades
Due Wed Dec 31 18:00:00 CST 1969