6.087 | January IAP 2010 | Undergraduate

Practical Programming in C

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 …
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.
Learning Resource Types
Lecture Notes
Projects
Programming Assignments with Examples
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.)