6.087 Practical Programming in C

As taught in: January IAP 2010

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.)

Level:

Undergraduate

Instructors:

Daniel Weller

Sharat Chikkerur

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.

Technical Requirements

Special software is required to use some of the files in this course: .zip, .h, .c, and .db.