Ask HN: How can I learn computer science?

9 points by jmsbrwr ↗ HN
Let's say that, over the next six months, I wanted to learn a bunch of computer science topics that are used in-industry and how they are used. What would you recommend I learn and in what order?

Also, are there any lesser known resources that would help? Obviously I know of Coursera and EdX, but I am hoping there are a few more gems out there.

10 comments

[ 5.2 ms ] story [ 19.0 ms ] thread
Computer science is pretty broad. You have to know what field you want to get into other wise I can just point to you random links with things that might not be of interest to you. Are you looking to become a software engineer or a web developer?
I'm currently a student at App Academy (similar to Dev Bootcamp), so I suppose I am being trained for web development, but that isn't what I want.

I want to go into software engineering and start my own business. My idea is to take these boot camps like App Academy and tailor the material to computer science, which I believe will be much more effective at landing jobs for students.

The problem is that I don't know whether this is a valid idea and I want to use myself as a test. My question is, given six months, can I learn enough computer science to get a job that uses something other than Rails.

You're doing a great thing right now by attending App Academy. It's a gateway to a better future because one you will learn how to program in a fun way which will spark more interest and hopefully passion. I actually wanted to attend App Academy but I'm in Seattle.

Web development will allow you to learn programming in a fun way and then a year or two you can transition that into bigger and better things.

For example. If you learn web development using Ruby on Rails, after some good experience with that language you can take what you learned into say something like Java which is an enterprise heavy language and from there you can get into web development with Java and move onto software development but everything takes time.

I get what you are saying and I think, to a decent extent, that was my goal in accepting a spot in the program. I want to learn C++ mainly because it is a huge language with some darker corners and the general consensus seems to be that half-knowing C++ is just plain dangerous in a production environment.

Moreover though, I want to work in a field where I find my work to be meaningful and I think education is a very good opportunity. The education market is ready to be rocked by an earthquake.

Ultimately you're going to need to know multiple programming languages in your toolbox to be considered dangerous. I recommend Java, C++, Python and Javascript IMO.
I meant dangerous in a bad way. :P I agree though. I have some background in Python and I am learning JavaScript now. C++ is next.
The first language is 90% of the effort, it's not super unusual to be proficient in a new language in six months (for a given value of proficient). While obviously there are new concepts (static typing, functional programming), the first language is definitely the hardest.