Twenty Three Hundred Learn Computer Systems by Hacking Hardware

Labs

Labs are the main learning activity for Twenty-Three Hundred.

Lab Pages

The labs are mostly self-directed, but include times for you to work with your classmates and tutors.

Week 1: introduction

Pick up your microbit, fire up your IDE, compile and debug your first assembly program. (link)

Week 2: first machine code

Write a custom piece of machine code and learn how numbers are really saved on your microbit. (link)

Week 3: maths to machine code

Translating mathematical expressions into assembly sequences and an introduction to branching. (link)

Week 4: blinky

Using the load-twiddle-store pattern to turn on and blink the lights on your microbit. (link)

Week 5: sound and light

Using functions to play sounds and blink lights on your microbit. (link)

Week 6: functions

Write functions with parameters, return values, and keep track of where you are going so you can find the way back! (link)

Week 7: data structures

Creating arrays in assembly to communicate using morse code. (link)

Week 8: buttons and interrupts

Taking input from the world (finally!) (link)

Week 9: inputs and outputs

Putting it all together with inputs and outputs (link)

Week 10: network connections

Using GPIOs and wires to transmit data from microbit to microbit. (link)

Week 11: the C programming language

Coding a step above assembly using C. (link)

Week 12: DIY operating system

Putting it of your knowledge together to create a simple multi-tasking OS (really!) (link)