Option 1
CPU Visual Simulator Assembly
Write assembly for a simple accumulator CPU: immediate and direct addressing, arithmetic, IF-THEN-ELSE, WHILE-DO loops and bitwise logic.
Option 2
Linear and Circular Queues
Run array-based FIFO queues on an Arduino, expose the space the linear queue wastes after dequeue, and fix it by shifting and by circular indexing.