Best Learn to Code Platforms
June 01, 2020
Coursera vs edX vs LinkedIn Learning vs Udemy vs Udacity vs CodeCademy vs freeCodeCamp vs Treehouse vs PluralSight vs Khan Academy
Overview
Learning to code has never been easier thanks to the appearance of countless learn to code platforms since 2010. Despite the crowded landscape, distinct differences exist between them. No one platform has it all, but each platform is typically great at something. This post aims to provide a bird's-eye view of some of the most popular learn to code platforms.
Table of Contents
Best Platform Lists
Best Free Learn to Code Platforms
- freeCodeCamp (for beginners who are technically inclined, or experienced developers) — See review
- Khan Academy (for beginners who are not technically inclined) — See review
Best Platforms for Complete Beginners
Best Platforms for Developing Real-World Projects for Beginners
Best Platforms for an Experienced Dev to Quickly Learn About Popular tools
- Google/YouTube
- LinkedIn Learning — See review
Best Platforms for an Experienced Dev to Learn About Obscure Tools
- Google/YouTube
- Udemy — See review
Best Platforms for Direct-Access to a Teacher (and Expense is Acceptable)
Best Platforms to Learn Computer Science
Best Platforms for Anyone (Beginner to Expert) with a background in Math
Learn to Code Platform Comparison
Best viewed at >1200px width (larger than a small tablet)
Comparison Categories
Cost
How much does it cost?
5 | All courses are free. |
---|---|
4 | Most courses are free, or there is a small (US$40 or less) one-time fee for most courses. |
3 | Most courses are less than US$40/month. |
2 | Most courses are US$40-100/month. |
1 | Most courses are US$100+/month. |
Who is this Category For?
- Anyone who cares about their spending.
Additional Notes
- When courses are offered for free, but important features (such as graded assignments) are missing, then those courses are not considered when weighing the cost of the platform.
- It's assumed that one course is taken at a time when a recurring fee provides access to only one course.
- One-time fees are converted to monthly based using expected course duration according to the platform (typical estimated work load is about 10 hours per week).
Teacher feedback
- Will your projects be reviewed by an experienced developer?
- Can you engage directly with an experienced developer with a guaranteed response?
5 | Projects are graded by a teacher. Direct access to a teacher is available within a reasonable timeframe. |
---|---|
4 | Projects are graded by a teacher. |
3 | Projects are graded by other students. |
2 | Consistently active community exists where another student will likely respond to your query. |
1 | Feedback from a teacher or other experienced developer is not reliably available. |
Who is this Category For?
- Beginners who could use some guidance.
Additional Notes
- This category is often closely related to Real-World Projects, as project instructions are often accompanied by an assessment by peers or a real teacher.
Range of Tools
- How many tools (languages, platforms, libraries, protocols, etc) does the platform cover?
5 | Each tool from the basket of tools was covered. |
---|---|
4 | Each tool except one or two from the basket of tools was covered. |
3 | Most tools from the basket of tools are covered. |
2 | Most tools from the basket of tools are not covered. |
1 | Only one or two tools from the basket of tools was covered. |
Tool Type | Tool Name |
---|---|
Language | Python |
JavaScript | |
Java | |
PHP | |
C# | |
Swift | |
Golang | |
Front-end Framework | React |
Angular | |
Back-end Framework | Python's Django |
PHP's Laravel | |
Java's Spring | |
Mobile | React Native |
Machine Learning | TensorFlow |
Data Science | Python's Pandas |
Apache Spark | |
Video | WebRTC (most obscure tool here) |
Distributed Computing | Kafka |
Kubernetes |
Who is this Category For?
- Beginners who want to keep their options open after signing up for a platform.
- Experienced developers interested in learning something specific.
Computer Science
- Is there is material that explicitly teaches computer science?
- If yes, how deep does it go?
5 | Many computer science specializations exist. |
---|---|
4 | Few computer science specializations exist. |
3 | Complex data structures covered in some courses. |
2 | Basic data structures covered in some courses. |
1 | Basic computer science concepts are not explicitly covered. |
Who is this Category For?
- Beginners with a background in Math.
- Experienced developers who never studied this in school.
Additional Notes
Top Tech companies such as Google, Facebook, Amazon, and Apple have established rigorous and fine-tuned interview processes after years of data on the matter at a very large scale. This allows them to care a lot less about certifications and degrees.
Real-World Projects
- Does the platform offer projects to give you a taste of real-world experience?
- Are there videos of instructors walking you through or describing the project?
- Who are the project instructors?
5 | Real-world projects are presented with a description or walkthrough as a primary objective of courses -- by screened instructors. |
---|---|
4 | Real-world projects are presented with a description or walkthrough as a primary objective of courses. |
3 | Real-world projects are presented with a description or walkthrough, but are not a primary objective of courses. |
2 | Real-world projects are presented with a description or walkthrough, but without additional context of a course. |
1 | Real-world projects are not available. |
Who is this Category For?
- Beginners who are ready to start building software for the first time.
- Experienced developers who are interested in tackling a project that is completely outside their wheelhouse.
- Anyone in-between the above two groups.
Additional Notes
- A real-world project is typically completed by the student on their own computer -- not through the platform's website. It may be uploaded for assessment in the platform's web app (or student's Github account). It is never completed within the platform's web app. It can be completed from instructions, or video walkthroughs.
- Project walkthroughs are sets of videos where an instructor walks you through building a project, demonstrating implementation details step-by-step. They're typically more suitable for most beginners. If they're presented in an advanced course, it's typically a very small demo project.
- Project instructions come in written or video form. They are high-level, conceptual overviews of a project (which omit implementation details). They are often not ideal for complete beginners. They are often accompanied by one of the following forms of assessments (explored in the Teacher Feedback category):
- answer a quiz based on the project that was just completed
- automated grader that assigns either a pass/fail or a score based on number of test cases that passed/failed
- peer-review (by other students taking that course)
- review by a formal teacher
- Consistency of instructor or project quality was not taken into consideration because an effort was made to minimize the subjectivity of category grading. However, this is explored in each platform's review.
- Sometimes, a platform will refer to coding challenges within their web interface as projects. Although they may provide an excellent learning opportunity in many ways, they're not real-world projects.
- Some platforms, such as freeCodeCamp and CodeCademy, occasionally post project walkthroughs on YouTube. These videos are not apart of their platforms and were not considered during grading.
Beginner Environments
- Does the platform offer coding challenges in interactive, safe environments with artificially helpful error messages which make it suitable for total beginners?
5 | Beginner-friendly coding environment available providing artificially helpful error messages as you type. |
---|---|
4 | Beginner-friendly coding environment available providing artificially helpful error messages after submitting each mini-challenge. |
3 | Beginner-friendly coding environment available, but progression path not clear between courses. |
2 | Beginner-friendly coding environment available intermittently, but not available as the primary method of learning. |
1 | No beginner-friendly coding environments available. |
Who is this Category For?
- Beginners who have never touched a line of code.
- Beginners who enjoy learning within a rigid, guided structure.
Omitted Categories
The following categories were omitted from this comparison for the following reasons:
Range of Difficulties
Due to the widely varying backgrounds of different learners, categorizing platforms into distinct grades based on difficulty is impossible.
Interview Prep
Interview prep means a lot of different things depending on the exact position being interviewed. For example, Top Tech companies typically present at least an algorithm coding challenge. This style of coding challenge is extensively available at platforms like: HackerRank, LeetCode, GeeksforGeeks, or AlgoExpert. Among the platforms compared in this blog post, only freeCodeCamp provides this style of coding challenge.
Certifications
Some popular certifications have entire platforms dedicated specifically to a single type of certification. There are even entire platforms dedicated to offering practice exams. Only PluralSight (from this list) provides practice exams for some popular certifications, however even that is through a third party called Kaplan.
Omitted Platforms
The following platforms were omitted from this comparison for the following reasons:
Code.org
Code.org is difficult to compare to the platforms listed here because it's so strongly oriented towards the youngest learners. In Code.org's exercises, elements of programming languages are provided as building blocks. Rather than write the code, you simply drag and drop, composing elements together. See examples. If Khan Academy is too difficult, go to Code.org -- it's designed for learners as young as 3.
Codewars
Codewars is not a learn to code platform. It's an interview-style coding challenge platform in a league with HackerRank, LeetCode, GeeksForGeeks, and AlgoExpert.
The Odin Project
Most of The Odin Project's back-end content is Ruby, a dying language.
DataCamp and Dataquest
DataCamp and Dataquest are too niche for this comparison as they only offer content relevant to aspiring data analysts and scientists.
BrainStation and Nology
BrainStation and Nology are actual live classes led by instructors costing thousands of dollars.
O'Reilly, Packt, and SitePoint
O'Reilly, Packt, and SitePoint are primarily intended for existing professionals interested in expanding their skills (similar to LinkedIn Learning in this respect). These three are non-fiction publishing companies who have made their books and videos available through monthly subscriptions (like Spotify for non-fiction books). Their content is comprehensive, specialized, and not ideal for beginners.
Final Words
No one platform has everything. Each platform's set of strengths is unique -- except for Coursera and edX. These two platforms offer some of the exact same courses, so it's no wonder their comparisons produce identical results. However, they -- along with several others -- are great resources for developers at any level.
An important note is that there is something for everyone, even the least technically proficient who might be afraid of writing a line of code -- at Code.org. Khan Academy and freeCodeCamp are excellent starting points for anyone who's ready to write a line or two. All three are 100% free.
Regrettably, web scrapers were not used this year to provide additional insight into these platforms. If you think there's a platform missing, or just have a question or comment, please let me know!