When learning C, it's easy to get stuck building text-based terminal applications that simply ask for user input and print a result back out. While those are great for learning the basics of the language, deeply understanding CPU architecture, memory management, and game engine foundations requires seeing how code directly translates to visual output.

We just published a new course on the freeCodeCamp YouTube channel that moves beyond the terminal to focus on direct pixel manipulation and graphics. Created by Gustavo Pezzi, this hands-on tutorial leverages the cross-platform power of the SDL3 library to teach you how to build a low-level software renderer from scratch.

Throughout the course, you will learn how computers handle memory by creating and managing a custom frame buffer. You will learn how to map 2D screen coordinates to a 1D memory array, handle essential operating system events, and control timing to cap your frame rates for smooth 60 FPS animations. To wrap everything up, you will use your new pixel manipulation skills to render the iconic Doom fire effect using nothing but CPU instructions.

You can watch the full course on the freeCodeCamp.org YouTube channel (2-hour watch).