11 ms·
Show HN: A sequence of online courses to learn web development from scratch
- markcmyers 13y agoGreat 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 http://amzn.to/1aOyqch
- gautambay 13y agoThanks, will check it out. We've leaned towards free resources where available, though $5.99 shouldn't burn a hole in most pockets.
- ankitml 13y agoDevops is something not included by majority of web dev classes. Yet it is not ignorable in this profession. Do include something on that.
- k__ 13y agoYes, 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.
- iamwithnail 13y agoSeconded - I'm dipping my toe into this now, and it's baffling. I wish I'd started earlier...
- teemo_cute 13y agoThere are lots of free udemy courses that teaches web development. Here's the link: https://www.udemy.com/courses/Technology/?view=grid&price=free https://www.udemy.com/courses/Technology/?view=grid&price=fr... You need some digging to find the courses that interest you, but it's well worth it.
- gautambay 13y agoWe did look at Udemy, and in fact include one of their courses in the Learning Path. Are there any others you think we should include?
- jjsz 13y agohttp://www.theodinproject.com/curriculum http://www.theodinproject.com/curriculum | https://www.penflip.com/konoko.minoki/learning-computer-science-with-go https://www.penflip.com/konoko.minoki/learning-computer-scie...
- gautambay 13y agoMy 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 founders@mysliderule.com)
- k__ 13y agoHow 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.
- cjf4 13y agoAs someone who's left the beginner stages recently, I found OOP stuff to be mostly intuitive and easily to relate to real world examples. Steve Job's explanation at the below link galvanized it. The only difficult part was some of the implementation. Function calls on "self" took a while to get used to. http://www.rollingstone.com/culture/news/steve-jobs-in-1994-the-rolling-stone-interview-20110117 http://www.rollingstone.com/culture/news/steve-jobs-in-1994-...
- muraiki 13y agoI think that this particular approach might be useful only for individuals with a bit of time on their hands, but it really helped me. When I was trying to grasp OOP I decided to make a project using the Seaside framework for Smalltalk. There's an excellent free book available here: http://book.seaside.st/book http://book.seaside.st/book While it's not explicitly an OO tutorial it was really helpful for me, coming from a web development background, to better understand how ideas like inheritance play out in a real application. Seaside is a component-based framework, so ideas like instances and subclassing objects with different features were very concrete. On top of that, when viewing the site in your browser in dev mode you can click on any component and explore its state. Of course one also has to pick up Smalltalk for this to work out, so it does require a particular commitment! But Smalltalk itself is a great way to learn OO, as it's based entirely around objects and messages, using a very simple syntax. Even if other OO languages don't fully adhere to this idea, it's still helpful when moving on to other ones. A great way to learn Smalltalk is Pharo by Example. http://pharobyexample.org/ http://pharobyexample.org/ Actually, one could just use this on its own to learn OO. But playing with Seaside was a lot of fun! Otherwise, I found the OO portion of Learn Python the Hard Way to be quite good, and that's probably the better choice for pretty much everyone. :)
- netcan 13y agoI wish more subjects/professions were accessible like this.
- gautambay 13y agoWe're working on it! Next up: Data analysis. Which ones would you like to see?
- netcan 13y agoAs an immediate step, data analysis sounds good. :) As a theoretical, how about medicine, pharmacology, every flavour of engineering, fine art, music, architecture. Coding, graphic design seem to have a few things going for them that make them a very natural fit for self learning online. Part of it is not needing much outside of a laptop and an internet connection, but math needs even less and you find far fewer autodidact mathematicians. I suspect that not needing a curriculum is actually a part of it. I don't dispute that having a curriculum available to you can be useful and that following a curriculum will get you from start to finish will probably give you a relatively efficient, high success rate path. But, I think that the more self contained and small an effective quanta of learning is, the more suited it is to self learning.
- gautambay 13y agoConsidering that learning is a means to an end for most people, another factor is employers' willingness to hire a self-taught individual -- far greater in areas like software development or design (where one can showcase one's skills through a portfolio) than say medicine (where the only credential of accepted value is a professional degree). Not saying that's the way it should necessarily be, but the status quo presents a hurdle for self-learners and content creators. That said, we're in this for the long haul, and we definitely want to try and push the boundaries in areas other than software/technology down the road.
- netcan 13y agoLike I said, data analysis sounds great as a next week idea. Where can I hear about it when it goes live?
- krmmalik 13y agoThis 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.
- ryangallen 13y agoI would also mix in Jeffrey Way's tuts for HTML, CSS, and jQuery. (They say 30 days but you can do them each in less than a week.) https://courses.tutsplus.com/courses/30-days-to-learn-html-css https://courses.tutsplus.com/courses/30-days-to-learn-html-c... https://courses.tutsplus.com/courses/30-days-to-learn-jquery https://courses.tutsplus.com/courses/30-days-to-learn-jquery
- gautambay 13y agoThanks, will check these out!
- username42 13y agonothing about node.js ?
- buckbova 13y agoI spent a good amount of time trying to find a decent good place to learn node but couldn't find anything I liked. I ended up buying Manning's Node.js In Action. It's not bad and I'm about halfway through it. I'd like if it included some exercises instead of the follow along approach. http://www.manning.com/cantelon/ http://www.manning.com/cantelon/ Do you have any recommendations?
- sehr 13y agoIs node.js really comparable with something like Django?
- JoeAnzalone 13y agoThis 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-GkKOtygG-m18Mk5q30/edit?usp=sharing https://docs.google.com/document/d/1jlJCxNG7XyCPpUNRybH1b2Pb...
- gautambay 13y agoThanks, 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?
- rdudek 13y agoReally 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 13y agoGood 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 13y agoThat 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.
- xmmx 13y agoThis 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.
- Kurtz79 13y agoI 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.
- muraiki 13y agoI 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.
- thinkpad20 13y agoI 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...
- spez 13y agoSteve, the Udacity instructor, here. I actually deliberately didn't use Django specifically because it's so complicated for beginners (and for pros, IMHO). I was trying to avoid magic. Webapp2, which is the web framework GAE users, and what we used in the course, is about as simple as you can get without starting from scratch.
- 13y ago
- 2arrs2ells 13y agoThis 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 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 13y agoYes, 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.
- gautambay 13y agoThat's right, we created a Python/Django Learning Path because that's what we knew best (also, there seem to be fewer resources on the topic). We'll be sure to check out the book for the Ruby version of the Path.
- parul 13y agoI think "Ruby outshines Python" is a matter of great debate, and I wouldn't say that one is universally better than the other, rather it depends on your application and personal preferences! I am the author of the path, and before we started building SlideRule, we evaluated Django/Python vs Ruby/Rails briefly .. I am a big fan of python, so the choice was obvious for me :-) That said, this is just one web-dev path and doesn't in any way claim that Python is superior to the alternatives. There can be so many more - on RoR, Node or even more recent ones like scala .. hope experts will help us build those. If you are interested, please write to us at contact@mysliderule.com!
- frozenport 13y agoPython, through SciPy/NUMPY is well positioned for the future of web development, which is a numerically driven world. I see Ruby as better PHP,. Lastly phython is more universal, which is good. So I do think Python is a really good choice for introductory programming.
- deleted 13y ago[deleted]
- epeterson19 13y agoI 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.
- eriktrautman 13y agoIt'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 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 -- erik@theodinproject.com
- gautambay 13y agoJust checked out your profile and saw your post from a few days ago. Would love to chat more and exchange notes. Will email you.
- blueblob 13y agoThis 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 13y agoAgreed. 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.
- gautambay 13y agoFair point.
- zeppelinnn 13y agoI'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.
- nickgrosvenor 13y agoYes I agree, if you're wanting to learn web development, then rails is the way to go, there's more resources for current problems and fixes in rails than anything else.
- parul 13y agoYou are right, Nick. Rails is more mature in the number of resources available and its dev-community. But increasingly around me, I see more people starting to build on python. I have seen tons of learning material and bootcamps on RoR but not even a fraction of that on Python/Django . That was one of the reasons we thought that documenting our learning would be useful!
- pekk 13y agoThere is not just one way to go.
- OafTobark 13y agoIs 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 13y agoMy 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.
- RankingMember 13y agoAdded to my list of tutorials to attempt and hopefully steam through. I love guided lessons like this.
- govilk 13y agoso how do you earn?
- listic 13y agoI would like to learn a different framework, but: Is it really recommended to learn git in the end?
- pekk 13y agoSeveral things will work, but the odds are that you will end up learning git eventually and there's no good reason not to learn it earlier rather than later. It's probably not as bad as you think
- parul 13y agoI strongly think so. Even as someone who had used version control before (CVS), I found Git fairly intimidating in the beginning. I feared it much till I fell in love with it. Further, it is hard to make someone appreciate the need for version control without getting them to write enough code first.
- paulwithap 13y agoCool 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 13y agoQuoting 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 13y agoAlso, 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!
- paulwithap 13y agoThank you both for your responses! I speak from vivid memories of frustration with that course. I didn't notice the bridge section you had put there. I do really admire and appreciate what you're doing. I'm a self-taught web dev, and the most overwhelming part was just figuring out what to learn next. I'm glad someone is trying to solve that problem for others!
- GhostHardware 13y agoIs Chrome Dev Tools really that much better than Firefox dev tools? What about firebug?
- parul 13y agoNot necessarily.. depends on your choice of browser. I prefer Chrome, but I know a lot of web-devs, esp those are on Linux or those who have been coding from pre-Chrome days, prefer FF/Firebug. Also, when developing for compatibility with multiple OS/browsers - you sometimes end up using many. Ee have even used "IE DevTools" to debug some of the IE specific issues :-)
- mrborgen 13y agoThis 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 13y agoDefinitely. Making the tool more intelligent and providing personalized recommendations is on our mind. Priority++ based on your request.
- infinitebattery 13y agoThis is a great list! Also, check out this: http://www.reddit.com/r/cs50/comments/1nx2au/life_after_cs50/ http://www.reddit.com/r/cs50/comments/1nx2au/life_after_cs50... It's another really good list of courses :)
- infinitebattery 13y agoThis is a great list! Also, check out this: http://www.reddit.com/r/cs50/comments/1nx2au/life_after_cs50/ http://www.reddit.com/r/cs50/comments/1nx2au/life_after_cs50... It's another really good list of courses :)
- urs2102 13y agoAnother great tool, especially if you're looking at Rails is: http://www.theodinproject.com/ http://www.theodinproject.com/ It's in beta but it's pretty great from the looks of it.
- jscn 13y agoFYI: I got a 403 error when I tried to sign up (CSRF verification failed). You should probably override the default template for that error page, too. Nice to see you're using Django, though!
- parul 13y agoHey, sorry about that! Could you please try again and see if the error persists? If it does, please send me an email with your work setup & flow details at parul@mysliderule.com