6.004 | Spring 2017 | Undergraduate
Computation Structures

Instructor Insights

Instructor Insights

In the following video and Chalk Radio podcast episode, Chris Terman describes various aspects of how he taught 6.004 Computation Structures.

An Interview with Christopher Terman on Teaching Computation Structures

View by chapter

Curriculum Information


Requirements Satisfied


Every fall and spring semester


Grade Breakdown

The students’ grades were based on the following activities:

  • 56% Quizzes
  • 35% Labs (nonzero score required on each lab)
  • 9% Design project

Student Information


Between 2008 and 2018, the enrollment for 6.004 rose from about 100 to 200-300 per semester.

Breakdown by Year

Mostly sophomores, but also others, ranging from freshmen to graduate students.

Breakdown by Major

About 4/5 Electrical Engineering and Computer Science majors, 1/5 other.

Typical Student Background

Some students came to the class with prior experience in programming and some understanding of how computers are structured; others came knowing little more than how to use a browser.

How Student Time Was Spent

During an average week, students were expected to spend 12 hours on the course, roughly divided as follows:

In Class

  • Met 2 times per week for 1 hour per session;  24 sessions total.
  • Class sessions were lecture-based and focused on the engineering of digital systems.


  • Met 2 times per week for 1 hour per session; 26 sessions total.
  • Recitation groups contained 20-30 students on average and allowed students to work through practice problems and ask questions of the recitation instructors.

Out of Class

  • Outside of class, students completed seven lab assignments, worked through the online materials and practice problems in the MITx version of the course, and prepared a design project.
Course Info
As Taught In
Spring 2017
Learning Resource Types
theaters Lecture Videos
assignment_turned_in Programming Assignments with Examples
notes Lecture Notes