The purpose of this course is to build a general-purpose computer(Hardware and Software) that can run any program. The first six projects are focussed on building the hardware for the computer(called HACK) and the latter projects are focussed on the software that sits on the top of the computer.
Project 1: Implementation of Elementary Logic Gates
This project aims at building 15 elementary logic gates using a Hardware Description Language (HDL) in turn yielding a basic chip-set.
Project 2: ALU
Built combinational chips leading to the computer's ALU chip
Project 3: RAM
Built sequential chips leading to a Random Access Memory (RAM) unit.
Project 4: Machine Language Programming
Implemented two machine-language programs.
Project 5:Computer Architecture
Completed the construction of the Hack CPU and Hack hardware platform, leading up to the top-most computer chip.
Project 6: Assembler
Built an Assembler in Java programming lanaguage for the 16-bit Hack assembly language.