Course Offerings

Introductory and advanced topics

Systems 2: Software Architecture and Design

Have you ever wondered what a computer is and how it actually works? In this course, we’ll answer the software half of this question. We will start with virtual machines and develop a high-level language, write a compiler, and an operating system. By the end, we will have developed software heirarchy that makes the hardware we developed in Systems 1 useable.

Systems 1: Hardware Architecture and Design

Have you ever wondered what a computer is and how it actually works? In this course, we’ll answer the hardware half of this question. Working from the ground up, we will start with basic circuits and develop elementary logic gates. Taking these gates as our building blocks, we will construct the core components of a modern computer. Our journey will culminate in using machine code to control the computer we have designed.