Live data from Hacker News

Ask HN: I dropped out. How do I continue my CompSci education?

news.ycombinator.com

1–10 of 33 posts

Ask HN: I dropped out. How do I continue my CompSci education?

#1
I am a second year CS undergrad who is taking an (indefinite) break from school to start a startup. It's a great opportunity, things are looking promising, and I have no regrets about it.

But I don't want to remain stagnant in my knowledge. What are some topics in CS that I can self-learn? What are some great OCW courses/textbooks/resources I can use to continue learning about advanced CS topics?

Here's what I have taken already: Discrete Math, Data Structures and Algorithms, Intro to Computer Architecture, Intro to Artificial Intelligence.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#2
Some familiarity with Numerical Analysis is, in my opinion, a must to a practicing Software Engineer. The official course book where I took the course was Dahlquist,G.L., Bjorck,A. Numerical Methods. I didn't use it too much so I can't comment on readability, but it does cover the material well.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#4
I would highly recommend iTunes University, its has many high quality recordings of lectures from many of the top universities. I've been programming for 10+ years and am self-taught, however I'm currently 'attending' the Programming Methodology course from Stanford University.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#6
More algorithms and theory. In my experience the first algorithms course you take glosses over a lot of things and outright omits a lot of other (very cool!) things. I also enjoyed compilers and OSes, but I ended up doing high level stuff so I haven't had to care about either since school.

These topics aren't strictly computer science, but I highly recommend studying number theory, abstract algebra, and graph theory.

As far as resources go, I would use CLRS/OpenCourseWare/whatever you can find. I don't think the texts I used to study the above topics were exemplary, so anything you find on them will probably be as good.

Also, this place: http://www.topcoder.com/tc?module=Static&d1=tutorials&#3...

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#7
An operating systems course and a compiler course are what would complete your fundamentals. I have no idea how good the OCW courses are on these subjects (or if they even exist at all), but if they sound something like "build your own OS/compiler" then you're probably on the right track.

Bear in mind these two courses will contribute minimally (if at all) to your startup but its a nice to have a basic knowledge of how these two things work.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#8
Congratulations, you made absolutely the right choice, even if the startup is a total failure.

As someone who has worked with many right-out-of-school CS graduates, I'd strongly suggest you pursue a lot of code writing. I'm sure you'll be doing this at the startup. But spend as much time as you can doing it, and learning from errors in production, and in review.

The real thing that CS programs lack is teaching people how to program. I mean that seriously. They focus on theory, but rarely on actual programming. If your startup does not consume absolutely all of the programming energy you have, then work on a cutting edge open source project on the side as well.

If you wish, there are classes in iTunes university, and you can surely peruse the catalog of the university you left, find the classes you would have taken, and buy the books, or comparable (cheaper) books on the same subjects and study them. I've done this in the past, but found that books targeted at practitioners in the field are generally more effective (and at the same cost or less) than those targeted as textbooks. (Back when I was younger, when I'd be going into a new area and wanted to research it, I'd wander into college bookstores looking for things like machine vision, etc.)

The industry oriented books won't have tests and problem sets for you to do... but you don't need them because you're pursuing this knowledge to help you complete some goal, right? For instance, maybe you want to build a robot that can compete in GPS Magellan and you need computer vision expertise for that? (That's what I did.)

When you are excited about a project, you will go and devour what you nee to learn, and you will learn it much more deeply and fundamentally than any class can teach you.

So, find projects and pursue them.

Post reply on HN