Many of my nerdy friends are trying to learn the basics of programming, as a vocational skill. They're not interested in computational science, which is often what's taught.
In college classes, these friends often encounter the situation where a class is taught by 1 professor each term, and the intro classes tend to receive the less-desirable professors. These are the professors whose assignments don't line up with class lessons, who teach programming history before techniques, etc. This puts them into the situation of having to suffer though learning a difficult subject with little help, or waiting years until one of the "better" professors teaches an intro class.
With Codecademy, it's easy to get discouraged because of the lack of people around -- you can go onto the forums, but there are no humans in proximity to commiserate or discuss hard problems. Further, some of the problems are broken -- while you and I can just "look in the back of the book" aka read the forum, others see this as "cheating" in the same way that reading a GameFAQ is "cheating" at a game.
What seems to be needed is something similar to Codecademy, but with lab/office hours -- where people can work at their own pace but in the same space as others at their same level, and people with more advanced skills, who can give advice and mentor. I've envisioned this as a hackerspace for some time, where the mentors are also working on projects, and may even receive advice from other members. Like a mix of montessori schools and valve.
It would be great to hear your thoughts on CodeHS.
>but with lab/office hours -- where people can work at their own pace but in the same space as others at their same level, and people with more advanced skills, who can give advice and mentor
This is literally a description of what we are trying to build at CodeHS.
>With Codecademy, it's easy to get discouraged because of the lack of people around -- you can go onto the forums, but there are no humans in proximity to commiserate or discuss hard problems.
Yup. And every beginner gets stuck. If you like our approach, contact us at team@codehs.com!
I don't know why you chose Codeacademy as an example of an online course but left out edX and Udacity and Coursera, which all have decent discussion forums and hackers of all abilities.
With Codecademy, you can just begin lessons. My experience with edX, Udacity, and Coursera is that the class is structured, so you can't work at your own pace.
Harvard's CS50x has a very loose structure. It's open until April 23 and one can complete the exercises, problem sets, lectures on his own time.
MIT's 6.00x has a strict weekly structure.
Udacity's courses have all eliminated the schedule and are now always-open, self-paced.
Most of Coursera's courses are structured.
If you want your friends to actually become programmers I'd recommend that you push both an Intro course as well as codeacademy for language practice. Codeacademy by itself isn't going to get you anywhere. The tutorials don't provide a solid enough foundation to actually implement anything meaningful. As a beginner programmer I went through every Python tutorial in < 30 hours. I used them as Python language practice, which worked well as a supplement to the core Intro courses. Both Udacity and 6.00x use python so they work well with codeacademy's python tutorials.
Udacity's courses have all eliminated the schedule and are now always-open, self-paced.
I didn't know that. Thanks. I'll mention it to them.
If you want your friends to actually become programmers I'd recommend that you push both an Intro course as well as codeacademy for language practice.
That's great advice. I can't teach my friends because I'm not really a programmer -- I was a business major turned cloud engineer who's still teaching himself.
Codeacademy by itself isn't going to get you anywhere.
I gained a great amount from finishing about 1/4 of code year. I feel like I grasp the fundamentals of programming and could soon become an intern at a startup. I wish my friends could learn as easily as I do...
Unfortunately that is not true for every Coursera course.
Most of them I've seen run by schedule, with weekly assignments. Classes that aren't open yet are closed for access, even if they have already run.
Comments
Many of my nerdy friends are trying to learn the basics of programming, as a vocational skill. They're not interested in computational science, which is often what's taught.
In college classes, these friends often encounter the situation where a class is taught by 1 professor each term, and the intro classes tend to receive the less-desirable professors. These are the professors whose assignments don't line up with class lessons, who teach programming history before techniques, etc. This puts them into the situation of having to suffer though learning a difficult subject with little help, or waiting years until one of the "better" professors teaches an intro class.
With Codecademy, it's easy to get discouraged because of the lack of people around -- you can go onto the forums, but there are no humans in proximity to commiserate or discuss hard problems. Further, some of the problems are broken -- while you and I can just "look in the back of the book" aka read the forum, others see this as "cheating" in the same way that reading a GameFAQ is "cheating" at a game.
What seems to be needed is something similar to Codecademy, but with lab/office hours -- where people can work at their own pace but in the same space as others at their same level, and people with more advanced skills, who can give advice and mentor. I've envisioned this as a hackerspace for some time, where the mentors are also working on projects, and may even receive advice from other members. Like a mix of montessori schools and valve.
Stephen--
It would be great to hear your thoughts on CodeHS.
>but with lab/office hours -- where people can work at their own pace but in the same space as others at their same level, and people with more advanced skills, who can give advice and mentor
This is literally a description of what we are trying to build at CodeHS.
>With Codecademy, it's easy to get discouraged because of the lack of people around -- you can go onto the forums, but there are no humans in proximity to commiserate or discuss hard problems.
Yup. And every beginner gets stuck. If you like our approach, contact us at team@codehs.com!
It sounds like a great program for high schoolers. What about us older people?
Older people can use it as well. Weve had students as young as 5, 9, 10, and as old as 80. Right now we are focusing on HS, but any beginner can try.
CodeHS is well on its way to that, providing help from live tutors and feedback on coding projects -- http://news.ycombinator.com/item?id=4835649.
I don't know why you chose Codeacademy as an example of an online course but left out edX and Udacity and Coursera, which all have decent discussion forums and hackers of all abilities.
With Codecademy, you can just begin lessons. My experience with edX, Udacity, and Coursera is that the class is structured, so you can't work at your own pace.
Harvard's CS50x has a very loose structure. It's open until April 23 and one can complete the exercises, problem sets, lectures on his own time.
MIT's 6.00x has a strict weekly structure.
Udacity's courses have all eliminated the schedule and are now always-open, self-paced.
Most of Coursera's courses are structured.
If you want your friends to actually become programmers I'd recommend that you push both an Intro course as well as codeacademy for language practice. Codeacademy by itself isn't going to get you anywhere. The tutorials don't provide a solid enough foundation to actually implement anything meaningful. As a beginner programmer I went through every Python tutorial in < 30 hours. I used them as Python language practice, which worked well as a supplement to the core Intro courses. Both Udacity and 6.00x use python so they work well with codeacademy's python tutorials.
Udacity's courses have all eliminated the schedule and are now always-open, self-paced.
I didn't know that. Thanks. I'll mention it to them.
If you want your friends to actually become programmers I'd recommend that you push both an Intro course as well as codeacademy for language practice.
That's great advice. I can't teach my friends because I'm not really a programmer -- I was a business major turned cloud engineer who's still teaching himself.
Codeacademy by itself isn't going to get you anywhere.
I gained a great amount from finishing about 1/4 of code year. I feel like I grasp the fundamentals of programming and could soon become an intern at a startup. I wish my friends could learn as easily as I do...
I bet you'll learn a lot trying to teach your friends - it's a great way to solidify concepts in your own mind.
I've learned that I'm bad at teaching my friends.
Actually you can view Coursera's courses whenever you want and do it at your own peace.
Unfortunately that is not true for every Coursera course. Most of them I've seen run by schedule, with weekly assignments. Classes that aren't open yet are closed for access, even if they have already run.