top | item 7501516

Show HN: A sequence of online courses to learn web development from scratch

368 points| gautambay | 12 years ago |mysliderule.com | reply

107 comments

order
[+] gautambay|12 years ago|reply
My co-founder taught herself web development using online courses and resources. This “Learning Path” outlines the resources she found most helpful, and lays them out in a sequence that a beginner should be able to follow.

We realize this is a curriculum, not the best curriculum. We'd love your feedback on whether this is useful, and what we might change or add.

Also if you’re so inclined, we’d love feedback on our product SlideRule itself (a Yelp-like catalog of online courses), which you can access it by clicking on “COURSES” in the header.

EDIT (based on some of the comments):

We're very encouraged to see the response to this.

1. On which other subjects would you like to see such Learning Paths?

2. If you're interested in helping us build more learning paths (on any subject), we'd love to hear from you (in comments here or at [email protected])

[+] RodericDay|12 years ago|reply
Honestly I don't think that web development is that much trickier than learning how to do anything with Python. There's inputs, there's outputs, you can have a half decent REPL loop, etc.

For me the biggest hurdle by far is deployment. It's honestly impossible to describe how much of a gulf there is between those who see it as a completely trivial matter and to those who don't know what's going on.

[+] k__|12 years ago|reply
How did she tackle OOP?

I'm trying to teach a friend of mine web-development, but she struggles with OOP. Also I teached programming at a company I worked last year and all the trainees had problems with OOP.

Somehow the basics of OOP came to myself rather easy. I only had problems with the applied stuff, because all tutorials about OOP where with animals and cars.

The people I try to teach mostly have problems with the basic concepts.

[+] deepak-iiitb|12 years ago|reply
Technical: Haskell & MongoDB Non-Technical: Basic Business for a Technical Entrepreneur (Gautam - you could be a good fit to design such a learning pth)
[+] ycmike|12 years ago|reply
As a recent graduate of a Rails bootcamp, I am excited to see what you guys cook up regarding Rails.

I also wanted to see, in the future, if you guys would be interested in making a Javascript track (Javascipt, NodeJS, AngualrJS, maybe even MeteorJS too). This is something that many people are also looking to dive into as am I.

[+] bargl|12 years ago|reply
Hey this is awesome. I'd love an artificial intelligence path. Also, is there a way for me to incorporate courses that I've completed from coursera and udacity into your site? That'd be great for having a one shot glance at what I've done.

Great project though!

[+] daimyoyo|12 years ago|reply
Thanks for posting this. It'll really help me out.
[+] rajneesh1315|12 years ago|reply
Will love to see learning path for Big data.
[+] 2arrs2ells|12 years ago|reply
This is a great list.

I do think 80+% of this material (maybe everything but the "learn to code" piece) is covered in Michael Hartl's Rails Tutorial: http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

That book singlehandedly took me from "crappy C programmer" to "someone with enough knowledge to be dangerous" as a web dev.

[+] atmosx|12 years ago|reply
Yes, I found it weird that the book is not on this list, but clearly the author is geared towards python - although web development might be the only area where Ruby outshines Python.
[+] ankitml|12 years ago|reply
Devops is something not included by majority of web dev classes. Yet it is not ignorable in this profession. Do include something on that.
[+] k__|12 years ago|reply
Yes, even if it's just the basics.

You have to structure your stuff good, so most of it can be automated. Doing this later can be a real PITA.

[+] paulwithap|12 years ago|reply
Cool idea, but as someone who as actually taken the courses in this list, the order is all out of whack. There is no way someone completely new to programming could jump into Udacity's CS253 and have any idea what is going on. Even from CS101, there is a significant gap that you have to make up for on your own.
[+] gautambay|12 years ago|reply
Quoting my co-founder (and creator of this path) Parul's response to similar comment below.

"My apologies if you found that disorienting! You are right that CS101 becomes a prerequisite for CS253 (if you don't know python already). The reason I started with CS253 is because, personally for me, it helped a lot to know the top level concepts of "How web works" and the front-end (because that is what a normal user sees) and then go into concepts of server side languages which might seem too involved and dry to a beginner."

[+] parul|12 years ago|reply
Also, Paul, bridge material between CS101 andn CS253 is included in section 3.1. Do let us know if you still feel there is a gap!
[+] JoeAnzalone|12 years ago|reply
This looks great! It reminds me of this Google Doc I put together a while back, which you are free to copy/draw inspiration from. And I've already added this page to it, so that should already be a good lesson on recursion :p https://docs.google.com/document/d/1jlJCxNG7XyCPpUNRybH1b2Pb...
[+] gautambay|12 years ago|reply
Thanks, this looks very comprehensive. Especially like the list of blogs and FB pages, these are hard to find. Did you ever think about rank-ordering the resources within each section?
[+] Kurtz79|12 years ago|reply
I really liked the Udacity course. It's by no means exhaustive or representative of the ecosystem (it focuses on Python/Google App Engine, I took it quite a while ago but I assume it has not changed), but introduces a lot of basic concepts (client/server, templating, routing, caching, security, cookies...) in a very concise and efficient way.
[+] thinkpad20|12 years ago|reply
I enjoyed that course a lot; I took it in its first run soon after I started teaching myself programming. My only complaint with the course was that, for me anyway, it left a lot of mystery in terms of answering how it's all actually working. There were a lot of pieces, such as Django boilerplate code and using Google App Engine, where they showed you how to use them in a specific manner, but never really explained how they were working behind the scenes. So I felt like there was a lot of magic, and that my understanding didn't run particularly deep in some key areas. That said, the course covered a huge amount of ground and I'm sure they had to be judicious with what got covered. And I greatly enjoyed it. But I would have liked if they went with a bit more of a ground-up approach, explaining how a server worked and how data gets passed into the app, and then how that translated into Django's operation, etc...
[+] muraiki|12 years ago|reply
I second this recommendation. The Web Dev course on Udacity formed the start of what eventually became a full-time job programming for me. The course has just the right mix of breadth and depth for a beginner that moving on to any larger MVC framework will be easy.
[+] rdudek|12 years ago|reply
Really great stuff for beginners. Thanks for the list. I'll forward it along to a few people who are interested but don't know where to start. However, it does look very python-django specific route on the back-end side. My suggestion, branch out the back-end side to include paths using different frameworks and such?
[+] gautambay|12 years ago|reply
Good call! We built this one first because my co-founder taught herself Python-Django, so this was easiest for us to create. But we'd love to branch it out to RoR, etc.
[+] sailfast|12 years ago|reply
That said - as somebody looking for specific Python / Django for web development resources, this is a great approach! I could see the author forking the tutorial at certain logical points moving forward to broaden the audience, but love that it speaks to exactly what I'm looking to learn.
[+] blueblob|12 years ago|reply
This is a neat idea. I disagree a little bit with the ordering. I think the version control aspect should be placed a little bit earlier but I can see why you would want to be seeing results of what you are doing before making sure you keep track of your changes when just starting.
[+] thinkpad20|12 years ago|reply
Agreed. I'd put version control very early in the learning process of a coder. If you know enough code to be writing actual things that do stuff, you can benefit greatly from version control, and the earlier the better.
[+] zeppelinnn|12 years ago|reply
I'm really glad someone took the time to do this, and came with quite a wholesome set of resources in the end. For someone who has moderate web dev experience such as myself, I think it's also definitely useful for review as well as the aspects of web dev you may be less/not at all familiar with.
[+] markcmyers|12 years ago|reply
Great list, but I think my newish book should be on it, since it takes a unique approach that both beginners and veterans, but especially beginners, really like, as evidenced by the rather wild Amazon reviews: http://amzn.to/1aOyqch
[+] gautambay|12 years ago|reply
Thanks, will check it out. We've leaned towards free resources where available, though $5.99 shouldn't burn a hole in most pockets.
[+] eriktrautman|12 years ago|reply
It's a well put together list and a very useful website. You've done great work pulling together a whole lot of courses and it's good to see them finally being tied together into specific paths. Would you consider adding projects or additional materials to the learning paths? I've found that's what our students get the most value out of with in the project I've been working on (the odin project -- http://theodinproject.com) because it gives the students a tangible result that unites the things they've learned and they can add it to their portfolios. Often the MOOCs still hold your hand a bit too much to be a complete solution. Happy to discuss -- [email protected]
[+] gautambay|12 years ago|reply
Just checked out your profile and saw your post from a few days ago. Would love to chat more and exchange notes. Will email you.
[+] OafTobark|12 years ago|reply
Is there a reason its start with CS253 then flies back to CS101 in section 3. My prior understanding was CS101 knowledge is required for CS253 to make more sense. It seems to jump around a lot aside from adding additional resources to help learning during specific sections.
[+] parul|12 years ago|reply
My apologies if you found that disorienting! You are right that CS101 becomes a prerequisite for CS253 (if you don't know python already). The reason I started with CS253 is because, personally for me, it helped a lot to know the top level concepts of "How web works" and the front-end (because that is what a normal user sees) and then go into concepts of server side languages which might seem too involved and dry to a beginner.
[+] epeterson19|12 years ago|reply
I would throw in the Django docs+tutorial combined with stack overflow. These two resources combined are like having a personal tutor.

The django docs in particular are intuitive to follow and pretty comprehensive. Then stack overflow is good for the stuff that's not in the docs.

[+] krmmalik|12 years ago|reply
This is a great idea. I'd love to see something like this for other topics such as Data Science, Digital Marketing, Lean Start-Up, Marketing Strategy etc.

I'd love to help/contribute to the marketing related courses if you decide to expand your subject offerings.

[+] gautambay|12 years ago|reply
Thanks, that's indeed the plan! We're working on a Learning Path on Data Analysis, should be ready soon!

Checked out your profile. I'll be in touch if/when we decide to expand to marketing.

[+] netcan|12 years ago|reply
I wish more subjects/professions were accessible like this.
[+] gautambay|12 years ago|reply
We're working on it! Next up: Data analysis. Which ones would you like to see?
[+] xmmx|12 years ago|reply
This is really cool - thanks for laying out out like a progression! There are so many resources on the internet I find myself relearning a lot of things several times.
[+] mrborgen|12 years ago|reply
This is great. I have been looking for a service like this. A pain point when navigating through tutorials and courses online is finding the proper material for your skill level. Hope this service will be able lighten this task, and provide suggestions based upon a users previously enrolled courses.

Are you planning on adding a feature like this?

[+] parul|12 years ago|reply
Definitely. Making the tool more intelligent and providing personalized recommendations is on our mind. Priority++ based on your request.