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 founders@mysliderule.com)
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 want a tutorial that starts with "You want an app to do X with your friends, like an imitation of Doodle for planning Dungeons and Dragons sessions? The real way? Set aside $X money/month, book a domain name, and we're going to set up a real website, incrementally, and publicly available at every step along the way."
Stuff like Heroku people make sound like it's a one stop shop but it feels like it hides too much and you don't have access to your files like you do in your desktop. It's an environment conducing to pushing out stuff quick, not learning.
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.
To be honest, I pretty much lost interest in OOP. I found the ML/Racket parts of the course much more interesting (and less confusing) - even though I barely knew any FP and had actually studied some OOP. Perhaps I was biased, either against OOP or Ruby, which was used to teach it. Hmm...
Same here, in terms of the practical elements of the course. I still found Dan Grossman's lectures entirely engrossing, and I'm not just saying that because I noticed he was a HN user.
Even though I found the Ruby/OOP part of the course less interesting than the ML/Scheme parts, I feel like it gave me a much better understanding of OOP.
Actually the optional piece where he went through a derivation of OOP at the end of the Scheme portion was also one of the most helpful things for me.
As 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.
I 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
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/ 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. :)
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.
If you want to be hear when we launch a Rails track, best way is to create an account on SlideRule. We send out a weekly newsletter that includes new stuff on the site.
Javascript track -- Not on the list right now, but tell us more. Do you know people who'll sign up for a waitlist? If we come to believe there's enough demand, we can expedite it.
Separately, I'm curious -- which bootcamp did you attend and how was your experience?
Also, checked out your profile. Domi sounds like an awesome idea with tons of potential!
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.
AI path added to the "To-Do" :-) Currently, one way to include courses you have taken to your "binder" would be to review them on our site and mark their enrolled/completed/dropped status in the form. We give users a dashboard where they can see all courses completed/enrolled in or added to watchlist. You will help a lot of learners by sharing your reviews too :-) Thanks much!
Comments
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 founders@mysliderule.com)
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 disagree. You also need to learn how the web works, about requests and responses, and handling user input through forms, etc.
What part of the deployment process are you having difficulty with?
That's all very intuitive to me.
I want a tutorial that starts with "You want an app to do X with your friends, like an imitation of Doodle for planning Dungeons and Dragons sessions? The real way? Set aside $X money/month, book a domain name, and we're going to set up a real website, incrementally, and publicly available at every step along the way."
Stuff like Heroku people make sound like it's a one stop shop but it feels like it hides too much and you don't have access to your files like you do in your desktop. It's an environment conducing to pushing out stuff quick, not learning.
Thanks for the detailed answer. I'm actually planning on creating a course and this is very valuable information. I can let you know when it's done.
Hi elbear, Please add me to the notification list too. Would love to know when the course is ready
Hi, parul. Will do. Thanks for letting me know.
Looking forward to it!
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.
Dan Grossman's Programming Languages class on Coursera includes a good treatment of OOP in the later weeks.
https://www.coursera.org/course/proglang
To be honest, I pretty much lost interest in OOP. I found the ML/Racket parts of the course much more interesting (and less confusing) - even though I barely knew any FP and had actually studied some OOP. Perhaps I was biased, either against OOP or Ruby, which was used to teach it. Hmm...
Same here, in terms of the practical elements of the course. I still found Dan Grossman's lectures entirely engrossing, and I'm not just saying that because I noticed he was a HN user.
I think those are different Dan Grossmans. (Dans Grossman?)
Ah, thanks for letting me know! That could have confused me.
Even though I found the Ruby/OOP part of the course less interesting than the ML/Scheme parts, I feel like it gave me a much better understanding of OOP.
Actually the optional piece where he went through a derivation of OOP at the end of the Scheme portion was also one of the most helpful things for me.
As 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-...
I 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
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/ 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. :)
Technical: Haskell & MongoDB Non-Technical: Basic Business for a Technical Entrepreneur (Gautam - you could be a good fit to design such a learning pth)
good call! i think i have someone even better than me in mind for it.
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.
If you want to be hear when we launch a Rails track, best way is to create an account on SlideRule. We send out a weekly newsletter that includes new stuff on the site.
Javascript track -- Not on the list right now, but tell us more. Do you know people who'll sign up for a waitlist? If we come to believe there's enough demand, we can expedite it.
Separately, I'm curious -- which bootcamp did you attend and how was your experience?
Also, checked out your profile. Domi sounds like an awesome idea with tons of potential!
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!
AI path added to the "To-Do" :-) Currently, one way to include courses you have taken to your "binder" would be to review them on our site and mark their enrolled/completed/dropped status in the form. We give users a dashboard where they can see all courses completed/enrolled in or added to watchlist. You will help a lot of learners by sharing your reviews too :-) Thanks much!
Thanks for posting this. It'll really help me out.
Will love to see learning path for Big data.
Our next one (launching this week) is in fact on data analysis! Check back at http://www.mysliderule.com/learning-paths this Friday.
Please let me somehow sign up and get an e-mail when a new learning path (like data analysis) becomes available. Great job on the site :)
For now, the best way is to just create an account on the site. Our weekly newsletter will tell you when new stuff becomes available.