A course in Computer Architecture, as taught to students in years 4 to 6. The course starts with simple comcepts, such as decisions involving "yes" and "no" and keeps adding layers until we program a fully operational computer that we have built ourselves (in a logic simulator). Beyond computer architecture, this course aims to teach a child that they can understand a complex topic by breaking it down into simple steps and following a logical progression.
The course follows a bottom-up approach, topics being: information, bits, binary numbers, binary arithmetic, Boolean logic, logic gates, adders, subtractors, binary multiplication and division, sequential logic, latches, registers, counters, hexadecimal numbers, negative binary numbers, multiplexers and decoders, memory, arithmetic logic unit, input, output, program counter, instruction register, fetch/decode/execute cycle, a complete computer using gates, machine code, assembly language.
Each lesson typically introduces a relatively self-contained topic, such as Ethernet, with asides potentially thrown in, such as how a CD works. Starting from week 3 there is a continuing course called "A Course in Computers", which takes up about half the lesson, each week building on the previous to form a continuing sequence. Italics denote the topics that belong to this course, in the list below.
Notes on setting up a self-contained computer network for teaching
Michael's description of how to compile and run Scratch3.
Simcirjs Logic Simulator.
Zip archive of simcirjs, which you may unzip into a directory then run by opening the file index.html in a web browser.
Git repository for simcirjs source code
Copyright John Dalton 2018
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.