Elegant, instructive examples of functional programming. Supposed to be fun, and teach important programming techniques and fundamental design principles. Traditionally appear in Journal of Functional Programming, and at ICFP and affiliated workshops.
This course introduces students to the principles of computation. Upon completion of 6.001, students should be able to explain and apply the basic methods from programming languages to analyze computational systems, and to generate computational solutions to abstract problems. Substantial weekly programming assignments are an integral part of the course. This course is worth 4 Engineering Design Points.