About this Course
1,369 ratings
408 reviews

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 18 hours to complete

Suggested: 5 hours/week...


Subtitles: English, Hebrew

Skills you will gain

Logic GateComputer ArchitectureAssembly LanguagesHardware Description Language (HDL)

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 18 hours to complete

Suggested: 5 hours/week...


Subtitles: English, Hebrew

Syllabus - What you will learn from this course

1 hour to complete


Course introduction and overview, the roles of abstraction and implementation in systems design, the road ahead....
5 videos (Total 27 min), 1 reading, 1 quiz
5 videos
Unit 0.1: The Road Ahead10m
Unit 0.2: From Nand to Hack7m
Unit 0.3: From Hack to Tetris3m
Unit 0.4: Project 0 Overview3m
1 reading
Module 0: Introduction Roadmap10m
7 hours to complete

Boolean Functions and Gate Logic

We will start with a brief introduction of Boolean algebra, and learn how Boolean functions can be physically implemented using logic gates. We will then learn how to specify gates and chips using a Hardware Description Language (HDL), and how to simulate the behaviour of the resulting chip specifications using a hardware simulator. This background will set the stage for Project 1, in which you will build, simulate, and test 15 elementary logic gates. The chipset that you will build this module will be later used to construct the computer's Arithmetic Logic Unit (ALU) and memory system. This will be done in modules 2 and 3, respectively....
8 videos (Total 128 min), 1 reading, 1 quiz
8 videos
Unit 1.2: Boolean Functions Synthesis9m
Unit 1.3: Logic Gates10m
Unit 1.4: Hardware Description Language18m
Unit 1.5: Hardware Simulation33m
Unit 1.6: Multi-Bit Buses8m
Unit 1.7: Project 1 Overview24m
Unit 1.8: Perspectives 9m
1 reading
Module 1: Boolean Functions and Gate Logic Roadmap10m
1 hour to complete

General Course Information

General Course Information...
1 video (Total 2 min), 3 readings
1 video
3 readings
Course Overview10m
6 hours to complete

Boolean Arithmetic and the ALU

Using the chipset that we've built in the previous module, we will now proceed to build a family of adders -- chips designed to add numbers. We will then take a big step forward and build an Arithmetic Logic Unit. The ALU, which is designed to perform a whole set of arithmetic and logical operations, is the computer's calculating brain. Later in the course we will use this ALU as the centerpiece chip from which we will build the computer's Central Processing Unit, or CPU. Since all these chips operate on binary numbers (0's and 1's), we will start this module with a general overview of binary arithmetic, and only then delve into building the ALU....
6 videos (Total 66 min), 1 reading, 1 quiz
6 videos
Unit 2.2: Binary Addition12m
Unit 2.3: Negative Numbers11m
Unit 2.4: Arithmetic Logic Unit16m
Unit 2.5: Project 2 Overview7m
Unit 2.6: Perspectives10m
1 reading
Module 2: Boolean Arithmetic and the ALU Roadmap10m
7 hours to complete


Having built the computer's ALU, this module we turn to building the computer's main memory unit, also known as Random Access Memory, or RAM. This will be done gradually, going bottom-up from elementary flip-flop gates to one-bit registers to n-bit registers to a family of RAM chips. Unlike the computer's processing chips, which are based on combinational logic, the computer's memory logic requires a clock-based sequential logic. We will start with an overview of this theoretical background, and then move on to build our memory chipset....
6 videos (Total 84 min), 1 reading, 1 quiz
6 videos
Unit 3.2: Flip Flops15m
Unit 3.3: Memory Units25m
Unit 3.4: Counters10m
Unit 3.5: Project 3 Overview10m
Unit 3.6: Perspectives11m
1 reading
Module 3: Memory Roadmap10m
8 hours to complete

Machine Language

A critically important aspect of building a new computer system is designing the low-level machine language, or instruction set, with which the computer can be instructed to do various things. As it turns out, this can be done before the computer itself is actually built. For example, we can write a Java program that emulates the yet-to-be-built computer, and then use it to emulate the execution of programs written in the new machine language. Such experiments can give us a good appreciation of the bare bone "look and feel" of the new computer, and lead to decisions that may well change and improve both the hardware and the language designs. Taking a similar approach, in this module we assume that the Hack computer and machine language have been built, and write some low-level programs using the Hack machine language. We will then use a supplied CPU Emulator (a computer program) to test and execute our programs. This experience will give you a taste of low-level programming, as well as a solid hands-on overview of the Hack computer platform....
10 videos (Total 187 min), 1 reading, 1 quiz
10 videos
Unit 4.2: Machine Languages: Elements 16m
Unit 4.3: The Hack Computer and Machine Language15m
Unit 4.4: Hack Language Specification10m
Unit 4.5: Input / Output26m
Unit 4.6: Hack Programming, Part 124m
Unit 4.7: Hack Programming, Part 221m
Unit 4.8: Hack Programming, Part 3 32m
Unit 4.9: Project 4 Overview 19m
Unit 4.10: Perspectives 7m
1 reading
Module 4: Machine Language Roadmap10m
408 ReviewsChevron Right


started a new career after completing these courses


got a tangible career benefit from this course

Top Reviews

By MMFeb 18th 2017

An excellent course provided by phenomenal professors! Everything is broken down into simple, easily understandable portions, and leaves you with a clear idea how to proceed to solve a given problem.

By BCOct 12th 2017

Really good course. Great explanations of everything and the tools provided make it very easy to implement some very high levels ideas. Would recommend this to anyone interested in how a CPU works



Shimon Schocken

Computer Science

Noam Nisan

Computer Science and Engineering

About Hebrew University of Jerusalem

Ranked among the top academic and research institutions worldwide, the Hebrew University of Jerusalem is Israel's leading university and premier research institution. Serving 23,000 students from 70 countries, the Hebrew University produces a third of Israel’s civilian research and is ranked 12th worldwide in biotechnology patent filings and commercial development. The Hebrew University was founded in 1918 by visionaries including Albert Einstein, Sigmund Freud, Martin Buber and Chaim Weizmann. It is located on three campuses in Jerusalem and a fourth in Rehovot. Visit the website at http://new.huji.ac.il/en. Join our online learners community at https://www.facebook.com/groups/hujimooc/. ...

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.