3 ms·
Entire computers built with alternative technologies are a neat project and fun to look at, but I disagree that they make a computer any easier to understand, s
by femto 8y ago
Entire computers built with alternative technologies are a neat project and fun to look at, but I disagree that they make a computer any easier to understand, since they are still overwhelmingly complex to look at. I agree that they make a computer more approachable, by demonstrating that there is no "black magic" involved. I write this comment having recently taught a course on computer architecture to 11 year olds. In my mind hierarchy makes a computer easier to understand, and a physical incarnation makes it hard to hide the detail compared to a more abstract representation.
The approach I took in my course, which seemed to work, was bottom up:
* Information
* Bits: answers to yes/no questions
* Binary Numbers and Arithmetic
* Logic and gates: AND/OR/NOT
* Combinatorial logic: XOR, Half-adder, Full-adder, 4-bit adder
* Sequential Logic: RS-Latch, Master-Slave Register, 4-bit register
* A counter (=register+adder)
* Mux/Demux, Encoder/Decoder
* Memory (=registers+decoder+mux)
* Arithmetic Logic Unit (=functions+mux)
* Input/Output
* Program Counter, Instruction Register
* Fetch/Decode/Execute cycle
* Control
* A complete computer using gates
* Machine Code (write and run a program on our gate level computer)
* Assembly Code
The entire course was run using SimcirJS [1].
I think hierarchy is key, as each level of the hierarchy can be presented as a relatively small and simple to understand circuit. For example, the bulk of the gates in the final computer are in the memory, but the memory is presented as a single schematic symbol with the complexity hidden. The child understands what is inside the memory symbol but doesn't have to think about it while comprehending the computer as a whole.
It worked to present the entire computer in symbolic form (in SimcirJS), then demonstrate how we could use different easily understandable technologies to build a simple gate: electricity, mechanics, hydraulics, ... The students were able to see that once we had a basic gate in a technology of choice, we could just "turn the handle" to produce a complete computer by mirroring the easy to understand symbolic form and that there was no "magic" involved.
[1] https://kazuhikoarase.github.io/simcirjs/ https://kazuhikoarase.github.io/simcirjs/
- shawnz 8y agoSounds a little like nand2tetris: https://www.nand2tetris.org/ https://www.nand2tetris.org/
- AnIdiotOnTheNet 8y agoAnother link for people interested in this sort of thing: https://eater.net/8bit https://eater.net/8bit