This is bottom-up: http://www.charlespetzold.com/code/ http://www.nand2tetris.org/ I've only read a little bit of the 2nd book (IIRC I stopped reading and lost interest when I found a very obvious and repeated error), but all of the 1st one. The 1st one is highly recommended. IMHO the trend of teaching things in CS top-down doesn't encourage understanding of how computers actually work, which turns out to be quite im…
Computer Science from the Bottom Up
41–46 of 46 posts
Re: Computer Science from the Bottom Up
#42On the first day of the first course as a CS major, the prof said something like "in this course you'll learn how computers work from the bottom up", turned to the blackboard, and wrote Maxwell's equations. We laughed, and he said, "You're laughing because I got it wrong, no? You need quantum mechanics for transistors". We actually ended up starting at logic gates, flip-flops, and latches. But the joke was a great re…
Re: Computer Science from the Bottom Up
#43Earlier quoted context omitted.
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.
But you don't need to learn how Unix works to understand computer science. If you did, Church and Turing would've been rightly screwed.
Re: Computer Science from the Bottom Up
#44This is bottom-up: http://www.charlespetzold.com/code/ http://www.nand2tetris.org/ I've only read a little bit of the 2nd book (IIRC I stopped reading and lost interest when I found a very obvious and repeated error), but all of the 1st one. The 1st one is highly recommended. IMHO the trend of teaching things in CS top-down doesn't encourage understanding of how computers actually work, which turns out to be quite im…
Well, people could easily lose interest if they come into the field wanting to be able to make computers do cool stuff, and they're stuck with circuits and binary for a while before even being able to do that. Those are fine coming later after learning at least some amount of higher-level code in which you can explore the potential of what you can make happen with programming. Being able to see some of your code make…
Re: Computer Science from the Bottom Up
#45Re: Computer Science from the Bottom Up
#46This is bottom-up: http://www.charlespetzold.com/code/ http://www.nand2tetris.org/ I've only read a little bit of the 2nd book (IIRC I stopped reading and lost interest when I found a very obvious and repeated error), but all of the 1st one. The 1st one is highly recommended. IMHO the trend of teaching things in CS top-down doesn't encourage understanding of how computers actually work, which turns out to be quite im…
Well, people could easily lose interest if they come into the field wanting to be able to make computers do cool stuff, and they're stuck with circuits and binary for a while before even being able to do that. Those are fine coming later after learning at least some amount of higher-level code in which you can explore the potential of what you can make happen with programming. Being able to see some of your code make…
Starting with higher-level languages tends to breed more misconceptions, because the students get used to seeing things "seem to work like this", and having only a vague, superficial understanding, it is much harder to unlearn these than to learn the truth in the beginning.
It's also not as if things like logic, data representation, and the sequential nature of programs don't matter at higher levels --- whenever one uses conditional statements and loops, a good grasp of boolean logic is essential. Why numbers have a finite range, floating point values aren't exact, etc. all depend on knowing how data is represented. Not knowing these things will at best make it difficult to reason about code, and increase the chance of introducing bugs; at worst, it can lead to security flaws.