- Level Foundation
- Duration 44 hours
- Course by Hebrew University of Jerusalem
-
Offered by
About
What you'll achieve: In this project-centered course* you will build a modern computer system, from the ground up. We'll divide this fascinating journey into six hands-on projects that will take you from constructing elementary logic gates all the way through creating a fully functioning general purpose computer. In the process, you will learn - in the most direct and constructive way - how computers work, and how they are designed. What you'll need: This is a self-contained course: all the knowledge necessary to succeed in the course and build the computer system will be given as part of the learning experience. Therefore, we assume no previous computer science or engineering knowledge, and all learners are welcome aboard. You will need no physical materials, since you will build the computer on your own PC, using a software-based hardware simulator, just like real computers are designed by computer engineers in the field. The hardware simulator, as well as other software tools, will be supplied freely after you enroll in the course. Course format: The course consists of six modules, each comprising a series of video lectures, and a project. You will need about 2-3 hours to watch each module's lectures, and about 5-10 hours to complete each one of the six projects. The course can be completed in six weeks, but you are welcome to take it at your own pace. You can watch a TED talk about this course by Googling "nand2tetris TED talk". *About Project-Centered Courses: Project-centered courses are designed to help you complete a personally meaningful real-world project, with your instructor and a community of learners with similar goals providing guidance and suggestions along the way. By actively applying new concepts as you learn, you'll master the course content more efficiently; you'll also get a head start on using the skills you gain to make positive changes in your life and career. When you complete the course, you'll have a finished project that you'll be proud to use and share.Modules
Introduction
- Project 0
4
Videos
- Unit 0.0: Introduction
- Unit 0.1: The Road Ahead
- Unit 0.2: From Nand to Hack
- Unit 0.3: From Hack to Tetris
1
Readings
- Module 0: The Nand to Tetris journey
Boolean Functions and Gate Logic
- Project 1
8
Videos
- Unit 1.1: Boolean Logic
- Unit 1.2: Boolean Functions Synthesis
- Unit 1.3: Logic Gates
- Unit 1.4: Hardware Description Language
- Unit 1.5: Hardware Simulation
- Unit 1.6: Multi-Bit Buses
- Unit 1.7: Project 1 Overview
- Unit 1.8: Perspectives
1
Readings
- Module 1: Boolean Logic
General Course Information
1
Videos
- Promo Video
3
Readings
- Course Overview
- Textbook
- FAQ
Boolean Arithmetic and the ALU
- Project 2
6
Videos
- Unit 2.1: Binary Numbers
- Unit 2.2: Binary Addition
- Unit 2.3: Negative Numbers
- Unit 2.4: Arithmetic Logic Unit
- Unit 2.5: Project 2 Overview
- Unit 2.6: Perspectives
1
Readings
- Module 2: Boolean Arithmetic
Memory
- Project 3
6
Videos
- Unit 3.1: Sequential Logic
- Unit 3.2: Flip Flops
- Unit 3.3: Memory Units
- Unit 3.4: Counters
- Unit 3.5: Project 3 Overview
- Unit 3.6: Perspectives
1
Readings
- Module 3: Memory
Machine Language
- Project 4
10
Videos
- Unit 4.1: Machine Languages: Overview
- Unit 4.2: Machine Languages: Elements
- Unit 4.3: The Hack Computer and Machine Language
- Unit 4.4: Hack Language Specification
- Unit 4.5: Input / Output
- Unit 4.6: Hack Programming, Part 1
- Unit 4.7: Hack Programming, Part 2
- Unit 4.8: Hack Programming, Part 3
- Unit 4.9: Project 4 Overview
- Unit 4.10: Perspectives
1
Readings
- Module 4: Machine Language
Computer Architecture
- Project 5
6
Videos
- Unit 5.1: Von Neumann Architechture
- Unit 5.2: The Fetch-Execute Cycle
- Unit 5.3: Central Processing Unit
- Unit 5.4: The Hack Computer
- Unit 5.5: Project 5 Overview
- Unit 5.6: Perspectives
1
Readings
- Module 5: Computer Architecture
Assembler
- Project 6
8
Videos
- Unit 6.1: Assembly Languages and Assemblers
- Unit 6.2: The Hack Assembly Language
- Unit 6.3: The Assembly Process - Handling Instructions
- Unit 6.4: The Assembly Process - Handling Symbols
- Unit 6.5: Developing a Hack Assembler
- Unit 6.6: Project 6 Overview: Programming Option
- Unit 6.6B: Project 6 Overview: Without Programming
- Unit 6.7: Perspectives
1
Readings
- Module 6: Assembler Roadmap
Auto Summary
Embark on a fascinating journey in IT & Computer Science with "Build a Modern Computer from First Principles: From Nand to Tetris." Led by Coursera, this project-centered course guides you through constructing a fully functioning computer system from scratch, using a software-based hardware simulator. Ideal for beginners, it spans six modules with video lectures and hands-on projects, each requiring 2-3 hours of lectures and 5-10 hours for projects, totaling around six weeks. Flexible subscription options include Starter, Professional, and Paid plans. Perfect for learners eager to understand computer design comprehensively.
Shimon Schocken

Noam Nisan