Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How should I go about learning?
4 points by aoroz on May 2, 2013 | hide | past | favorite | 7 comments
Hello, I am a full time student. No job or anything. I have an interest in web/web application development. I have a basic understanding of javascript but I want to know the best way to learn. At times I feel like I do not understand what I am writing even though it works. I want to use the most efficient way to learn. My school offers CS classes and I will be taking them next semester. I am purely motivated at the moment and I want to keep learning as much as a can.


Protocademy.com teaches by doing (the proto part comes from prototyping). Its a paid program, due to how many benefits you get. It works because you learn by doing (which is the best way).

Disclaimer: I'm the founder of protocademy.com



Udacity CS101 Codeacademy

I did those two and then started to build simple web apps.

Next step would be to pick a framework and project to build.


I'd highly recommend picking up a copy of Why's Poignant Guide to Ruby, as no other introduction-level book that I've read comes close to how accessible and well written it is, and Ruby is an excellent little language for beginners. Assuming you stay with Ruby, then pick up The Well Grounded Rubyist, and get coding.

Somewhere in there, start learning how to use Sinatra (Rails is awful for beginners, IMO, as it doesn't require you to learn everything about HTTP verbs and the real dirty stuff, which hurts you when trying to make more complicated things). Then maybe pick up Rails one day.

HTML/CSS/JavaScript have excellent introductions on Codecademy, but I'm no expert in any of them - I like to scrape by with Bootstrap on personal projects.


Try Codecademy or Lynda or your local code meetups, depending on where you are.


Discere faciendo (learn by doing).

This answer is a cliche, but it is a cliche for a reason -- it really is the best way to learn and lucky for you it is highly applicable to development where access to computers is cheap and access to all the information you could ever want is even cheaper.

Instead of defining your goals in terms of "I need to learn X, Y and Z about JavaScript and HTML", define your goals in terms of "I want to build this website which I'm pretty sure might require X, Y and Z in JavaScript", all of which I will have to learn as part of the process.

I don't mean this to be a dig at you personally, but as a 40 year old who had to learn mostly out of whatever paper books and manuals I could scrounge up from local libraries, I'm kind of flabbergasted by questions like this appearing because... well, I've got to assume you have access to the Internet. Which has, like, everything on it. Everything! Perhaps in a way we swung too far too fast and the issue now is information overload, but 15 year old me would have killed for access to the type of information that is now just a google away.


I have to second this comment. When I went to college Google was just getting started. It hadn't become a concept to search for answers yet. Thus, I was discouraged by a few CS courses I took and studied something else.

Nowadays you can pick up what you need to know so easily. After a decade I finally learned some programming and built some apps. A bug in your code is no longer a show stopper because 99% of the time a quick StackOverflow search has the answer.

You don't need any intense focus or passion about the technicals - all you need to know is what you want to build. And you'll get there.

I built my first app at first only knowing python. Took ages to build the backend and then BAM! "Darn, I only learned half of it!" Then learned JavaScript after finding out there was no way around that :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: