15-150: Principles of Functional Programming
DISCLAIMER: If you are a student currently taking 15-150 at Carnegie Mellon University, know that these notes and videos are not a substitute for going to lecture. You will learn more by being in an environment live, rather than 2x speeding through the material late at night. Use these lectures only as a reference.
I give you these resources in the pursuit of your learning. I trust you to make the right choice to make the optimal use of it.
Introduction
I had the pleasure of serving as the summer instructor for 15-150, the introduction functional programming class for computer science students at Carnegie Mellon, in the Summer 2023 semester.
This course typically serves as the second or third course in the traditional computer science undergraduate sequence, a privilege which not many other universities get to enjoy, as functional programming is often considered a niche topic.
Despite this, I (and CMU) believe this to be of the utmost importance. A disciplined, type-oriented, safety-first view of programming can be of utmost benefit to burgeoning computer science scholars, and I have often heard feedback from students that it is has a transformative view on their perspective of computer science in general.
To that end, I have made my lecture materials from my iteration of the course available for free on the Internet. Please feel free to use this knowledge in any way that you see fit, and I hope that it aids you in your future endeavors.
Lectures
Supplemental Lectures