MyPage is a personalized page based on your interests.The page is customized to help you to find content that matters you the most.

I'm not curious

From Nand to Tetris Part I

Course Summary

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

  • +

    Course Syllabus

    Week 0: course introduction and overview, the roles of abstraction and implementation in systems design, the road ahead.

    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 2: Binary numbers, binary addition, the two's complement methods, combinational logic. Project: build a family of adder chips leading up to an Arithmetic Logic Unit (ALU).

    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 4: Machine language, binary and symbolic instructions, input and output handling, using an assembler. Project: write some low-level assembly programs and run them on a supplied CPU emulator. 

    Week 5: Computer organization, the Von Neumann architecture, the fetch-execute cycle. Project: build the Hack CPU and computer system, using all the chips that were built in the previous projects.

    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.

  • +

    Recommended Background

    In order to take this course you have to know... well... absolutely nothing about computer science or engineering! All the knowledge necessary to build the computer and complete this course successfully is given in the course lectures and projects. The only pre-requisites are curiosity and passion to build a cool working example of the most important invention of the 20th century.

  • +

    Course Format

    The course consists of 7 weeks of instruction and self-study. In each week you will have to watch several video lectures that are about 10-15 minutes long. You will then have to do and submit a weekly project. The course requires about 5-10 hours of work per week.

  • +

    Suggested Reading

    This course is completely self-contained and requires no additional sources of information or reference. Students who wish to do so can refer to the book The Elements of Computing Systems, written by the course instructors and published by MIT Press.

Course Fee:

Course Type:


Course Status:



1 - 4 hours / week

This course is listed under Development & Implementations and Operating Systems Community

Attended this course?

Back to Top

Awards & Accolades for MyTechLogy
Winner of
Top 100 Asia
Finalist at SiTF Awards 2014 under the category Best Social & Community Product
Finalist at HR Vendor of the Year 2015 Awards under the category Best Learning Management System
Finalist at HR Vendor of the Year 2015 Awards under the category Best Talent Management Software
Hidden Image Url