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])
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.
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.
Technical: Haskell & MongoDB
Non-Technical: Basic Business for a Technical Entrepreneur (Gautam - you could be a good fit to design such a learning pth)
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.
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.
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.
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.
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."
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...
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?
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.
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...
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.
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?
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.
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.
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.
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.
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.
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
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]
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.
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.
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.
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.
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.
[+] [-] gautambay|12 years ago|reply
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
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
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
[+] [-] ycmike|12 years ago|reply
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
Great project though!
[+] [-] daimyoyo|12 years ago|reply
[+] [-] rajneesh1315|12 years ago|reply
[+] [-] 2arrs2ells|12 years ago|reply
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.
[+] [-] DanielKehoe|12 years ago|reply
http://learn-rails.com/learn-ruby-on-rails.html
It was written to prepare beginners for Michael Hartl's book.
[+] [-] atmosx|12 years ago|reply
[+] [-] ravitation|12 years ago|reply
[+] [-] ankitml|12 years ago|reply
[+] [-] k__|12 years ago|reply
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
[+] [-] gautambay|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."
[+] [-] parul|12 years ago|reply
[+] [-] JoeAnzalone|12 years ago|reply
[+] [-] gautambay|12 years ago|reply
[+] [-] Kurtz79|12 years ago|reply
[+] [-] thinkpad20|12 years ago|reply
[+] [-] muraiki|12 years ago|reply
[+] [-] rdudek|12 years ago|reply
[+] [-] gautambay|12 years ago|reply
[+] [-] sailfast|12 years ago|reply
[+] [-] blueblob|12 years ago|reply
[+] [-] thinkpad20|12 years ago|reply
[+] [-] ryangallen|12 years ago|reply
https://courses.tutsplus.com/courses/30-days-to-learn-html-c...
https://courses.tutsplus.com/courses/30-days-to-learn-jquery
[+] [-] gautambay|12 years ago|reply
[+] [-] zeppelinnn|12 years ago|reply
[+] [-] markcmyers|12 years ago|reply
[+] [-] gautambay|12 years ago|reply
[+] [-] eriktrautman|12 years ago|reply
[+] [-] gautambay|12 years ago|reply
[+] [-] OafTobark|12 years ago|reply
[+] [-] parul|12 years ago|reply
[+] [-] epeterson19|12 years ago|reply
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
I'd love to help/contribute to the marketing related courses if you decide to expand your subject offerings.
[+] [-] gautambay|12 years ago|reply
Checked out your profile. I'll be in touch if/when we decide to expand to marketing.
[+] [-] netcan|12 years ago|reply
[+] [-] gautambay|12 years ago|reply
[+] [-] xmmx|12 years ago|reply
[+] [-] mrborgen|12 years ago|reply
Are you planning on adding a feature like this?
[+] [-] parul|12 years ago|reply
[+] [-] infinitebattery|12 years ago|reply
http://www.reddit.com/r/cs50/comments/1nx2au/life_after_cs50...
It's another really good list of courses :)
[+] [-] unknown|12 years ago|reply
[deleted]