4917: Machine Code For Kids - The Card Game

This is a card game for teaching kids how to read and write machine code, using a simple 4 bit computer with very simple instruction set, 2 general purpose registers and only 16 cells of addressable memory. Just to manage your expectations, those are basically 54 tiny programs that I spent 2 months writing, in the guide there are examples how to play, but I mainly just walk through the code with my daughter during lunch or in the bus.



The cards have 54 small programs, illustrating various low level concepts such as:
  1. fetch execute cycle
  2. instruction arguments
  3. variables
  4. pointers
  5. self modifying programs
  6. self corrupting programs
  7. self referencing code
  8. integer overflows and underflows
  9. control flow and addressable memory
  10. code is data
  11. data ia code
  12. debugging

Buy now: €5,00 EUR

The game is based on Richard Buckland's 4 bit computer

Note: When you play with your kid, install x64dbg and show them the actual machine code of a program as it is being executed. Another thing that is really helpful is if you write a small C program that does somewhat the same thing as a specific card to illustrate it better.

Also check out the other game we made:

Programming Time, which is a game to teach python and some more fundamental algorithms, from hash tables to RSA

The C Pointer Game - Pointers, Arrays and Strings, a game to teach kids to look at the computer memory and understand references and values

The Unix Pipes Game, a game to teach kids to use basic UNIX commands: cat, sort, grep, head, tail, wc, uniq

The Unix Pipes Game - Process Substitution, an expansion of the Unix Pipes Game to teach process substitution and also: paste, tr, cut, bc

RunLength Encoding for Kids, small cards "game" to explain runlength encoding

PUNK0 - The Function Composition Card Game, use cards to manipulate a list and use its values to win the game

PROJEKT: OVERFLOW, RISCV assembler boardgame

Programming for kids, a log of my journey of teaching my daughter how to code

Example cards (6 out of 55):