15-122 Principles of Imperative Computation

This page is out of date, go to http://cs.cmu.edu/~15122

This course is intended for students with a basic understanding of programming (variables, expressions, loops, arrays, functions). It teaches imperative programming and methods for ensuring the correctness of programs. Students will learn the process and concepts needed to go from high-level descriptions of algorithms to correct imperative implementations, with specific application to basic data structures and algorithms. Much of the course will be conducted in a subset of C amenable to verification, with a transition to full C near the end. 21-127 Concepts of Mathematics is a co-requisite (must be taken before or in the same semester). This course is a pre-requisite for 15-213 Computer Systems and 15-210 Parallel and Sequential Data Structures and Algorithms.

This page describes the course in general. For more information, please consult the individual course instances.


Course Instances

Frank Pfenning