Build a modern computer system, starting from first principles. The course consists of six weekly hands-on projects that take you from constructing elementary logic gates all the way to building a fully functioning general purpose computer. In the process, you will learn -- in the most direct and intimate way -- how computers work, and how they are designed.
Week 1: Introduction to Boolean functions, gate logic, Hardware Description Language (HDL), and hardware simulation. Project: build a set of 15 elementary logic gates that will serve as the building blocks of subsequent chips.
Week 3: Flip-flops, clocks, memory systems, sequential logic. Project: build a family of storage units from 1-bit registers to n-bit registers to Random Access Memories (RAM) of arbitrary sizes.
Week 6: Assembly languages, assemblers, parsing, symbol tables, code generation, the translation process. Project: build an assembler that translates Hack symbolic programs into Hack executable (binary) code.
- Shimon Schocken - Computer Science
- Noam Nisan - Computer Science and Engineering
This is the best course and in my opinion every Engineering student should take it.