I've struggled with learning programming in the past, so I asked a friend for guidance and worked through foundational material such as K&R, Computer Systems: A Programmer's Perspective, and Operating Systems: Three Easy Pieces. I've started writing book notes and learning logs, and I'm wondering whether this is a useful approach or if I should change how I'm documenting things.
I'd especially appreciate advice on making my notes more helpful, debugging strategies I might be overlooking, and practical ways to approach programming problems. I'm also curious whether using terminal raw mode is common when detailed control over input and output is needed, or whether a library is usually a better choice.
3 Answers
Progress logs and project notes are a good idea because they can reveal patterns in the areas that repeatedly cause trouble. Just keep them concise enough that documenting doesn’t replace actually writing and debugging code. The discussion didn’t really address terminal raw mode, so that may need a separate, more focused question.
Keeping a learning log can be genuinely useful, especially as a reference for your future self. Try to record not only the correct solution, but also what confused you and how you resolved it. Notes like “I assumed X, but it actually works like Y because Z” are often more valuable than polished summaries.
For debugging, read the entire error message carefully, inspect intermediate values instead of guessing, and walk through the code line by line as though you’re explaining it to someone else. That often exposes incorrect assumptions.
You’re off to a solid start. Sharing what you learn can help other people too, as long as the notes stay practical and include your reasoning rather than only presenting final answers.

That makes sense. I’ll make more room in my notes for the parts that confused me and the steps I took to resolve them.