MITx: 6.004.2x Computation Structures 2: Computer Architecture

In this interactive computer science course from MIT you’ll learn the basic principles of computer architecture.

Course Description

 Digital systems are at the heart of the information age in which we live, allowing us to store, communicate and manipulate information quickly and reliably. This computer science course is a bottom-up exploration of the abstractions, principles, and techniques used in the design of digital and computer systems. If you have a rudimentary knowledge of electricity and some exposure to programming, roll up your sleeves, join in and design a computer system!

Using your browser for design entry and simulation, you’ll implement a 32-bit computer using our gate library and write assembly language programs to explore the hardware/software interface.

This is Part 2 of a 3-part program on digital systems.

Course Format

The course is divided into four two-week sections:

  • Designing an Instruction Set, Assembly Language, Assignment 1
  • Compilers, Procedures and Stacks, Assignment 2
  • Building the Beta, Assignment 3
  • Memory Hierarchy, Hardware Caches, Assignment 4

Each section consists of one to two lecture chapters and an assignment. The lecture chapters are divided into three sections:

  • Lecture Videos — include lecture videos and exercises.
  • Worked Examples — include video of a sample tutorial problem being solved for you, and the sample problem itself.
  • Tutorial Problems — lots of practice problems with detailed solutions to help you master the material.