So you’re thinking about starting to learn how to code? Great idea! Or perhaps you’ve already started but are not sure where to look for the most suitable online resources? Now the good news is: it’s possible to start learning how to code online for free! The pseudo-bad news is: there are so many online courses available that it sometimes takes quite a lot of time to find the one that suits you the best. Therefore, in this post I’m going through the best websites for learning coding I’ve found so far with free content suitable for beginners.
Obviously, everyone has very different needs and preferences when it comes to learning. Therefore, I can’t tell you which online platform or course will work best for you. The abundance of resources online can feel a bit overwhelming sometimes, but just browse through them and I’m sure you’ll find a match.
Here’s an overview of the websites I’ll go through in this post:
And remember this: anyone can learn how to code. All it takes is some determination, clear goals, some planning and time management, and of course a lot of patience!
Codecademy is definitely my #1 choice for getting started if you’re completely new to coding. You can get a good basic understanding of several different programming languages and frameworks here. Just pick a course from the catalog you find interesting and you’re good to go!
Each course covers several lessons with smaller subunits, where you’ll have a small programming task or problem to solve. The interface is very clear with a panel for the instructions, a console for writing your code, and an output terminal for running your code. If you make a mistake, you’ll get instant feedback and an indication about what you should take a closer look at.
As a matter of fact, I first started learning Python, HTML, and CSS at Codecademy back in 2016. The courses I tried so far were really well structured. They start at the very basics and have a nice progression once you start to get the hang of it.
— See also: How to Choose Your First Programming Language
Offering courses in other fields than programming, too, Udemy is one of the biggest, most diverse platforms out there.
As a matter of fact, anyone can create a course there and pass their skills to others! This can be seen in the endless number of different courses available. Considering that each course is a more or less independent entity, it’s a good idea to take a closer look at the reviews and the course curriculum before starting.
Udemy offers plenty of free courses and material, but most of the more “productive” content comes with a price tag. However, they do have some pretty decent discount campaigns going on fairly frequently. So, if you’re not in a hurry, save your favourites in your wish list and practice some patience.
Udemy is definitely one of my favourite websites for learning these days. I’m currently enrolled in a great course called The Complete Web Developer Course 2.0, for instance. It’s great for anyone interested in learning the basics of a wide array of skills and technologies used in web development and web design. You’ll get good practice with a number of cool little projects to apply your freshly-acquired skills.
Udacity offers a wide selection of individual courses, but also so-called nanodegrees. These are study programs consisting of courses aiming at developing specialised skills for specific field in tech. In fact, Udacity cooperates with big players like Google, Facebook, and AT&T for developing courses that actually prepare students for jobs at these very companies.
Even through the nanodegrees require a subscription, some of the individual courses are free. I found a fantastic freebie called Intro to Computer Science when I had just started learning how to code. I was already learning Python at Codecademy and with Python Crash Course, and the three resources complemented each other perfectly.
The course taught me a lot about computer science together with practical coding skills with Python. Having a good understanding of computer science basics is essential for anyone learning programming. You’ll surely pick it up as you go, but taking a course with such a strong focus on both programming itself as well as how computers and the Internet work helped me a lot.
FreeCodeCamp is an excellent place to start at if you have no previous experience with coding whatsoever. All of the content is freely available and well-structured – you’ll find a clear path through each section of the material. To get you acquainted with computers in general, they also have a great set of short video lectures and quizzes on computer science basics.
FreeCodeCamp also has a great, big community to get you connected with like-minded developers. Once you start learning with them, you can join their Facebook group to find fellow coders in your city!
Treehouse has a more project-oriented approach to learning coding. There’s more emphasis and focus on a final goal at the end of each learning path than on some of the other websites.
There’s only very limited free content available on Treehouse, and you get just a little taste of each course in the library for free. After the first stage of each course you can unlock the rest of the content with a monthly subscription. Currently the Basic Plan goes for $25 per month. Considering what you get for it, it’s not that much at all!
If you already have a good idea about what it is you wish to accomplish or create with coding, take a look at what they have to offer!
The content Code School offers is very comprehensive for each learning path. The quality of the video lectures is really high and the instructors do a great job at explaining things so that even a total newbie can understand them. And they do it with a good sense of humor! Moreover, the visual look and the design of each individual path are really impressive and polished.
edX offers a wide variety of real, university-level courses, some of which are from MIT and Harvard. Needless to say, the quality of the lectures is outstanding, with some of the best professors in the world teaching you how computers work and how you can make them do what you want.
While the course contents are free, there’s a fee if you’re interested in obtaining a certificate after completing a course.
As I mentioned before, it’s really important and useful to understand some computer science basics when you learn coding. It just makes things easier quite simply. Luckily for you and me, there’s a great course from Harvard on edX, Introduction to Computer Science or CS50. I found it extremely helpful for wrapping my head around how binaries work and much, much more.
Last but not least a real treat for anyone interested in learning Python! Apart from the websites above, this one is actually a book.
If you’re aiming at acquiring a good understanding of how the language works and what it’s capable of, Learn Python the Hard Way (or LPTHW) is definitely worth looking into. It’s also a great go-to for anyone who’s never done programming before.
The author presents the different topics about Python and its dynamics in a very thorough, consistent, and well-structured way. There are plenty of exercises, where you’ll definitely get a good idea about what you can do with Python. After Learn Python the Hard Way you’ll be able to use the language for solving problems in projects of your own or apply your skills to another course or book!
You can either browse through the book for free online or buy yourself a copy.
No matter which website or course you choose, try to keep a clear goal on your mind during the entire process.
Be aware of the progress you make – you could keep a learning journal, for example. Don’t be too hard on yourself, remember to celebrate success! Manage your time and stay structured by making at least some sort of a schedule and learning plan for yourself.
The best way to learn coding and to develop great skills in problem-solving is to actually solve problems of your own. Try to take on small projects that you find interesting from the very beginning already.
Always think of how you’ll apply what you’re learning for a project of your own or for achieving your overall goals. Finishing a small project of your own will feel extremely rewarding. Additionally, learning by solving problems of your own will help you remember what you’ve learned way better than exercises written by someone else.
For me it was pretty difficult to find the first courses I actually followed through until the end. Sometimes throughout the courses I wasn’t really sure if I had understood everything properly. That’s why I kept jumping back and forth between courses quite a bit. Just start with one you find interesting, see if it feels right, and complement it with another one if you like.
Now, take a look at some of the websites in this post, choose your favourite, and start learning! Let me know how it goes!
— See also: 4 Steps to Get You Started With Coding
Please feel free to share this post if you found it helpful. And don’t forget to share the link to your favourite online course or tutorial in the comments below so others can discover it, too!