Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: A Self-Taught Programmer's Library
7 points by ljordan on Dec 1, 2010 | hide | past | favorite | 4 comments
I search the web extensively looking for guidance and resources to build a curriculum that I can follow to learn to program. I want to get out of my current job and into work building software. I have some experience, but still consider myself a beginner.

One thing I noticed is that there are a huge amount of resources available but they are pretty widely dispersed. It occurred to me that it might be helpful for beginner-types to have a place to go that collects pointers to these resources. I can't be the only person with this idea, so why haven't I found something like it? Since I'm building my own study plan I've already found a lot of the content that would make the site. Perhaps the site would elicit feedback/improvements and become a useful resource and place for self-motivated beginners to connect with fundamental topics of programming.

HN has impressed the hell out me as being a really cool group of people. What do you think?




MIT hosts a lot of their course materials online at http://ocw.mit.edu/index.htm . Dig through some of their classes.

I'm not sure at what level you mean by 'beginner', but my recommendation is to run through 6.001 (Structure and Interpretation of Computer Programs). MIT has a new Python-based intro class that has since replaced 6.001, but the old class is still a very well-baked and well-respected curriculum.

After that, if you want, dig into a couple data structures and algorithms classes (like 6.006) to build up your theoretical background.

Next look into a software engineering course (theirs is 6.005). This should get you a bit of feel for diving into a large system without getting lost, or organising one of your own.

After that, just start poking around at things that look interesting. Build something shiny. (That's the great thing about our industry---you can get your tools for free, and build something useful without making a huge initial investment. That would not happen in a lot of other fields.)


Such a thing is currently languishing as my #3 side project.

The idea is a curated directory of topical resources that takes into account what you already know, and what you'd like to learn.

E.g. the "Scala" topic may take into your self-assessed familiarity with the "Java" and "functional programming" topics to omit the learn-programming-with-Scala links and jump straight to the Scala-for-programmers links.

The content exists only as curated links to external sites with a well-written summary and sundry taxonomic information. User submissions will be welcome, but reviewed and catalogued before being published.

A small recommendation shall operate as well. If you've given yourself a 2 (out of 3) for "JavaScript" and have flagged an interest in "Statistics" then it'll recommend and tailor the "Data Visualization" page for you to include only the relevant links for your level.

This came about after witnessing the dozens of "What language should I learn?" and "How can I start ____?" threads that pop-up on Reddit, here, and various other forums.

Sorry I don't have a link for you right now, but just wanted to let you know you're not alone in missing a resource like this!


The problem is that there are so many different areas that such a resource would have cover, likely it would be quite hard to navigate. The difficulty is that someone learning and someone experienced creating/adding to the site see things differently and would look in different areas. For example, I haven't done linear algebra in years but am currently relearning it since I'm working on an extremely complicated problem that requires some very advanced knowledge. With Google, Wikipedia, and Stackoverflow I can find almost everything, it's just a matter of finding the correct terminology so I know where to look and how to read the documentation.

I've taken a look at w3school and it gives a pretty good overview, enough so that afterwords someone should be able to find what they need (I am biased since I already know a few languages). I remember I first expanded beyond C using codemonkey, though I don't know if they still exist or what state their tutorials are in.


Check out http://www.reddit.com/r/carlhprogramming/

+1 For MIT open courseware..

my advice is to just dive in you will pick it up.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: