Skip to content

Computation Structures

Course Overview

MIT's Computation Structures advances from digital logic into computational structures with videos, notes, practice, labs, exams, and code, best studied by combining the 2017 teaching materials with the 2009 lab and assessment archive.

Why choose this course

Mainline course. A particularly complete and well-structured option for this track.

Before you start

  • Recommended foundation: Programming and Engineering Computing
  • Recommended foundation: Circuit Analysis

Verifiable learning outcomes

  • Explain the core models in Digital Logic and Computation Structures, including their assumptions and limits
  • Solve representative derivations and problems, checking units, limiting cases, or numerical results
  • Complete a reproducible experiment or implementation with raw data, parameters, versions, and verification

Workload and pacing

13 weeks at 11 hours/week. This maintainer planning estimate is derived from course role and the density of public practice and labs; it is not a provider workload promise. Pilot two weeks while logging instruction, practice, lab, and review time, then adjust the remaining plan when actual effort differs by more than 25%.

Safety level

Simulation only. The default practice scope is software, computation, or simulation only; a lab label in the resource inventory does not authorize connecting physical equipment, and any hardware extension requires provider-scope verification and a new risk assessment.

Course Resources

Software, hardware, and cost

Software

  • Maintainer-suggested open-source/free verification path: Logisim Evolution, Icarus Verilog or Verilator, and GTKWave
  • The resource inventory lists public code coverage; pin interpreter, dependencies, toolchain, datasets, and PDK versions where applicable

Hardware

  • The resource inventory lists lab coverage, but this course's maintainer path explicitly limits it to computational or simulation work. It assumes only a general-purpose computer able to run the software above and retain results; do not purchase or connect a logic training board, USB programmer, and logic analyzer explicitly specified by the course

Cost note

The current maintainer path uses computation and simulation only, with no dedicated hardware purchase, and prefers open-source/free tools. This is not a provider requirement; platform, commercial-software, or cloud-compute costs still vary by provider, region, and plan.

Public resource coverage

Resource type Completeness
Video Complete
Notes Complete
Practice Complete
Labs Complete
Exams Complete
Code Complete

Resources and access

Resource Access License Status Verified
Course home Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Alternate course entry Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
1.3 Worksheet Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
11.3 Worksheet Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
12.3 Worksheet Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
13.3 Worksheet Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Syllabus — ocw.mit.edu/syllabus Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Syllabus — ocw.mit.edu/syllabus — resource 691f4d34 Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Exams Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
1 Basics of Information Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
1.1 Annotated Slides Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
10 Assembly Language, Models of Computation Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
10.1 Annotated Slides Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
11 Compilers Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
11.1 Annotated Slides Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
12 Procedures and Stacks Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
12.1 Annotated Slides Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
1.2 Topic Videos Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
10.2 Topic Videos Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
11.2 Topic Videos Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
12.2 Topic Videos Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
13.2 Topic Videos Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28

“Listed by official page” means the link was discovered on a successfully fetched official source on the verification date; it does not guarantee that every region or account can open the target directly. Access does not grant redistribution rights. Re-check the provider page, target link, and third-party notices before downloading, adapting, or publishing material.

Practice and Verification

Practice loop

Computation Structures · MIT 6.004: Streaming Digital Unit with Formal Checks

This is a maintainer-suggested self-study project for Computation Structures · MIT 6.004, not an official course assignment. Implement a parameterized, handshaked streaming unit for Digital Logic and Computation Structures and verify function, timing protocol, and reset boundaries with RTL simulation, assertions, and randomized testing.

Origin: Maintainer-suggested project

Deliverables

  • Interface timing diagrams, width and overflow policy, state machine, and latency specification
  • Synthesizable RTL, reference model, testbench, and protocol-assertion sources
  • Seeds, raw logs, coverage, and waveforms for at least 10,000 randomized transactions
  • A verification report listing throughput, latency, coverage holes, and one corrected counterexample

Verification

  • Match a software reference bit-for-bit for 10,000 randomized transactions with zero assertion failures
  • Cover minimum and maximum operands, sustained backpressure, interrupted reset, and counter wraparound
  • Exhaust all 8-bit configurations or run equivalence or formal properties for wider configurations
  • Inject one off-by-one or handshake defect and show that the suite reproduces and localizes it reliably

Reproducibility

  • Commit RTL, reference model, assertions, tests, and waveform-viewing instructions
  • Pin simulator and synthesis versions, seeds, parameters, and a one-command regression entry point
  • Preserve raw regression logs, coverage-database summaries, and the generated report

Safety boundary: Simulation only — Use RTL simulation and synthesis reports only by default; do not load a design with unaudited clocks, resets, or interfaces into physical systems.

Risks, gaps, and boundaries

The course page should explain that the 2017 edition supplies videos and notes while the 2009 edition supplies laboratories and exams.

Completion evidence

  • Weekly learning log with time, questions, corrected errors, decisions, next steps, and links to that week's reproducible artifacts
  • Design-review package with requirements and constraints, trade-offs, editable sources, applicable ERC/DRC/timing/stability checks, exports, and a reproduction test
  • Code repository with pinned dependencies and toolchain, a minimal run command, tests or waveform/benchmark checks, expected output, and license notes
  • Simulation package with model or netlist, inputs, solver and version, parameter-sweep script, benchmark comparison, expected results, and one rerun command