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.