I'm 17 and about to start my final year of high school. I've been interested in programming for a long time and recently became especially curious about operating systems, how hardware and software interact, the Linux kernel, and open-source development. I'm currently learning C with a beginner-friendly guide because contributing to the Linux kernel is a long-term goal, possibly even a future career path. The material is understandable, but I struggle with coming up with projects or exercises that use the concepts I'm learning. Without a clear workflow, I tend to lose direction and get frustrated. What are some structured, beginner-friendly ways to practice C, preferably using resources that don't depend on AI?
1 Answer
The best practice is to build small things, even if they aren’t related to operating systems yet. Don’t worry about jumping straight into kernel code—get comfortable with C fundamentals first. After learning a concept, make a tiny program that uses it: a calculator for functions, a number-guessing game for loops and conditionals, a contact list for structs and arrays, or a simple text-based utility for file handling. You can also modify each project by adding one feature at a time. Curiosity is enough to provide project ideas, and every small program will make the larger goal feel more manageable.

That makes sense. Kernel development is a long-term goal, so I should focus on becoming comfortable with basic C first instead of trying to work on the kernel immediately.