6.004 Computation Structures

Fall 2002

Building blocks of a Beta computer.
Building blocks of a "Beta" computer, adapted from lecture 15. (Image by Steve Ward and Chris Terman.)

Course Highlights

This course offers virtually all of its materials online, including a complete set of lecture slideslab assignments, and other materials used by students in the course.

» Download the complete contents of this course.

Course Description

6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops a series of building blocks - logic gates, combinational and sequential circuits, finite-state machines, computers and finally complete systems. Both hardware and software mechanisms are explored through a series of design examples.

6.004 is required material for any EECS undergraduate who wants to understand (and ultimately design) digital systems. A good grasp of the material is essential for later courses in digital design, computer architecture and systems. Before taking 6.004, students should feel comfortable using computers; a rudimentary knowledge of programming language concepts (6.001) and electrical fundamentals (6.002) is assumed.

Technical Requirements

Java® plug-in software is required to run the Java® files found on this course site.

Java® is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.

*Some translations represent previous versions of courses.

Donate Now


Prof. Steve Ward
Prof. Chris Terman

Gill Pratt

Course Meeting Times

Two sessions / week
1 hour / session

Two sessions / week
1 hour / session