4.9
1,355 ratings
405 reviews

#### 100% online

Start instantly and learn at your own schedule.

#### Approx. 18 hours to complete

Suggested: 5 hours/week...

#### English

Subtitles: English, Hebrew

### Skills you will gain

Logic GateComputer ArchitectureAssembly LanguagesHardware Description Language (HDL)

#### 100% online

Start instantly and learn at your own schedule.

#### Approx. 18 hours to complete

Suggested: 5 hours/week...

#### English

Subtitles: English, Hebrew

### Syllabus - What you will learn from this course

Week
1
1 hour to complete

## Introduction

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.2: From Nand to Hack7m
Unit 0.3: From Hack to Tetris3m
Unit 0.4: Project 0 Overview3m
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
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
Course Overview10m
Textbook10m
FAQ10m
Week
2
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.3: Negative Numbers11m
Unit 2.4: Arithmetic Logic Unit16m
Unit 2.5: Project 2 Overview7m
Unit 2.6: Perspectives10m
Module 2: Boolean Arithmetic and the ALU Roadmap10m
Week
3
7 hours to complete

## Memory

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
Week
4
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
4.9
405 Reviews

## 35%

started a new career after completing these courses

## 26%

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 RQFeb 15th 2017

One of the best courses I have taken on Coursera. I feel much more knowledgable about the lower-level workings of computers now. I hope at some point Coursera offers the second part of the course.

## Instructors

Professor
Computer Science

### Noam Nisan

Professor
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/. ...