1. Introduction
Before anything
1.1. What Will I Learn?
The purpose of this course is to learn how a conventional computer works
The topic starts with transistors and ends with programming a computer

A collection of four transistors. Although these transistors are all physically different, their function is the same.
There are several layers of abstraction between transistors and programming that will be covered
Transistors
Logic Gates
Latches
Registers
Memory
Adders
Arithmatic Logic Units (ALUs)
Combinatorial and Sequential Logic
Control Logic
CPUs
Architectures
Machine Language/Assembly Language
Compilers

High-level idea of the von Neumann architecture. One of the interesting features of this architecture is how memory stores both data and instructions.

High-level idea of the Harvard architecture. This architecture has separate memory for data and instructions.
1.2. Resources
This course only has one required special resource — Digital
Free software for simulating digital circuits
Available on GitHub

Screenshot of a small portion of a modified version of the 8-bit computer designed by Ben Eater. The larger circuit is a simulated fully functional and programmable turing complete computer.
1.2.1. Supplementary Resources
This course has several recommended supplementary resources
Not required, but provide additional practice, context, details, etc.
At the end of each topic, content from various resources will be suggested
The course content is available on GitHub
There is no requirement to access this content
However, students are encouraged to make contributions to the course content
The textbook Introduction to Computing Systems: From Bits & Gates to C/C++ & Beyond
Not required, but for those that like textbooks, it is great
Ben Eater has an amazing YouTube playlist where they build a turing complete computer on breadboards
These videos are fantastic and provide more details on components than will be covered in this course

Part of the 8-bit breadboard computer, as designed by Ben Eater.
The game Turing Complete
Players incrementally construct and program a turing complete computer

Screenshot of an ALU from a larger computer made within the game “Turing Complete”.
1.3. For Next Time
Get your computer at home set up for the course
Play the level “Crude Awakening” from the Turing Complete game
Read Chapter 1 of your text
19 pages