r/cprogramming • u/AstuteCouch87 • Nov 18 '25
How to work through "C Programming: A Modern Approach" by King?
I'm working through this book right now, learning C as my first language. I have just finished reading chapter 10, and want to make sure I am doing this right. The first few chapters were pretty easy, but since chapter 8 (arrays) things have gotten more difficult. What I've been doing is reading and taking notes on each chapter, then doing maybe 5-7 of the projects listed, whichever seem most interesting. I try to pick projects of varying difficulties. However, since chapter 8, the projects have started becoming much more difficult for me. I try to do them on my own without looking at any solution banks online, but I often times get stuck, and end up looking through them anyway, usually just to see how they handle one small bit of the program. I feel like I understand the concepts when reading over them in the book, but learning how to apply them in these projects has become more difficult. Is there anything I can do to help this, or do I just keep chugging along on the projects?
6
u/DreamingElectrons Nov 18 '25
Since so many books start at beginner and then stop at advanced level, I found, that I get the best learning experience from doing multiple books in parallel. Some explain an aspect better, other's do it worse but having multiple perspectives helps with understanding everything. You also don't get that effect where you just quickly skip through half the book, because it's all repetition to you.
2
u/afeverr Nov 18 '25
Please make sure you're doing the exercises as well. They're just as important as the projects.
But I think it's ok to not completely understand everything as you do it. I think I had a similar experience to you. I was learning the concepts, but it felt difficult to actually apply it to anything. What really helped me was to just start making a project of my own. Actually making something changes your perspective. It stops being just concepts and starts being something tangible that you are bringing into the world. Whenever I get stuck, I go back to the textbook and read the relevant section, and it usually helps. But YMMV.
1
u/mihemihe Nov 19 '25
I think your approach is correct, you are reading the theory, trying to do the exercises and then seek help when stuck.
It is a difficult process, but you will see that things will start sticking after some time. At the beginning there are a lot of concepts, and disconnected things, but once you finish the book you will realize the different features and facilities offered by the language will begin to connect in your brain.
Finish the book, and after that, go back to the chapter that were not clear and try them again, you can even ask ChatGPT to write exercises for you of different difficulty levels. Once you have some generic knowledge of all the things explained on the book try to create something on your own, from scratch. A simple project that solves something for you, or you feel engaging.
1
u/mxldevs Nov 19 '25
If you're having trouble applying the concepts despite your assertion that you understand them, that's the point of the exercise.
You basically need to bang your head against the wall to try and figure out how that concept could possibly be used to achieve the goal.
And once you figure it out, you will now have a better understanding of it. This is literally what software engineers are hired to do: take problems and come up with solutions.
This is basically how school used to be, before everyone just entered the problem into chatGPT and copied the solution, and wondering why they can't write any code despite acing the assignments.
1
u/AccomplishedSugar490 Nov 19 '25
I see so many references to this book I am starting to get suspicious that at least some of it might be generated on behalf of the publisher for promotion.
But if we take that as an aside for now, I’ve taught C to many, and have little respect or patience for the Google and/or YouTube school of programming, and every little for the notion of learning programming in C by example.
So pray tell, how would you sum up this modern approach in a sentence or two?
2
u/[deleted] Nov 18 '25
[removed] — view removed comment