Live data from Hacker News

Computer Science from the Bottom Up

bottomupcs.com

21–30 of 46 posts

Re: Computer Science from the Bottom Up

#22

This is a really useful resource. I've started to do something quite similar on my blog. I've been mentoring some web developers who only know html+css, and i've been using the time to write about the whole stack. My goal is to build a roadmap, not to write a recipe book. I've just started, but this is going to be a very useful reference for when I need to explain some of the more complex ideas. http://daemon.co.za/2…

man, i really wish this went deeper into data structures and their nature, instead of just diving into binary math and c memory management specifics. I'm not going to get as much use from this as I thought at first glance =/ does anybody know of any other good references to point people to when discussing the basics?

For Operating System, I've enjoyed Three Easy Pieces:

http://pages.cs.wisc.edu/~remzi/OSTEP/

Data Structures...well there's always Wikipedia and Knuth.

Re: Computer Science from the Bottom Up

#23

I read through couple chapters and enjoyed it. Does anyone have suggestions on other books dealing with this level of complexity?

For something covering the "lower half" of this material, I highly recommend Patterson and Hennessy's "Computer Organization and Design". I'm currently reading the 5th edition, and have gotten to the last chapter, which is on parallel processors.

Re: Computer Science from the Bottom Up

#24

Earlier quoted context omitted.

man, i really wish this went deeper into data structures and their nature, instead of just diving into binary math and c memory management specifics. I'm not going to get as much use from this as I thought at first glance =/ does anybody know of any other good references to point people to when discussing the basics?

For Operating System, I've enjoyed Three Easy Pieces : http://pages.cs.wisc.edu/~remzi/OSTEP/ Data Structures...well there's always Wikipedia and Knuth.

The simple english wikipedia has some useful entries on this kind of thing actually.

Re: Computer Science from the Bottom Up

#25
post #6

"from the bottom up" and the _first_ chapter is called "General Unix and Advanced C" ? This book may be useful, but I would look for another name (I wouldn't even mention computer science, but that may be because I agree with Dijkstra that that isn't science or about computers). I also think a generic computer science book shouldn't only use Linux as example OS. Also, if chapter 1 is about _advanced_C_, why does chap…

Yeah, I don't really understand that either. At first I thought it was because it was necessary in order to get the background to do programming exercises in later chapters, but there don't seem to be any programming exercises.

I think it would make more sense to put that chapter last.

Re: Computer Science from the Bottom Up

#26
post #8
post #4

Earlier quoted context omitted.

From the intro: "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 wi…

Very few bits of what you just said have anything to do with computer science. Maybe data structures, and logic.

What exactly do you consider computer science? I'm pretty sure operating systems and compilers are topics in computer science.

Re: Computer Science from the Bottom Up

#27
post #16

Earlier quoted context omitted.

Sure, but none of that has much to do with computer science. This should more accurately be called "bottom up Unix".

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

#28
post #23

I read through couple chapters and enjoyed it. Does anyone have suggestions on other books dealing with this level of complexity?

For something covering the "lower half" of this material, I highly recommend Patterson and Hennessy's "Computer Organization and Design". I'm currently reading the 5th edition, and have gotten to the last chapter, which is on parallel processors.

I should mention that print copies of the book are pretty expensive, but you can easily Google for .epub or .pdf downloads/torrents.

Re: Computer Science from the Bottom Up

#29
post #26
post #8

Earlier quoted context omitted.

Very few bits of what you just said have anything to do with computer science. Maybe data structures, and logic.

What exactly do you consider computer science? I'm pretty sure operating systems and compilers are topics in 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.

Re: Computer Science from the Bottom Up

#30
post #6

"from the bottom up" and the _first_ chapter is called "General Unix and Advanced C" ? This book may be useful, but I would look for another name (I wouldn't even mention computer science, but that may be because I agree with Dijkstra that that isn't science or about computers). I also think a generic computer science book shouldn't only use Linux as example OS. Also, if chapter 1 is about _advanced_C_, why does chap…

(author here)

This book was created both from my experiences and the experiences of teaching 3rd year operating systems classes.

Students came in to that class having done a 2nd year class (data structures and algorithms I think) that was done with a lot of C. They really learnt "high-level" C, enough syntax to get by in the their course, but most didn't really understand it -- not enough to read the source to any kernel at any rate. I don't imagine it's done like that today; this was a long time ago.

And most didn't really understand binary and hex, and how it relates to code either. You'd be amazed most 3rd year students didn't know how 2^10, 2^20, 2^30 relates to kilo, mega, giga bytes.

The book needs a lot of editing, something I occasionally get to. But apart from the odd times someone posts it to here or reddit and people consider it like a text book, it's really only ever accessed by people googling for a specific topic. But suggestions are welcome and I'll consider it when I get some time.

And on the "it's not computer science". The first commit was 10 years ago and people have been telling me that ever since. It was originally dreamed up as a course I'd teach to high-schoolers over 10 weeks to prepare them better for university -- the "computer science" degree they were planning to take. Yes, the book is really more about what would be called "systems" in the outside world.

Post reply on HN