The difficulty of a course is a subjective assessment. Portions of a course that might be easy for one student might be difficult for another and vice versa. However, there are some recognized approaches to gauging the difficulty of a class. I invite you to take the content of our course syllabus and estimates for your individual self the subjective values and plug them into this course difficulty estimator and come up with your own approximation of how much time you will need to spend in and out of class on these assignments. In my estimation, this course is most difficult in the 3rd week, when we first learn how to construct an interpreter for the lambda calculus. Things ease off there for a while. The second most difficult “ramp up” is on the 6th assignment, after the first exam, when we begin to learn and work with continuations. The first few weeks are a warm up and largely recapitulate some of what you know from Fundies courses. The in-between assignments by and large retrench what you have learned at the tough spots, with some additions and extensions. The 9th assignment is tough not because you’re learning anything new (in fact I hope you are not) but because it acts sort of as a “synchronization buffer”—anything you didn’t get the first time around, you’re now forced to grapple with. I think that the course gets to an exploratory phase after that where we can investigate a few topics as one-offs.

Updated: