15 150

Principles of Functional Programming

Carnegie Mellon University · UGRD · Fall 2026

1 section
Add to a schedule

Catalog description

An introduction to programming based on a "functional" model of computation. The functional model is a natural generalization of algebra in which programs are formulas that describe the output of a computation in terms of its inputs and #8212;-that is, as a function. But instead of being confined to real- or complex-valued functions, the functional model extends the algebraic view to a very rich class of data types, including not only aggregates built up from other types, but also functions themselves as values. This course is an introduction to programming that is focused on the central concepts of function and type. One major theme is the interplay between inductive types, which are built up incrementally; recursive functions, which compute over inductive types by decomposition; and proof by structural induction, which is used to prove the correctness and time complexity of a recursive function. Another major theme is the role of types in structuring large programs into separate modules, and the integration of imperative programming through the introduction of data types whose values may be altered during computation. NOTE: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course. Prerequisites: ( 21-128 Min. grade C or 15-151 Min. grade C or 21-127 Min. grade C) and 15-112 Min. grade C Course Website: http://www.cs.cmu.edu/~15150/

Sections

Current meeting, instructor, credit, and enrollment details

Updated 4 hours ago

001

Availability not recently verified
Class #carnegie_mellon-15150Fall 2026UGRD12 credits
Days & times
No scheduled meeting time
Meeting dates
Location
Instructor
Staff
Class numbers and section codes come from the registrar.
Spot missing or incorrect course data?