"Not everyone wants to attend shop class. Most people only want to drive the car, not know how to build one from scratch. Obviously any general computing curriculum has to take this into account else it won't be relevant to its students. So computer science is taught from the "top down"; applications, high level programming, software design and development theory, possibly data structures. Students will probably be exposed to binary, hopefully binary logic, possibly even some low level concepts such as registers, opcodes and the like at a superficial level.
This book aims to move in completely the opposite direction, working from operating systems fundamentals through to how those applications are complied and executed."
Yeah, I feel like this is trying to answer the question "What is a computer" instead of "what is computer science". Still a really interesting question, but definitely not what I was expecting.
That seems intentional. This seems like it's trying to be a "fundamentals of Computer Science" type thing than actual Computer Science. It's the stuff you need to learn first before you can move into actual Computer Science.
Computation. So what is computable, algorithms, analysis of algorithms etc
Non of which you need a computer for.
An operating system in its self is an application of computation. It's like physics and a car. There is stuff in a operating system which is computer science, like how to schedule tasks etc but learning a specific os is not computer science.
Programming languages are computer science since they describe computation. Compilers are fuzzy
People have been doing computer science, long before computers existed.
I think at its core computer science is solving problems using mechanical steps(algorithms), although some people would say its even more general then that.