Based on the comments I see here (about how they wished to learn CS, or CS vs EE), I wish this book had a different title with more of an indication that this is a operating systems book (though not 100%). Computer Science is more than what is presented here.
Big O Notation/Data Structures/Algorithms, ala Dr. Knuth
Proof and theorems
Computer architecture and design (NAND gates and the like)
Language design, interpretation, and implementation
...and much more.
Do not get me wrong, I believe this book is valuable (BIG 'THANK YOU' to Ian Wienand for it). I just wish the title could have been different.
I agree, the book isn't very "bottom-up" at all, perhaps with the exception of "Binary and Number Representation" being the second chapter; the rest of it looks like OS stuff.
I agree, and these are important CS topics. However, Big O made so much more sense to me after I've had a chance to understand basic machine execution and written a few non-trivial programs.
There's another aspect regarding when to introduce some of these topics - getting kids and new CS students interested and energized about what they are studying. I know the argument could be made that if these topics aren't of interest then don't do CS, but they must be introduced at the right time.
Big O Notation/Data Structures/Algorithms, ala Dr. Knuth
Proof and theorems
Computer architecture and design (NAND gates and the like)
Language design, interpretation, and implementation
...and much more.
Do not get me wrong, I believe this book is valuable (BIG 'THANK YOU' to Ian Wienand for it). I just wish the title could have been different.