15-150: Principles of Functional Programming
If you are a current student in 15-150 during the Summer 2024 semester, please note that some of the content has been changed!
In particular, any references to 'totality' are not relevant for your semester. All other information should be accurate.
Please also refer to your instructor's excellent notes at http://www.cs.cmu.edu/~15150/lect.html, he worked very hard on them :)
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.