Practical Programming in C

Photograph of two stacks of movies.

In problem set 7, which focuses on libraries, B-trees, and priority queues, students work with a movie database. (Image courtesy of Jeezny on Flickr.)


MIT Course Number


As Taught In

January IAP 2010



Cite This Course

Course Description

Course Features

Course Description

This course provides a thorough introduction to the C programming language, the workhorse of the UNIX operating system and lingua franca of embedded processors and micro-controllers. The first two weeks will cover basic syntax and grammar, and expose students to practical programming techniques. The remaining lectures will focus on more advanced concepts, such as dynamic memory allocation, concurrency and synchronization, UNIX signals and process control, library development and usage. Daily programming assignments and weekly laboratory exercises are required. Knowledge of C is highly marketable for summer internships, UROPs, and full-time positions in software and embedded systems development.

Related Content

Daniel Weller, and Sharat Chikkerur. 6.087 Practical Programming in C. January IAP 2010. Massachusetts Institute of Technology: MIT OpenCourseWare, License: Creative Commons BY-NC-SA.

For more information about using these materials and the Creative Commons license, see our Terms of Use.