Top MOOC Providers To Visit When You Want To Learn To Code Online
In recent years, there has been a rise in services that teach people to code online. This article summarizes the pros/cons and recommends what type of learning each is “ideal for”. The eLearning providers discussed when you want to learn to code online are: Udacity, Codecademy, and Coursera.
1. Udacity
Ideal for: Experienced technologists to learn new technologies. By “experienced technologists” I mean anyone who is reasonably proficient in computers beyond typical “office” use. Udacity instructors inherently assume comfort with stuff like command lines and if you are not they expect you to be comfortable with it by reading a one-page summary. This might be too much for some people.
In the real world, I refer Udacity to my internees to acquaint them with a new language or technology.
Pros
- Short videos.
What is unique about Udacity is their unique approach to delivering their course materials: via extremely short videos. No matter how tough the subject matter, the average video is between 1–2 minutes. - Go at your own pace.
One of the biggest benefits of learning to code online via Udacity is that there no time constraints. This gives you a lot of freedom if you are learning to code while being fully-employed and have other commitments. Your progress is saved, so you can pick off where you left easily. - Jedi Instructors.
Udacity was started by a Stanford professor. So it’s pretty obvious they are very picky about choosing their instructors. For example, the “Intro to Web Development” course was taught by Steve Huffman the founder of Reddit/Hipmunk. - Instant feedback on code.
Udacity makes it easy to learn to code online, by giving you a minimal coding environment right in your browser. A lot of hard work has been put into it, since it pin points your mistakes and gives feedback on why you got it wrong.
Cons
- Go at your own pace.
- Going at your own pace means no deadlines. Having no deadlines means never getting around doing something (for some people). Beginning to learn to code can be a daunting experience and since not keeping up does not lose you your course fee or a grade it’s easy to give up. So if managing time is not your strongest suite, it is best to look towards the more “paced” courses like of Coursera.
- Material/Projects can be challenging.
Since the videos are short, sometimes not a lot of background is covered. This is presumably to get you acquainted with what you’ll be doing on a real job: Finding solutions to your own problems. Nonetheless, some people who aren’t that comfortable or new with computers might find the content a bit hard to cope with. - Product Pushing.
The goal of Udacity is to land you a tech-job. And it does so by partnering with industry. The problem with this is, sometimes the products of these industry providers are pushed upon the students regardless of whether it is the right tool to do the job. For example, the “Intro to Web Development” course is taught using Google App Engine, the “Intro to Point & Click App Development” is taught by using Salesforce. It is debatable whether these two tools are the best for newcomers to web development and app development.
2. Codecademy
Ideal for: Extreme Beginners who want to see if programming is something they’ll enjoy, before they make a big commitment (such as joining for longer courses, investing in books etc.). Those who don’t enjoy reading might not enjoy Codecademy, since you have to read a lot before getting anything done.
I refer Codecademy to people who are interested or curious about programming but not enough to think about it was a career (yet).
Pros
- Gamification.
Codecademy’s content is extremely engaging. The whole learning experience is gamified, which encourages you to go on a “coding streak” and wins you badges. Learning is fun with Codecademy, to the point it doesn’t feel like coding at all. It feels like you are playing a game. - Low barrier to entry.
The biggest motivation for a learner is to know that the subject is approachable. Learning to code (or coding in general) can be intimidating and even more so when Stanford professors are trying to convince you that it is easy (I’m looking at you Udacity). The focus of Codecademy is to teach you syntax, and explain at an extremely high-level how things go from code to websites/programs. - It’s text-based.
Codecademy isn’t video-based, so it requires less of your attention. Essentially, you get instructed by your coding environment by what to do. If you don’t know what a coding environment just imagine your word processor telling you what to type in next. And then having it tell you what you did wrong. It’s neat.
Cons
- Go at your own pace.
The same weakness of Udacity applies here: since the course is self-paced some learners might eventually quit. - Quizzes shifted to pro.
This wasn’t a problem when Codecademy started, but now some of the better quizzes are now shifted to the paid “Pro” version. - It’s text-based.
Reading a ton of text makes some people uncomfortable. If you’d rather sit back and learn via videos, try considering Udacity or Coursera instead. - No advanced courses.
Codecademy has little to offer when you are past the beginner courses.
3. Coursera
Ideal for: Getting deep into subject matter and understanding every nook and cranny. Most Coursera users I’ve talked to are usually university students who are taking the courses in advance to their regular academic courses. So, it’s ideal for people who have a lot of free-time they can dedicate to learning programming.
Pros
- University level courses.
Coursera courses are university level courses taken online. Which means they are extremely detail oriented and well-structured. - Academic partnerships.
Since Coursera has partnered with a lot of universities, its instructors are also ones with academic and industry experience. For example, Andrew Ng (from Baidu/Berkeley) teaches the A.I course. So you get to learn from the best. - Niche courses.
Coursera covers niches brilliantly. For example there are courses on bio-informatics and financial engineering. It helps if you can understand programming in the context of the subject-matter you are comfortable with, and Coursera courses provide this benefit. - Multiple languages.
A lot of Coursera courses are offered in multiple languages (subtitle and otherwise). The languages being offered include: Chinese, Turkish, French, Spanish, and many others. So, if English isn’t your first language there is no need for that to be an excuse to learn how to code!
Cons
Time-consuming: Since Coursera courses are adopted from university style courses, there can be a lot of “droning” around in the lectures. Sometimes one concept is explained multiple times, which feels like wasting precious time.
- Time commitment.
Coursera courses are generally longer than the average Udacity or Codecademy course. Plus, if you are working towards a certification you will be expected to meet deadlines. - Lack-luster code editor.
The code-editor provided by Coursera (in the browser) is clunky, and is not as advanced in giving feedback on the submitted code (at least in the free versions).
So, there you have it, the three most popular MOOC providers summarized. Please let me know in the comments, in case I missed something.