Programming Abstractions

**Note**: My office hours during Reading Period will be somewhat restricted. I will be available

Wednesday 12/12 1:30-4:30

Thursday 12/13 9:30-1:30

Friday 12/14 9:30-10:30

All day Monday 12/17 and Tuesday 12/18

My semester Office Hours: MWR 1:30-3:30.

I am in my office most of the day with the door open when I'm not in class.

Here is the class Syllabus (not that I'll stick to it)

- https://www.racket-lang.org/ You can dowload Racket, the version of Scheme we will be using, here.
- The Scheme Programming Language by R. Kent Dybvig
- Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Sussman

- Topics for Exam 1

- Exam 1 from Spring 2018
- Solutions to Exam 1 from Spring 2018
- Solutions to this term's Exam 1

- Topics for Exam 2

- Exam 2 from Spring 2018
- Solutions to Exam 2 from Spring 2018
- Solutions to this term's Exam 2

- Topics for the Final

- Final Exam from Spring 2016
- Solutions to the Final Exam from Spring 2016
- Review Questions

- To use Handin
- Lab 1:
*The Basics*, due Thursday September 13 - Lab 2; Recursion and Lists, due Monday, September 24
- Lab 3: Structured Lists, due Tuesday, October 2
- Lab 4: Higher-Ordered functions: Fold, Map, and Apply. due Wednesday, October 10
- Lab 5: Interpreters I: Creating an Environment
- Lab 6: Interpreters II: Interpreting basic expressions
- Lab 7: Interpreters III: lambda, set! and letrec
- Lab 8: Streams, due Tuesday December 4
- Lab 9: Continuations: due Wednesday, December 12