Careers360 Logo
Interested in this College?
Get updates on Eligibility, Admission, Placements Fees Structure
Compare

Quick Facts

Medium Of InstructionsMode Of LearningMode Of Delivery
EnglishSelf StudyVideo and Text Based

Course Overview

The project-centered 100% online course offered by the Hebrew University of Jerusalem helps you transform and build a modern software hierarchy which is purposely designed to help you in translation and execution of object-based high-level languages on a bare-bone computer platform which will in the process bring deep gain towards hands-on understanding in the applied computer, science, vector graphics and towards all other topics that fall under the core of every modern computer systems.

The course can be completed within 3 weeks but it’s dependent upon you till when you complete it at your own pace.

The course also comes up with a textbook “The Elements of Computing Systems” which covers all the course topics. The book is currently offering a 30% discount on the cover price provided by Nisan and Schocken, MIT Press).

They will also freely supply all the required software materials and tools which are necessary for completing the course.

The project centred courses have nine modules with each having a series of lectures which will take about 3 hours of yours to attend an additional 29 hours to complete each of the six projects. 

The Highlights

  • 100% project-centered online course 
  • Flexible deadlines 
  • Approx. 89 hours to complete the course.
  • English based course with subtitles in French, Russian, Portuguese, and Spanish
  • Financial aid available
  • Shareable Certificate

Programme Offerings

  • Student Community
  • Real World Projects
  • Project Reviews
  • Technical Support
  • access to course material
  • Video lectures.

Courses and Certificate Fees

Fees InformationsCertificate AvailabilityCertificate Providing Authority
INR 2435yesCoursera

While courses are available for free under the ‘Audit Mode’, you need to purchase the course in order to access it. The acceptable payment modes are - MasterCard, VISA, PayPal, and Discover.

Build A Modern Computer From First Principles: Nand To Tetris Part II (project centered course) fee Structure:

Type of Programme

Amount

Audit Only 

Free

Certificate 

Rs. 2,435


Eligibility Criteria

Eligibility Criteria

While there are no particular prerequisites for applying and enrolling in the course, the learners would be well served to have a working knowledge of programming language. 

Certificate Qualifying Details

Candidates can purchase the certificate by paying the required fee. After purchasing the certificate, candidates can get access to course material and projects. On completing the same, candidates will get a shareable certificate, which will be added to the accomplishments page. Candidates can share the certificate from here to add it to their LinkedIn profile. 

What you will learn

Programming skillsMachine learning

Post completing the course, the learner will be acquainted with the following concepts - 

  • Learn about computer construction & working with compilers 
  • Get in-depth knowledge about Computer Architecture 
  • Learn about building a software hierarchy 
  • Creating your own Operating System
  • Implementing virtual machines and compilers for Java-like programming languages 
  • Understand the concepts of Input-Output Handling
  • Get an in-depth understanding of machine learning 
  • Learn about the concepts of Vector graphics   

Who it is for

The Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) is ideal for the candidates who are aspiring software developers, computer learners, and graduates in hardware design and IT aspiring to gain knowledge in stack processing, code generation, classical algorithms, and data structures. 


Admission Details

Aspirants can access the course material for free by using the audit mode however, they won’t get a certificate through that after completing the course. However, to get a certificate, graded assignments, candidates need to purchase the same, during, or after the audit. 

Application Details

The process to apply for any course on Coursera is rather simple. 

Step 1: Visit the homepage of Coursera.

Step 2: Look for “Build A Modern Computer From First Principles” using the search bar

Step 3: Enter your full name, mail ID, and password or use social login using Facebook and Gmail 

Step 4: After logging in, go to the course page and click ‘Enrol’

Step 5: After clicking ‘Enrol’, now purchase the course 

Step 6: Get access to reading material and course videos 

The Syllabus

Videos
  • Course Overview
  • Project 0 Overview
Reading
  • Week 1 Overview (start here)

Videos
  • Unit 0.0: Machine Language Primer
  • Unit 0.1: Machine Language Overview
  • Unit 0.2: Machine Language Elements
  • Unit 0.3: The Hack Computer and Machine Language
  • Unit 0.4: Hack Language Specification
  • Unit 0.5: Handling Input and Output
  • Unit 0.6: Low-Level Programming, Part I
  • Unit 0.7: Low-Level Programming, Part II
  • Unit 0.8: Low-Level Programming, Part III
  • Unit 0.9: Project 4 Overview
Reading
  • Module Overview (start here)

Videos
  • Unit 1.0: The Road Ahead
  • Unit 1.1: Program Compilation Preview
  • Unit 1.2: VM Abstraction: the Stack
  • Unit 1.3: VM Abstraction: Memory Segments
  • Unit 1.4: VM Implementation: the Stack
  • Unit 1.5: VM Implementation: Memory Segments
  • Unit 1.6: The VM Emulator
  • Unit 1.7: VM Implementation on the Hack Platform
  • Unit 1.8: VM Translator: Proposed Implementation
  • Unit 1.9: Project 7: Building the VM Translator, Part I
  • Unit 1.10: Perspective
Reading
  • Module Overview (start here)

Videos
  • Unit 2.1: Program Control
  • Unit 2.2: Branching
  • Unit 2.3: Functions: Abstraction
  • Unit 2.4: Function Call and Return: Implementation Preview
  • Unit 2.5: Function Call and Return: Run-time Simulation
  • Unit 2.6: Function Call and Return Implementation
  • Unit 2.7: VM Implementation on the Hack Platform
  • Unit 2.8: VM Translator: Proposed Implementation
  • Unit 2.9: Project 8: Building the VM Translator, Part II
  • Unit 2.10: Perspective
Reading
  • Module overview (start here)

Videos
  • Unit 3.1: The Jack Language in a nutshell
  • Unit 3.2: Object-Based Programming
  • Unit 3.3: List Processing
  • Unit 3.4: Jack Language Specification: Syntax
  • Unit 3.5: Jack Language Specification: Data Types
  • Unit 3.6: Jack Language Specification: Classes
  • Unit 3.7: Jack Language Specification: Methods
  • Unit 3.8: Developing Apps using the Jack language and OS
  • Unit 3.9: A Sample Jack App: Square Dance
  • Unit 3.10: Graphics Optimization
  • Unit 3.11: Perspective
Reading
  • Module Overview (start here)

Videos
  • Unit 4.1: Syntax Analysis
  • Unit 4.2: Lexical Analysis
  • Unit 4.3: Grammars
  • Unit 4.4: Parse Trees
  • Unit 4.5: Parser Logic
  • Unit 4.6: The Jack Grammar
  • Unit 4.7: The Jack Analyzer
  • Unit 4.8: The Jack Analyzer: Proposed Implementation
  • Unit 4.9: Project 10: Building a Syntax Analyzer
  • Unit 4.10: Perspective
Reading
  • Module Overview (start here)

Videos
  • Unit 5.1: Code Generation
  • Unit 5.2: Handling Variables
  • Unit 5.3: Handling Expressions
  • Unit 5.4: Handling Flow of Control
  • Unit 5.5: Handling Objects: Low-Level Aspects
  • Unit 5.6: Handling Objects: Construction
  • Unit 5.7: Handling Objects: Manipulation
  • Unit 5.8: Handling Arrays
  • Unit 5.9: Standard Mapping Over the Virtual Machine
  • Unit 5.10: Completing the Compiler: Proposed Implementation
  • Unit 5.11: Project 11
  • Unit 5.12: Perspective
Reading
  • Module Overview (start here)

Videos
  • Unit 6.1: Operating Systems
  • Unit 6.2: Efficiency Matters
  • Unit 6.3: Mathematical Operations
  • Unit 6.4: Memory Access
  • Unit 6.5: Heap Management
  • Unit 6.6: Graphics
  • Unit 6.7: Line Drawing
  • Unit 6.8: Handling Textual Output
  • Unit 6.9: Input
  • Unit 6.10: String Processing
  • Unit 6.11: Array Processing
  • Unit 6.12: The Sys Class
  • Unit 6.13: Project 12: Building the OS
  • Unit 6.14: Perspective
Reading
  • Module Overview (start here)

Videos
  • Unit 7.1: More Fun To Go
  • Unit 7.2: More Fun To Go
  • Unit 7.3: More Fun To Go
  • Unit 7.4: More Fun To Go

Instructors

The Hebrew University of Jerusalem Frequently Asked Questions (FAQ's)

1: When can a learner be able to access the lectures from the trainers and can do the assignments?

Your access to lectures and assignments is highly dependent on your type of enrollment. If you opt for a course in audit mode, then applicants will be able to see most of the course materials free of cost but for access to graded assignments and to receive Certification of the course, you are required to purchase the certificate experience, during or after your audit.

2: Does Coursera provide financial aid or even a Scholarship?

Yes, Coursera provides financial aid to the learners who cannot afford to pay for Certification. The benefit of Financial Aid or Scholarships in this course is that the learner will be able to access all of the course content and complete all work required to earn a Course Certificate.

3: Which university is offering the Build A Modern Computer From First Principles course on Coursera?

The Hebrew University of Jerusalem is offering the course.

4: Is Transfer Financial Aid provided by COURSERA?

Unfortunately, Coursera does not transfer payments, Financial Aid, or scholarships across its different courses.

5: Is it important to take Nand To Tetris Part 1 before opting for Nand To Tetris Part 2?

It's not essential or compulsory to firstly opt for Nand To Tetris Part 1  and then for Nand To Tetris Part 2  as they are both stand-alone courses. 

6: In total how many assignments do the learners have to submit in order to pass the course?

To pass the Nand To Tetris Part 2 course you have to complete 6 projects of programming.

7: What are the requirements for opting for the course?

You should be at least well aware of the basic level of the introduction of computer sciences in order to understand the course.

8: Which programming languages one has to be aware of for completing the assignments of the course?

The Nand To Tetris Part 2 expects its learners to submit their assessments in any version of Python or Java because of which it will be assumed that the learner has basic programming ability in both languages, including a basic ability to understand and write simple object-based programs.

Back to top