search close
The most searched lessons

10 sites to learn programming online

Learning to code has never been easier. It is not necessary to have a degree and two master's degrees to understand a programming language. It is in your hands to become a programmer. Whether you want to enrich your knowledge or learn to manage websites, programming is a worthwhile subject.

Find a programming teacher

If you find it difficult to learn, you couldn't be more wrong. Now, in the age of the internet, there are many alternatives to traditional teaching that can help make learning easier. Learning to program is already in your hands.

And if money is also an issue, don't worry. We have made a list of the best free websites to learn programming without spending a dime:


The best websites to learn programming for free



Codeacademy is an online code learning service that has courses for the most important programming languages. It is a platform that makes available to students a series of problems that must be solved through writing code.

You can learn to write in the most important programming languages. Although it also offers the possibility of learning in packages of languages ​​that have a certain relationship with each other.

If you are a teacher instead of a student, you can customize your own course for your students adapted to their needs. Codeacademy allows you to publish a new course with its course creation tool.


  • They have a blog where both users and experts can share knowledge and articles that may be useful to their community of users.
  • Very intuitive and well explained interface.
  • Explanatory videos are free.
  • Courses of up to 12 different programming languages.


  • Full access to the courses is not free. The free plan only gives you access to the videos but nothing else.
  • It is very suitable for beginner users but it is too basic an option for more advanced users.
  • Difficult to navigate between lessons and open tabs.


Free code camp

Free code camp is a non-profit initiative that aims to offer a web platform accessible to everyone to learn programming. The intention is to make web development accessible to all people.

You learn to program through the different challenges and projects that it presents. It also has a very active community, a YouTube channel, and a daily publication of articles to keep improving and become a great developer.

This tool is also useful for instructors who want to include a programming platform in their course curriculum. Being an idea born from a non-profit organization, no special licenses or permits are required.


  • Free platform.
  • Perfect for beginners who have never taken programming classes and it is their first time in this discipline.
  • Certificates can be obtained without having to pay anything at all.
  • It has a very active community of users.


  • It's a platform that teaches you how to write code but doesn't quite offer a deep understanding of why each language is used or how to use it properly.



Coursera is a website that offers courses and tutorials that are taught by professors from prestigious universities. Developed by academics from Stanford University, this platform does not have exclusive programming content, but rather all kinds of courses can be found.

The objective of this initiative is to bring knowledge to all students, which is why many of the courses can be taken free of charge. And if you want to get a certificate, there are flexible and affordable plans at a reasonable price.

Within the programming courses available, you can find tutorials on Java, Python, HTML, and CSS, among others. In addition to introductory programming courses for those less initiated in the discipline.


  • You can learn to code on a flexible schedule and at your own pace.
  • Although it is free to access the courses, if you want to pay for the certificate, they give you the option of requesting financial aid.


  • The courses are perfect for beginners but there is not much diversity for more advanced students looking for specific courses.
  • To obtain an official certificate you must pay a certain amount according to the course.



Classgap is an online learning platform that, unlike the previous options, does not offer courses, but teachers. In other words, it acts as a bridge between programming students and teachers. It puts different tutors specialized in various programming languages in contact with those students who need their help.

Find your teacher to learn code

It also makes available to users all the tools they may need to carry out a class properly. In this case, both (student and teacher) can access a virtual blackboard, a space to share teaching material and a fully available customer service.

This type of learning system allows you to have a much more personalized learning adapted to your needs. Whether you want to master a programming language or just have specific questions, a teacher is the ideal option for both contexts.


  • Very useful tools to simulate a real classroom, including a virtual whiteboard.
  • Wide range of teachers to choose from. You can do an interview with the one that most convinces you and start as soon as possible.
  • You can do the classes where and when you want.
  • It offers a complete personalized education.


  • Classes are only available on your computer. The app helps you find a teacher but the lessons are done through the computer, especially because it is a more comfortable option.


Solo Learn

Solo Learn is an online platform that offers you free programming tutorials and courses. All content belongs to the developer community that is part of Solo Learn.

It is an option that is available for different devices and allows you to learn in a flexible way and at your own pace. Access your tutorials through your mobile, tablet or computer and with your account you do not lose your progress.

The courses also have a series of tests to test the student's knowledge. And through these "quizzes" Solo Learn awards medals and small awards that can help your motivation. After completing each course, a certificate can be obtained.


  • It offers free courses for C++, Python, and other programming languages. Completely free.
  • Intuitive and easy to use for the most beginner users.
  • Bet on gamification.
  • It has a large and active community of users to solve problems or doubts.
  • They have a blog and a user forum with which to share doubts or questions.


  • It only offers courses in the most common programming languages.
  • Perfect for beginners but sometimes too basic for more advanced and expert users.
  • It is not a personalized learning option.


MIT Open Courseware

MIT Open Courseware is an educational platform that belongs to the Massachusetts Institute of Technology (MIT), one of the most prestigious universities in the world. Unlike other initiatives, this proposal is not only focused on programming.

On the web you can find more than 2,200 courses belonging to disciplines of all kinds. However, a large number of them are part of the world of programming. To find them you just have to enter the topic or the keyword.

The available resources are all the material of the university degrees of each university branch. Among this material you can find videos of the different lessons, textbooks and problems with examples or to test your knowledge.

In each course, the user to whom it is addressed and the knowledge they must have to understand it is explained.


  • A great abundance of resources and very complete materials. From textbooks to video classes. Even problems to solve with and without the solutions.
  • Completely free.


  • It is not personalized learning.
  • Interface a bit complicated and unfriendly to beginner users.
  • It does not have any gamification component.



Mimo is an app that allows you to learn programming from the screen of your mobile. It has a wide range of courses to learn different programming languages and to build websites and develop applications.

This application is designed to learn programming "on the go". That is, to do each lesson at your own pace and when and where you want. For example, you can learn Python during your train rides or waiting in line at the supermarket.

It is a great tool if you are a student with a very tight schedule and little time to dedicate to classes. But like any flexible learning app, it requires a lot of commitment from the student and a fixed study habit if they want to get anywhere.


  • A very intuitive and easy input interface for the most beginner users.
  • The lessons are short and light, easy to follow for the most basic level users.


  • It is not a free app. You can only take the first class of each course without a subscription.
  • Little personalization of learning.


Swift Playgrounds

Swift Playgrounds is an app that teaches you to write in the Swift language in a fun and interactive way. The Swift language is the programming language for developing apps for the iOS and macOS system. It starts out as a puzzle game in which to find the correct solution you have to try out the correct lines of code.

There are many different courses for all kinds of different skills: augmented reality, data-related projects, or even initiatives from the world of robotics.

In addition to the material accessible in the app, the Apple website also offers complementary videos and a small guide that gives instructions for each challenge and puzzle. It can be a good resource for teachers looking for tools for their programming classes.


  • Lessons can be downloaded. You can access the application wherever and whenever you want in offline mode.


  • Some lessons can be a bit tricky for beginners.
  • It is only available for iPad.
  • It does not offer a 100% personalized education.


Code Combat

Code Combat is an adventure game that teaches programming through challenges of different difficulty levels. It can be a great tool for programming teachers to teach classes of young students. Its curriculum focuses on the fundamentals of writing code.

But how does it work? Players will have full control of characters that only obey orders given through the programming language. If you want your knight to walk forward you will need to command it by writing in Python or Java.

It is a fun and alternative way to learn programming. It can be very effective especially for the little ones because knowledge is absorbed while they live an adventure.


  • High dose of gamification.
  • Several languages available (Python, JavaScript, Lua...)
  • Format more like a video game than a tutorial.


  • User help during the game is extensive but has a lot of text and can become too convoluted. Can cause more frustration than relief. 
  • Little customization of the educational experience.



Codewars is an initiative born from a group of programmers that aims to promote an educational community of users to share programming knowledge.

The codewars formula is similar to combat training. The developer must overcome a series of challenges known as Kata that aim to learn a skill or programming language. 

As your training progresses, you can improve your rank and get honor points to increase the difficulty of the challenges. The goal is for each developer to find an "adversary" of his category. 


  • You can create your own challenges for other users.
  • It has a very active and collaborative community of users. 
  • A high component of gamification and competitiveness


  • It is necessary to have a few previous programming skills. 
  • No tutorials or explicit courses are offered to accompany learning. 

Start learning with a programming teacher

If you are determined to learn to program, you must be very aware of the type of education you want and need. You must know your educational needs in depth in order to make a more reasoned choice. However, if you choose online learning go for more personalization if you lack a solid study habit.