Hi, I would be interested in starting this course after I finished reading "Code: the hidden language", however I was wondering if the ability to program was required. I am taking this path because the final goal would be to have a good understanding of what is going on behind the scenes and then continue to learn C. What do you recommend? Should I now resume c and start the course after gaining some knowledge of this language? Also I see that the second edition of the book is out, what would change? Another question: I see that there is also the course on coursera, is it updated with the second edition of the book? What changes between coursera and the book with the website?
Thanks for reading.
It's bee a while since I did the course, but I'm fairly sure some programming knowledge is required after chapter 4.
I'm sure it is Possible, but I'd guess rather hard.
I learnt C++ as my first language (which is nothing like C, they used to be similar 30 odd years ago (I know subset not similar)) which was probably a bit crazy. I think C would be fine, don't start with C++ like I did. Python is also a powerful beginners language too (which is being used everywhere, don't let the word "beginner" mislead you). C is closer to the hardware, Python more abstracted.
Learn C. Once you had a basic understanding start the course, and do both symultaneously. Maybe do some python too or java as you progress.
I'd also have a crack at learning how to use GDB (which will help you with your debugging of C, plus you'll be able to "see inside" you're machine
(I started C++98, C++03, this course, C and then C++11/14/17 onwards. Then Git, ST3 some python (It drove me mad quite a lot), but I now know what the stack is and a whole load of other stuff. This course is great !)
That authors assume that students have at least some background in programming using a high-level language. A one-semester course is in the ballpark. The reference APIs that are given are clearly targeting an object-oriented approach, but that is certainly not required.
As for the state of the Coursera course, I have no idea. My guess is that it is not. But there aren't any fundamental changes.
The authors make the assumption that students have some experience with high-level programming. A course lasting one semester is reasonable. Although it is obvious that the reference APIs provided are aimed towards an object-oriented approach, it is not necessary.
I have no idea how the Coursera course is doing right now. My prediction is that it isn't. However, there are no significant adjustments.