Computer Science from the Bottom Up (2013)
bottomupcs.com
Computer Science from the Bottom Up (2013)
1–10 of 161 posts
Re: Computer Science from the Bottom Up (2013)
#2Re: Computer Science from the Bottom Up (2013)
#3I will read this over the course of the next few days and edit this comment with my thoughts and notes.
Re: Computer Science from the Bottom Up (2013)
#4Re: Computer Science from the Bottom Up (2013)
#5I know many people won't agree with this but all of the people I admire in the world of CS and everyone who is a true scottsman for all intents and purposes loves dipping down to a lower level once and a while. I think the best way to learn about computer science it to program for a machine so simple anyone can understand how every bit works. No magic.
One such example of this is old retro computers. Systems like old Z80 machines. If I wanted to teach everyone how to be an amazing programmer I'd start them out on an old broken computer, help them fix it and get it working, help them get programming and wet their feet copying in some hex values to get some binaries programs working, start them up with a notebook and give them "homework" of a few really useful routines to write for themselves in Assembly. They'd write the assembly and compile it with pen and paper so ther really understand what's going on. Then we'd write an assembler together, then from an assembler we'd write up a standard library, then from there we'd get to a compiler for a language they make up. After that the sky is the limit. Maybe help them start writing their own ROMs for the machines and see where they can take it. (Maybe 6 months to 1 year)
If someone was able to get through that they'd really, truely, understand everything in the computer. Funnily enough that's what most of my CS education feels like right now (except much less fun and I'm learning less then I would from this). Intersplice these sessions of training with lectures of computer architecture, basics of electronics, how each of the components in the computer works, different protocalls and why they are used. You'd be very well rounded and pretty much well suited for many programming jobs. Follow this up with a slow maybe 5 week transition period where you come back to a modern computer, learn some C and why C was made, learn some LISP was made, and then apply that to real world projects while only introducing new technologies and concepts only when they are of imediate use and then allow the student to learn directly from taking advantage of the benifits of these technologies.
I think a student would come out very well rounded from something like this. I wish I could pay for an education like this.
Re: Computer Science from the Bottom Up (2013)
#6As someone who was trained on the hardware side of EE, but has a passion for general CS and is truly fascinated by it, I believe this book will be perfect for me. I have programmed on and off for years with varying levels of intensity, but have never truly understood and studied the lower level aspects of what I was doing. My programs range from robot control to web apps, but all have been on the uppermost levels of…
The book is well worth the $10s you pay for it and it isn't written like a textbook and more like a tutorial/walk through the park of computer science.
Re: Computer Science from the Bottom Up (2013)
#7Re: Computer Science from the Bottom Up (2013)
#8Big 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.
Re: Computer Science from the Bottom Up (2013)
#9As someone who was trained on the hardware side of EE, but has a passion for general CS and is truly fascinated by it, I believe this book will be perfect for me. I have programmed on and off for years with varying levels of intensity, but have never truly understood and studied the lower level aspects of what I was doing. My programs range from robot control to web apps, but all have been on the uppermost levels of…
If you want to try something out but get put off by some of the C frustrations like dealing with memory and working out how to deal with the standard library you should pick up a cheap copy (or download the free copy) of Structure and Interpretation of Computer Programs. It's a book that walks you through, program by program, all of the basic concepts of programming languages, computation, and programming in a clear…
Re: Computer Science from the Bottom Up (2013)
#10I've been rattling this idea around in my head and, although it may sound crazy, I think C is a little high level to start an adult out on. I know many people won't agree with this but all of the people I admire in the world of CS and everyone who is a true scottsman for all intents and purposes loves dipping down to a lower level once and a while. I think the best way to learn about computer science it to program fo…