Github repo: https://github.com/computation-structures/course

Computation Structures (6.004) is a sophomore-level subject offered by the MIT Department of Electrical Engineering and Computer Science. It's an introductory course about the design and implementation of digital systems, emphasizing structural principles common to a wide range of technologies.

Starting at the device level, the course develops a hierarchical set of building blocks — logic gates, combinational and sequential circuits, finite-state machines, processors and finally complete systems. Both hardware and software mechanisms are explored through a series of design examples. The worksheets and lab exercises are intended to give students hands-on experience in designing digital systems; students complete the gate-level design for a RISC processor during the lab exercises.

This repository contains the course materials used between Fall 1995 and Spring 2018 including the lecture slides, edited transcripts of the lectures, and the worksheets of past quiz problems that students used to review their understanding of the material. There are also links to the eleven online labs, which each student needed to complete to pass the course. We hope this material will be of use to students interested in how computers work and to my teaching collegues who introduce those students to the digital world.

The course materials are a collaborative effort by many MIT colleagues. Steve Ward was the originator of the course in the early 1980's and in many ways what you see here is his brain child. Other contributors over the years include Bert Halstead, Silvina Hanono Wachman, Leonard McMillan, Greg Papadopoulos, Gill Pratt, Daniel Sanchez, and Chris Terman.

Enjoy!

Syllabus