6.004 | Spring 2017 | Undergraduate

Computation Structures

Calendar

This calendar reflects the campus schedule when this course was taught at MIT. The lab exercises are currently not included.

SES # TOPICS KEY DATES
L1 Unit 1: Basics of information: entropy, encodings, error correction  
L2 Unit 2: The digital abstraction: combinational logic, voltage-based encoding  
L3 Unit 3: CMOS: MOSFETs, gate design; timing  
L4 Unit 4: Combinational logic: canonical forms, synthesis, simplification  
L5 Unit 5: Sequential logic: latches, registers, timing Lab 1 due
L6 Unit 6: Finite-state machines (FSMs); asynchronous inputs and metastability  
L7 Unit 7: Performance measures: throughput and latency, pipelining  
Quiz 1 (L1–L5)
L8 Unit 8: Design tradeoffs: power, speed, area, throughput  
L9 Unit 9: von Neumann architectures, Beta instruction set Lab 2 due
L10 Unit 10: Assmbly language  
L11 Unit 11: Compiling expressions and statements Lab 3 due 
L12 Unit 12: Stacks and procedures  
L13 Unit 13: Beta implementation  
Quiz 2 (L6–L12)
L14 Unit 14: Multilevel memories: locality, performance, caches  
L15 Unit 14: Cache design issues (continued) Lab 4 due
L16 Unit 15: Pipelining the Beta: pipeline diagrams, data hazards  
L17 Unit 15: Pipelining the Beta: control hazards, dealing with exceptions (continued) Lab 5 due
L18 Unit 16: Virtual memory: mapping, protection, contexts  
Quiz 3 (L13–L17)
L19 Unit 17: Virtual machines: timesharing, OS kernels, supervisor calls  
L20 Unit 18: Devices and interrupts; real-time Lab 6 due
L21 Unit 19: Communicating processes: semaphores, synchronization, atomicity, deadlock  
L22 Unit 20: System-level communication Lab 7 due
L23 Unit 21: Parallel processing: performance limits, data- and thread-level parallelism  
L24 Building a Better Beta: tips for the design project  
Quiz 4 (L18–L22); design project due in one week after the quiz

Course Info

Instructor
As Taught In
Spring 2017
Learning Resource Types
Lecture Videos
Programming Assignments with Examples
Lecture Notes
Instructor Insights
Podcasts