CodeCademy is a wonderful place for you to learn the first steps of programming. However, it is not the only one out there. Each individual who joins has their own profile. To motivate users to participate, the site offers feedback, badges for completing exercises, as well as a function that keeps track of a user’s total score and total day streak, and displays it to others. There are also CSS and HTML glossaries available within each tutorial. The site allows anyone to create and publish a new course using a Course Creator tool. As wonderful as CodeCademy may be, it does not help you get to the next level, and even if it did, you would never become a good programmer by just using it.
Over the last few years I realized what I believe to be an universal truth:
“One must never follow a single source”.
The path to knowledge is not a straight line, it is not a highway. It is a tricky road with many sideways. Some of them will lead you to new adventures where you can redefine yourself, while others will teach you life lessons. In the end, the best programmer, is always the most experienced one. Experience is won not just by practicing, but also by choosing and testing alternatives.
This guide is all about that – alternatives to CodeCademy. Because if you are ever to get serious in learning how to program, or just if you are curious, you have to remember that the more sources you have, the better the odds that you will improve.
Therefore, in this guide we will present you with a series of alternatives to CodeCademy and a list of free courses that you can (and should) do in order to learn more – and as Dr. Seuss said, learning can take you to new places, and we all like that right?
2.1 Schools, Universities and Companies
These are the best direct alternatives you have when looking for courses and lessons outside of CodeCademy. These website also provide great courses, with video lessons, quizzes, challenges, and some of them even give you valid certificates that you can use in your curriculum. The best ones come from Universities, but they are all good, in the end what really matter is what you learned. Keep in mind however, that even though no all the options listed bellow are free, they always offer some free content that you can still explore.
- Udacity is an online university, and they present themselves as the future of online education. Its courses are very long video lessons that including homeworks, quizzes and challenges. Everything is free, but it does take a lot of time. While it does have courses in many areas, for the purposes of web developing we recommend the Web Development and the Mobile Web Development courses.
- edx program
- The edx is a non-profit program created by Harvard and MIT.It aims at giving the users a chance to have real classes online through video, with homeworks, grades and even certificates. An excellent choice for anyone wanting to learn anything. Once again, edx has a large list of courses, from which we recommend the Software as a Service v1 course and its successor, the Software as a Service v2 course.
- M.I.T. is a well known university across the world. Now they also have online courses in a lot of areas which you can take for free. Not all of them include video lessons, but you can still access all the PDFs, assignments and exams to get the skills you are looking for. We recommend the Introduction to Computers and Engineering Problem Solving course for beginners, the User Interface Design and Implementation for starting web designers and theDesign and Analysis of Algorithms for hardcore programmers. This resource offers everythign a university would normally offer, meaning that you also need to be carefully when choosing courses or otherwise you will end up learning a bunch of useless skills with no real importance in the real world.
- Coursera is another organization that has teamed up with universities in order to provide online courses for free. Just like Udacity and edx, it has a big list of courses, from which we recommend Learn to Program: The Fundamentals for the absolute beginners, An Introduction to Interactive Programming in Python and Programming Handheld Systems with Android. Coursera has many courses for advanced and specialized users as well in the areas of computer algorithmics, cryptography and artificial intelligence as well that you may find interesting.
- Khan academy is learning platform, used in online teaching that has been deployed in several American school for experimentation, and was featured in a TED Talk. its courses are well thought and encourage people to master what they learn, however, it does not have much content in web development for now. We recommend the Computer Programming course for absolute beginners, but if you are reading this, odds are that you already know most of what they teach in that course.
- Coding for Good
- Mozilla Webmaker
- Learn by doing is the principal mojo of this platform. Here you will learn by doing projects that you can choose from a pool that contains hundreds of them. Each project has tags associated with it and you can also remix projects in order to create your own. It also offers a free domain name for your projects using Thimble, allows you to remix videos using Popcorn and lets you see how the web works using X-Ray googles – Create and remix the web with Webmaker tools. Here is a list of very simple starter projects you may enjoy.
- P2PU tries to emulate other MOOC websites, however it falls short. It does not have as much content as one would expect, and its list of courses falls short when compared to its competitor, but it does have some very interesting courses, such as the GameON! Video Game Design & Development – Level 1 for game fans, the Writing for the Web for beginners who wish to learn the basics of making a blog and the more advanced coursesProgramming with the Twitter API and Haml and Sass for those who want to get to the next level by using social websits or by learning Ruby and Ruby on Rails.
2.1.2 Non-free but with trials, limited access or a free plan
- Codeschool is an online learning platform that teaches a variety of programming and web design skills through videos, quizzes and even podcasts. Courses range from beginner to advanced levels and you get to earn rewards and badges as you learn. Although Codeschool also has a variety of courses to choose from, it does require payment in the form of a monthly fee, but they also have some very good free courses that we recommend:
- Try jQuery
- Discover DevTools
- Try Ruby
- Rails for Zombies Redux
- Try Git
- Tree House
- A complete journey from Zero to Hero, Tree house has courses to teach you programming, web site making, and it also teaches you how to start your own company or make applications for iOS or Android. Although it is a payed service you still have a 30 days trial, so we strongly recommend you to take a look.
- Lynda is an online platform with courses for pretty much anything. Its Web courses are well divided into its sub-categories. It has videos and tutorials as well, but it does also require payment in the form of a subscription, and although it does offer a trial of 7 days, you still have to provide a valid credit card.
- Tutsplus is a great repository of tutorials, guides and video lessons. Just like its competitors it also has requires membership, but it does offer some of its courses and tutorials completely for free. We recommend the course 30 Days to Learn HTML & CSS. A list of more free courses can be found in their free courses section as well.
2.2 Forums, Search Engines and Communities
The second line of defense of any web developer. While the previous resources are excellent for any beginner, these resources are perfect for any intermediate/advanced user. Here is a compilation of tools that you can use to improve your knowledge. They will not give you badges nor certificates, but you can still use them to ask questions and get out of trouble.
- Reddit is the internet’s gate to everything interesting, with information and contents about anything. Its community is organized in subreddits, groups of people that share a common interest. Of all the subreddits that exist, we strongly recommend the Web_Development and Web_Design subreddits.
- University of Reddit
- A sub-community of reddit for anyone looking to teach or learn. It offers courses that are free, varied, and easily accessible. Teachers are given complete freedom in planning their curricula and how they want to carry out their class. Students don’t have to worry about attendance, grades, or tuition – this isn’t a regular university. The content is given to the students via subreddits, YouTube videos, PDF documents and other materials. It is not as easy to follow as the other methods, but if you invest time it may be worth it. From the Computer Science category, we recommend enrolling in the Intro to Web Development with HTML/CSS and Web Programming with Ruby on Rails classes.
- Stack Exchange is an aggregation of Question&Answer forums. Used by many professionals and beginners, Stack Exchange forums are widely known for their quality information. Of all the forums they have, we strongly recommend using StackOverflow and WebMasters.
2.3 Specific and Miscellaneous
The Internet is place filled with excellent resources about Web Development, here are some that we found. This resources are blogs, tutorial repositories and mini-lessons that you can check for additional information. Therefore, in the next sections we present you a list of websites that teach specific techonologies, and then we end up this section with a list of websites that work as search engines and repositories for web development information.
- Learn CSS Layout
- jQuery Fundamentals
- Dive Into HTML5
- CSS3 Transitions, Transforms, Animation, Filters and more!
- Impressive Webs
- CSS Globe
2.3.2 PHP, Ruby, Python, Git and other information
Instead of copying and pasting here another list, I decided that directing you to our guides was a better idea. The truth is that we have already done this reserach multiple times, now all you have to do is read our guides and learn from our work. We hope you enjoy:
- What do I need to learn how to build a website? – PHP, Ruby, Python and other additional information
- Introduction to Web Development Tools – Text Editors, IDEs, websites to paste your code and additional information
- Website Hosting – Your Needs and Your Free Choices – Free websites and solutions for Website Hosting
- Revision Control System – Git – Tutorials and resources on Git and GitHub
- Tympanus is a repository for tutorials, articles and code samples about Web Design and Web Development. Its content is freely available to the public. While it does not have any video courses like some of its competitors, it has interesting bundles called Collectives that are packages of overall relevant information for any web developer. The downside is that these golden treasure chests is that they often have information without any co-relation, so it is all up to you.
- Pineapple is a massive community-driven resource aggregator for designers and developers that strives to make it extremely EASY to find what you’re looking for. When you come across a site you love, you can quickly favorite it, and have it show up on your profile for later, all neatly organized and broken down by topic with your other resources.
- Line 25 is contains several resources dedicated specially to web design, Word Press, and User Interface elements. A good starting point to give your website a good look.
- Smashing Magazine
- This website has many articles regarding the standard web technologies (HTML, CSS, JavaSript), mobile design, user interface design, Photoshop tips, and word press articles as well. Overall it covers advanced aspects of all the previously mentioned categories and it sells books that compact and organize the information as well.
- Web Appers
- Web Designer Wall
- Specifically focused on Web Design, this is a good place to find examples of beautiful and interactive websites, web design tips and tutorials, and Photoshop resources.
- Web Platform Docs
Here we explored and organized several resources that you may find useful. There is plenty of help for beginners and advanced web developers through tutorials and courses, however when it comes to intermediate developers such is not the case – they should rely more on forums and learn how to properly ask for help and how to explore resources (such as code snippets) in order to evolve. I also want you to know that reading our tutorials and guides may greatly help you, and you should totally check them all.
Now, at long last, in the end I want you to remember the following:
“(…) that knolege is power, that knolege is safety, and that knolege is happiness.”
One can never know too much – such is the motto of the employed web developer. At the time of writing of this article, the world had over 7 billion people, all of them eager to get a job and to succeed in life. The one thing that distinguishes you from them is not how much you know, but how you apply it.
4. Special Thanks
- Pedro Martins, the author.
- Ksenia Dylova, for helping me collect and organize this information.
- Dominic Sabatier, for suggesting various links.
- Ben Goldfarb, for suggesting various links.
- Wafflegnome, for suggesting various links.
- Pj M, for suggestion Web_Design subreddit.
- Dipesh Bhardwaj, for suggesting various links.
- Ajdin Salihović, for suggesting a ton of links.
- Stumble Upon, for suggesting me some really cool websites as well!