Start with "The Elements of Computing Systems" by Nisan and Schocken. It's a book built around the goal of designing and constructing a computer from the ground up, starting with hardware design and ultimately writing the compiler and virtual machine for a simple Java-like language that runs on the computer you designed. You can download all the software necessary; all the software and support material work very well…
Anyone knows where I can order this book in india? I checked and couldn't find it in any of the major book shops or libraries. Amazon is not an option coz I cannot pay for the shipping. Any other ideas?
Ask HN: What if I missed the good stuff in my undergraduate education?
41–48 of 48 posts
Re: Ask HN: What if I missed the good stuff in my undergraduate education?
#42Earlier quoted context omitted.
Anyone knows where I can order this book in india? I checked and couldn't find it in any of the major book shops or libraries. Amazon is not an option coz I cannot pay for the shipping. Any other ideas?
nbcindia.com has it for Rs. 1323 with free shipping in India, but it takes 20-30 days.
Re: Ask HN: What if I missed the good stuff in my undergraduate education?
#43The point of an undergraduate education isn't to learn stuff, it's to learn HOW to learn stuff. Having a knowledge base in a particular field is only a sometimes-useful side effect. If you can't learn that stuff on your own now, then you failed at college. More college is not the answer.
Worried your education is incomplete (How could it not be?) or unknown unknowns? Do some research! (Research? Again?!) Every CS program in the world has their curriculum online. See what they think you should be learning. You had to pick classes, right? Didn't you consider the options then? Find discussion of CS curricula. This post by Philip Greenspun springs to mind:
http://blogs.law.harvard.edu/philg/2004/10/02/what-would-an-...
Oh, wait. Holding back a rant. I guess I didn't this time.
Re: Ask HN: What if I missed the good stuff in my undergraduate education?
#44The point of an undergraduate education isn't to learn stuff, it's to learn HOW to learn stuff. Having a knowledge base in a particular field is only a sometimes-useful side effect. If you can't learn that stuff on your own now, then you failed at college. More college is not the answer.
I couldn't agree more. Every time I see a question like this, I have to hold back a rant. What, didn't they teach you to read at your liberal arts college? How many classes do you have to take before you see the pattern? Here's the syllabus, read the book, go to lectures that rehash the book (except for the occasional, exceptional class), do some exercises, review for a mid-term and a final? Don't know what book(s) t…
I didn't mean to say that's the best way to learn. But it is certainly A way to learn, and one that should be (utterly) familiar to you.
Re: Ask HN: What if I missed the good stuff in my undergraduate education?
#45Start with "The Elements of Computing Systems" by Nisan and Schocken. It's a book built around the goal of designing and constructing a computer from the ground up, starting with hardware design and ultimately writing the compiler and virtual machine for a simple Java-like language that runs on the computer you designed. You can download all the software necessary; all the software and support material work very well…
http://video.google.com/videoplay?docid=7654043762021156507#
However, the poster already has an undergraduate degree in CS. I imagine he knows much of this material already. There is story that Kazhdan (a mathematician) would, pointing to a book, tell his graduate students: "You should know everything in this book ... but don't read it!" I haven't figured out how to do this in mathematics (yet), but here is what I would do in CS: buy a $200 Xilinx FGPA kit (or write a hardware simulator), design a CPU, build a compiler and design an operating system for it. When you get stuck or need help look up references, read tutorials, talk to mentors, go online, whatever, etc. You're going to encounter all the same challenges if you read a book like this or take a class, but this way you'll own the problems that come up, and your solutions, rather than having them spoon-fed to you by a teacher or book.
Re: Ask HN: What if I missed the good stuff in my undergraduate education?
#46I have a similar, but slightly different issue. I also have an undergraduate degree, and I did take courses in operating systems, compilers, and algorithm design. The trouble is that I don't remember anything. I remember taking the courses, but there was a huge amount of information that got shoved into my head and remained there just long enough to pass the exams and now it's gone. This is an enormous pity, because…
I agree with other posters that you'd relearn the material faster, and this is a kind of remembering. I'd also add that you've probably internalized concepts and skills from your undergrad that you don't consciously realize or connect to your education.
What makes you think it would be any different the second time around? (Except that you might retain more having seen it once already.) I don't mean this as a challenge. I've had similar feelings in the past (How can I hold onto this? Why am I forgetting so much?) and I've gone back to school recently and I've struggled with learning how to learn in a better way. It isn't an automatic slam dunk.
Re: Ask HN: What if I missed the good stuff in my undergraduate education?
#47Start with "The Elements of Computing Systems" by Nisan and Schocken. It's a book built around the goal of designing and constructing a computer from the ground up, starting with hardware design and ultimately writing the compiler and virtual machine for a simple Java-like language that runs on the computer you designed. You can download all the software necessary; all the software and support material work very well…
Anyone knows where I can order this book in india? I checked and couldn't find it in any of the major book shops or libraries. Amazon is not an option coz I cannot pay for the shipping. Any other ideas?
Re: Ask HN: What if I missed the good stuff in my undergraduate education?
#48Start with "The Elements of Computing Systems" by Nisan and Schocken. It's a book built around the goal of designing and constructing a computer from the ground up, starting with hardware design and ultimately writing the compiler and virtual machine for a simple Java-like language that runs on the computer you designed. You can download all the software necessary; all the software and support material work very well…
This is a great book, although before you get started with this one, I would recommend this other one for a quick hands-on intro to compilers and interpreters: "Writing Compilers and Interpreters: A Software Engineering Approach, 3rd Edition," by Ronald Mak. If you've never had much guidance on the subject, writing a compiler for "The Elements of computing systems" could take an unnecessarily long amount of time your…