- π²Code: The Hidden Language of Computer Hardware and Software
- NandGame and solutions: 1, 2, 3
- From Nand to Tetris: Part 1, Part 2
- Build a computer in CircuitVerse
- Arithmazium
- π²C Programming: A Modern Approach
- CS50 problem sets (1-5) and solutions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
- Tutorial on pointers and arrays in C
- Exercism - C
- Advent of Code: CLI/runner written in C; I can't find any repos with solutions for all years, but probably there are repos with solutions for a specific year.
- Look into "better C" languages: Zig, Odin, Beef, V, Jai, C3, MiniLang, and others (minus the C++ replacements like Rust, which are too complex for my purposes)
- Handmade Hero videos plus Handmade Penguin to follow along in Linux
- Handmade Quake videos and source code
- Kohi Game Engine videos
- Make a game, taking inspiration from high_impact, raylib, Box2D 3.x (or see box2d-raylib)
- Or make a text-based game: see How to program a text adventure in C and Knuth's C port of Colossal Cave Adventure (which, incidentally, is an example of literate programming, now reincarnated in Entangled)
- Handmade Network
- π²Data Structures and Algorithms in Java
- π²The Algorithm Design Manual plus lecture videos
- π²Algorithm Design
- π²Algorithms
- π²Introduction to Algorithms
- Practice on LeetCode using a familiar high-level language (for me Ruby).
- Ruby solutions: 1, 2, 3, 4, 5
- Algorithms Ruby gem that is included in the LeetCode environment.
- Practice on LeetCode using a low-level language such as C.