I love the material here, but it's mistitled. This isn't about computer science, it's about computers. The introduction doesn't even display much knowledge about the definition of computer science, claiming it's "possibly data structures". It's like calling a book on car repair "automotive engineering from the bottom up."
Indeed, when the first chapter is "General Unix and Advanced C", and the second one "Binary and Number Representation", that's a sign this isn't "bottom-up" at all. The list of topics seems reminiscent of the common CS textbook Computer Systems: A Programmer's Perspective.
That's fairly good. The sign of quality CS material requires explanations, analogies, summaries of facts, and diagrams. For example, explain pointers or C const rules to someone who only knows calculus. Most texts fail to accomplish these goals accessibly.
It maybe heresy to say, but Knuth doesn't explain concepts very well, reading more like a dense formal paper demanding a postgraduate mathematical background rather than elucidating concepts magnificently with both formal and informal terms. That's okay: subject matter experts need not be expert technical writers or lecturers. It could be the basis of another body of work by another author to write a compendium explaining and interpreting the Latin "Bible" to the masses. :)
I do think Knuth explains things very well. What possibly makes it difficult is he tries to keep it at a fundamental level rather than through the lens of any modern platform. One of the best chapters on random numbers is a good example. Beginner programmers might learn to import random (or secrets), lower level might learn to read from /dev/urandom and OS designers might ask a modern CPU directly. But that's not good enough. All of them depend on the fundamental concepts outlined by Knuth and do will any future computer.
If we give up a bit of our snobbery on what is Computer Science, we may realize this is probably a sane starting point for a lot of students. The generation today hasn't grown up with computers like we did, most only had a cellphone which hides away even basic things like the filesystem and goes to the extreme extents to stop you from tinkering with it.
You need a foundation for you to start making sense and to connect the dots for even the basic assumptions and theories that you may come up with.
Another way to put it is you need to know numbers(or atleast a basic sense of what they are) before you do math.
I agree. It seems to be useful material, but calling it CS is a bit of a stretch. The index makes me think of some huge tome I once had, something like Intro to Operating Systems.