DEV Community

Cover image for How to Learn Programming Online: Best Websites to Start With
John Selawsky
John Selawsky

Posted on

How to Learn Programming Online: Best Websites to Start With

In a constantly changing world, more and more new professions appear and gain popularity. But there is one of a few industries that remains popular decades later. It is programming.

Let’s face it: self-education is hard and takes years — a good programmer should learn programming the whole life as the sphere is always developing. However, I believe that a good guide makes it a little bit easier to master a new coding language. Modern online courses are more efficient and easy to follow, compared to coding books or YouTube tutorials, they are considered to be the best way to learn programming.

In this article, I will explain what criteria you should consider when picking the right course and give my recommendations about platforms to start with.

Criteria to Consider When Picking the Programming Course

So, how to choose a programming course and why is it so important to pick the right one? Let’s figure it out.

Criteria 1. Focus on Practice

You definitely need theoretical knowledge to learn programming, but this is not enough. The theory is ineffective if you don’t put the skills you’ve learned into practice immediately because writing code is programming itself! This is why it makes sense to consider practice-oriented online learning that will allow you to ultimately transform your knowledge into a true real-world project. So, the ideal ratio for learning to code should be 20/80, allowing you to read lectures or watch videos 20% of the time and write code the remaining 80%.

Therefore, first of all, try to find a course with a lot of practical tasks.

Criteria 2. Code Validation

The next important point is code verification. Very often, when novice programmers solve a problem, they do not know if they have solved it correctly. Even if you receive the correct answer, it is quite possible that it will not work with other data. What to do? Of course, if you have a mentor, you can count on help. However, we are talking about self-paced learning here, in this case, validation is one of its biggest problems. In the last 10 years, platforms with automatic code validation have begun to appear, and this is what I consider to be a turning point. Before they appeared, I almost always advised learning with a live teacher for future programmers, at least at the first stage.

So, the second point when choosing online courses is the availability of code verification, automatic or human.

Criteria 3. Community

Community is something that deserves a separate post. But, to cut a long story short, the community is vital on the long road of learning to program.

There is nothing better than when you have someone you can turn to in moments of frustration or when experiencing difficulties during the learning process. That is why it is important to make sure the course you get involved in boasts a supportive community, where you can always seek help. The feel of support keeps you motivated and doesn’t even leave you a chance to quit. So, consider checking if the course has active forums before stepping in.

Criteria 4. Reference Points

The power of marketing is legendary — it can prompt you to the thought that you’ll easily learn a new programming language in a month and land a high paying job right away. Yet, the truth often is that training to code requires a bit more time and effort. The novice developers have their own pace and set their own career, short- and long-term goals depending on the purposes that differ from one student to another.

The courses created with students in mind contain guidelines needed to keep you motivated. They provide a training map, so you can keep track of your progress. Apart from that, in most cases, they are well structured, which means the educational program is consistent and logically moves from one topic to another allowing you to move ahead.

Best Programming Courses That will Get You From Zero to Hero

Now that you know what criteria to put on the list when selecting the right learning platform, let’s jump to my hot pick of courses ideal for beginners. And before considering them in detail, stick to the table to get familiar with some fundamental info, such as:

  • Platform they are accessible at.
  • Programming languages they support.
  • Pricing. ### CodeGym ​ 1 codegym.pngCodeGym is an online programming course that takes a hands-on approach to learn the Java language and provides more than 1200 coding tasks. Right after registering to CodeGym, you will start writing your first lines of code from the earliest lessons. ​ This online platform is also known for its vast community, where students share their experience, answer each other’s questions, and talk about the challenges they face when learning to program. ​ Other than that, CodeGym has a mobile version that allows everyone who is constantly on the move to code using their smartphones. Whereas, the smart validator will check your tasks in a blink of an eye, analyze the errors, and get back to you with tips to eliminate them. ​ ### Codecademy ​ 2 codecademy.png ​ Meet another educational resource devoted to learning programming languages, Codecademy. It provides a qualitatively different approach to education making it the first truly net native. At Codecademy, you will get access to a vast number of certified courses, most of which are available for free. The programs are so well structured that you can learn to program by following a set schedule. ​ Another thing that makes Codecademy so special is that the platform offers students, who are not sure where to start, to take a quiz and get pointed in the right direction. So, once you choose the language to learn, you’ll write real, working code, get feedback, test your knowledge by completing quizzes, and, finally, land a job. ### Codewars ​ 3 codewars.pngCodewars is one of a few educational websites that does everything to prove that programming may be fun and keep you motivated. The platform enables you to enhance your skills while training with your peers on real code challenges called kata. Quite a competitive environment and highly addictive tasks let the students stay involved in the learning process. ​ Not only does the resource allow you to train on kata, but it also encourages you to create your own challenges, earn ranks and honor, compare your solutions, and discuss the kata with other specialists. In short, this quite innovative approach to education helps the students acquire the needed knowledge and progress faster. ​ ### GeeksforGeeks ​ geeksforgeeks.png ​ I often refer to this resource in my projects and heartily recommend it to my students. GeeksforGeeks is a portal created to provide solutions to your queries in the form of well-written and well-explained computer science and programming articles, quizzes, and tutorials. The contributors have a distinctive approach to what they do — they offer more than one way to deal with the problem. The choice is yours. ​ Today, GeeksforGeeks is a community of more than 1 million enrolled specialists from the whole world. The platform can boast many successful stories of students who have benefitted in their placement and landed jobs at many tech companies. ### Treehouse ​ 5 treehouse.pngTreehouse platform is rather focused on teaching you the tech skills needed to manage a certain digital project from mobile apps to CMS blogs. Additionally, it put together educational materials devoted to almost all sought-after programming languages, like Java, C++, Ruby, Python, in one place. So, you don’t have to wander the web searching for the next language you want to learn. ​ Apart from that, most tutorials and assignments are short and practice-oriented. So, it won’t take you an eternity to get a clear idea of how the site works but will let you gain confidence in programming shortly. ### Code Avengers ​ screenshot-www-codeavengers-com-1596790571284.pngCode Avengers is another online digital technology education service best suited for novice developers who are looking for hands-on tutorials and coding challenges. There is an extensive collection of quizzes on different languages, including JS, Python, and CSS, that will let the students apply the acquired knowledge and skills the right way. After completing the courses, they can create digital media apps, websites, and games to deliver exceptional UX. ### Sitepoint ​ 7 sitepoint.png ​ SitePoint is a so-called library of over 400 books and courses delivered by the best tech publishers who are professionals in their field. The materials contain articles and tutorials related to programming languages, frameworks, tools, libraries, and other projects. The platform has been established for developers, designers, programmers, product creators, and entrepreneurs who strive to level up in coding. ​ Another thing that makes SitePoint website stand out is its simple navigation. There is a search tab right on the homepage — it won’t just leave you a chance to not notice it — that will provide a whole heap of articles matching your request. ​ ## Closing Words ​ Programming requires a store of knowledge and vast tech skills. However, it doesn’t mean you can’t acquire the latter online independently. For this, all you need to do is just find the right learning platform and apply for the appropriate program. Fortunately, there are a lot of options on the web for newbies starting to master coding. Hope you’ll find the best one from those I’ve listed in this post. ​ And, finally, remember one thing — the best way to learn programming is to make coding a regular thing and work hard. ​ First published on Quick Code.

Top comments (3)

Collapse
 
alanmynah profile image
alanmynah

Hey John, really interesting read! I'd add scrimba.com to your recommendations as the platform matches 3 out of 4 criterion: massive focus on practice, great community, and courses have huge amounts of references!

Collapse
 
abubakarismail profile image
Abubakar Sadiq Ismail • Edited

I think for a complete beginner I recommend freecodecamp.com and w3schools.com

Collapse
 
rahxuls profile image
Rahul

This article is fucking amazing. I am thinking why it's not trending. Best writeup and i think you should repost this with little modification.