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 Informations
Certificate Availability
Certificate Providing Authority
INR 2480
yes
Coursera
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
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