Careers360 Logo
ask-icon
share
    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 2480yesCoursera

    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,480


    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)
    Programming Assignment
    • Project 0

    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)
    Programming Assignment
    • Project 4

    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)
    Programming Assignment
    • Project 7

    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)
    Programming Assignment
    • Project 8

    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)
    Peer Review
    • Project 9

    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)
    Programming Assignment
    • Project 10

    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)
    Programming Assignment
    • Project 12

    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.

    Student Community: Where Questions Find Answers

    Ask and get expert answers on exams, counselling, admissions, careers, and study options.