Don´t worry, I´ve got you covered. This article is about the best sites (mostly free) that teach you how to code. I have been a professional coder for several years now and I make my living with it, but guess what? I started of with some of these sites.
This article is divided in 3 parts:
- The first one is about sites that teach you with enormous tutorials.
- The second one is about university grade courses which cover basics but also more advanced topics very in depth.
- The last one is more about improving your skills, if you got the basics. Some of them are even on a competitive level.
1. Starting off
Next up is a book written by Michael Hartl. You can buy the hard cover version, or get it online for free. His book is a very good walkthrough of Ruby on Rails and its ecosystem. It guides you through creating a twitter-like app with a lot of real world cases. For example: Modeling users, signing up, logging in, updating, showing and deleting users, resetting password and so on. Basically everything a full fledged web application needs.
At Codecademy you can learn nearly everything: Data Science, Computer Science, and Web Development. You even learn how to use the terminal on Unix operating systems. They have a lot of free courses, but not everything is free. For example, they also offer ‘Intensive Courses’ which take several weeks and cost a few hundred dollars. Keep that in mind.
2. University grade learning
edX is an open source higher learning community that works together with well known universities, like Harvard or the MIT. There is a wide variety of courses with literally everything about Computer Science. Unlike traditional colleges, they let you take the courses at your own pace. Note that while the courses are free, you have to pay if you want a verified certificate (the prices vary, but are mostly around $50-$90). If you are brave enough, you can even take the unique MicroMaster program, consisting of a series of graduate-level courses. Impress your future employers!
As the name indicates, this is the free online version of the well known Massachusetts Institute of Technology. They offer everything you can actually learn at the MIT itself. Computer Science can be found here. Keep in mind, that this material is tough and needs a lot of discipline. Just like real university courses.
hack.pledge() is a movement for programmers world wide. The goal is to connect people to mentor each other. You can simply book 1 hour of somebody’s time and learn from each other. You can get as much free mentoring as you like, but as it’s based on an honor system, be careful not to abuse it! And if you feel certain enough, you can also mentor people yourself.
3. Coding Challenges (Katas)
In this category, there are just minor differences. Their goal is to give you tasks to improve your coding skills. Some of them only give you challenges (also called Katas) and some of them offer some kind of gamification or competition. At the end it’s all similar: Pick a language that you feel confident with and start breaking your mind.
HackerRank has some interesting features. The platform offers direct hiring options for example. Also you can do challenges like 30 Days of Code or prepare for an interview. In addition, their challenges are ranked by difficulty and include an average success rate.
CoderByte is a site where you can solve algebraic challenges. Like reversing strings or calculating factorials. You get points for speed and correct cases. There is also a ladder for every challenge and you can even view other people’s solutions
Project Euler is mainly an archive of mathematical problems. Every Kata has a counter on how often it was solved, you can use that to determine how complicated a particular problem is. After registration, you can also track your progress and Katas show a calculated difficulty. Good finger exercise.
CodeChef is the first one that has real competition. You can compete in hackathons and challenges in a fixed time frame. But you can also just practice here with exercises sorted by difficulty. They even offer problems from other universities with no actual solution submitted.
CodeWars is one of the sites that include gamification. For every solved problem, you get points and can rank up. They have user created Katas in different languages. Challenges are sorted in categories, so you can pick what you like.
CodinGame is a really awesome site, as they take a different approach. You don’t just code, your code affects a game that they design for every challenge, like moving a character on screen. The site also offers competition and lots of gamification aspects with contests and leaderboards. For example: Clash of Code, which is a 5 minute hack challenge with 8 participants.
There are a lot of sites that will teach you coding from the ground up and all of them do a great job, but in the end it is your mindset that matters. Find a way to learn effectively and that suits your preferences best. Some like doing video guides, some prefer a giant tome that covers one thing, and some like online guides.
It doesn’t really matter how you do it, it does matter that you do it. Programming is a huge topic and you have to keep learning every day.