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
- Course schedule (reading, assignments, topics)
Week 1
- Starting logistics (due Tuesday)
- Due Tue Mar 29 23:55:00 CDT 2016
- Scheme lab (Part 2 #2 due on Tues) (individual)
- Due Tue Mar 29 23:55:00 CDT 2016
- Scheme lab (Part 6 #4 and #5 due on Thurs) (individual)
- Due Thu Mar 31 23:55:00 CDT 2016
- Scheme coding style guide
- Scheme Grading Guidelines
Week 2
- Scheme: Binary Search Trees (pair)
- Due Mon Apr 04 23:55:00 CDT 2016
- Scheme: Lazy Lists (individual)
- Due Wed Apr 06 23:55:00 CDT 2016
- Scheme: Currying and higher order functions (team)
- Due Sat Apr 09 23:55:00 CDT 2016
Week 3
- Scheme: Sieve of Eratosthenes (individual)
- Due Mon Apr 11 23:55:00 CDT 2016
- Introductory C lab, first half (individual)
- Due Wed Apr 13 23:55:00 CDT 2016
- Exam 1 topics: Friday, 4/15
Week 4
- Introductory C lab, second half (individual)
- Due Mon Apr 18 23:55:00 CDT 2016
- C coding style guide
- C grading guidelines
- Survey for partners on interpreter project (due Tues nite)
- Vector, part 1 (team)
- Due Wed Apr 20 23:55:00 CDT 2016
- Vector, part 2 (team)
- Due Sat Apr 23 23:55:00 CDT 2016
Week 5
- Links
- Scheme syntax
- Python syntax
- Java syntax
- Intepreter part 1: Linked List
- Due Wed Apr 27 23:55:00 CDT 2016
- Peer evaluations from first-round partners (required unless worked alone), due Sat night
- Due Sat Apr 30 23:55:00 CDT 2016
- Intepreter part 2: Talloc
- Due Sat Apr 30 23:55:00 CDT 2016
Week 6
- Intepreter part 3: Tokenizer
- Due Wed May 04 23:55:00 CDT 2016
- Exam 2 topics: Friday, May 6
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 11 23:55:00 CDT 2016
- Week 7 course grade guess
- Due Wed Dec 31 18:00:00 CST 1969
Week 8
- Links
- Buddy system picture
- Python's heap memory management code
- Intepreter part 5: If/let
- Due Mon May 16 23:55:00 CDT 2016
- Intepreter part 6: quote
- Due Wed May 18 23:55:00 CDT 2016
Week 9
- Links
- Oracle Java garbage collection strategy
- Lambda calculus (individual)
- Due Mon May 23 13:10:00 CDT 2016
- Intepreter part 7: define/lambda
- Due Wed May 25 23:55:00 CDT 2016
Week 10
- Intepreter part 8: primitives
- Due Mon May 30 23:55:00 CDT 2016
- Exam 3: Wednesday, June 1
- Exam 3 topics
- Interpreter self/peer evaluations.
- Due Mon Jun 06 21:30:00 CDT 2016
- Intepreter part 9: last portion. No extensions allowed by college policy.
- Due Mon Jun 06 21:30:00 CDT 2016
- Knuth's test, in Scheme
- Knuth's test, historical source