avatarValerie

Summary

The article discusses the best and worst free programming courses, emphasizing that coding is not for everyone and suggesting that potential learners should start with free, high-quality courses to gauge their interest before committing to more intensive programs.

Abstract

The content provides an overview of free programming courses, advocating that coding, like any other activity, is not universally suitable for everyone. It suggests that individuals should explore their interest in programming through free resources before investing in more formal education like boot camps or degrees. The author, a self-taught software developer from 42 Silicon Valley, shares personal experience and recommends courses such as CS50, The Odin Project, Full Stack Open, freeCodeCamp, and Khan Academy for their structured approach and supportive communities. The article also cautions against platforms like Codeacademy, Udemy, and Udacity, which may offer excessive hand-holding that can impede true learning. The author emphasizes the importance of trying coding to determine if it's the right fit, suggesting that enjoyment and curiosity are key indicators of one's potential success and satisfaction in the field.

Opinions

  • Coding is not inherently for everyone, similar to other activities like dancing or painting.
  • Before committing to expensive or time-consuming programming education, one should try free courses to assess genuine interest and aptitude.
  • The author's experience at 42 Silicon Valley, without traditional teaching methods, underscores the effectiveness of self-directed learning and high-quality online resources.
  • CS50 is highly recommended for its challenging exercises and the engaging teaching style of David J. Malan.
  • The Odin Project and Full Stack Open are praised for their structured curriculum and community support.
  • freeCodeCamp is noted for its flexible learning approach and certification tracks.
  • Khan Academy is recognized for its in-depth content across various subjects, including programming, and is also recommended for children.
  • The author advises against resources like Codeacademy, Udemy, and Udacity, which may give a false sense of progress without fostering deep understanding.
  • The true test of whether programming is right for someone is their personal enjoyment and the drive to work on projects, even at 3 AM.
  • The article encourages readers to explore programming through free courses and to be cautious of resources that promise easy learning without real-world application.

The Best and the Worst Free Programming Courses

“Everyone can code!”

Well, not really. It might be an unpopular opinion, but I don’t think that coding is for everyone. Why? Well, for the same reasons that dancing is not for everyone. Or painting. Or collecting stamps. We all can do those things but if we don’t enjoy them, chances are we’ll abandon them in a few weeks or will hate them forever. And, normally, different people enjoy different things. The same with coding — more and more people are trying to break in and learn to program. Maybe, they want to make more money, maybe they like the idea of a flexible schedule and remote work. Those are all valid reasons to try coding but it doesn’t guarantee that you’ll like or will be doing this for the rest of your life.

Give it a try

So before you commit to a boot camp, expensive courses, or a bachelor’s degree in hopes to start your first successful startup in the early 20s and retire early, try committing to something free, high-quality, and available for you to start anytime. If you can make it through the free course, if it will make you curious to learn more and proud, if you find yourself trying to finish an interesting project at 3 AM, chances are you might really enjoy it. And if you don’t — not everyone should know how to code or suffer doing something they don’t really like.

Why these courses?

By now, you might be asking — why I chose these courses and how do I even know what to recommend? I’m a self-taught software developer who went to an unusual, experimental school, 42 Silicon Valley, and met hundreds of people there who were also trying to learn. We didn’t have any teachers or classes, only projects we had to complete or peers we needed to review to level up and open new projects.

It was a unique experience in a heart of Silicon Valley where we attended a lot of developer conferences, went to mock interviews at big companies, participated in hackathons, and generally, had a lot of fun. There were no textbooks so Google was our best friend and in those few years that I spent there, I tried so many online resources, that I started to see the difference between okay and high-quality materials. I tried taking all the courses listed below and finished only some of them, but they all helped me in one way or another. Other resources looked great at first but weren’t a big help. I’ll also briefly cover them at the end.

CS50

This is the first course I recommend to anyone curious to learn more about programming. Do you want to be a web developer? Watch CS50. Do you simply want to understand how your browser works? Watch CS50 and then maybe their Web course as well. Are you bored? Just watch CS50!

It’s a real course offered by Harvard. It’s also an entry-level course so no prior knowledge is required. As a bonus, it’s taught by David J. Malan, the guy with a magnetic personality and a real talent to explain hard stuff. It’s not that easy to pass the course though — their exercises can be pretty challenging. I would recommend doing this course twice. The first time, just relax and watch all the videos. The second time, try solving the exercises as well. And if you can’t — no worries. Once you become more confident, come back and try again.

The Odin Project

Learning programming is tough. Learning it on your own is twice as harder. A self-learning needs not only a lot of patience and motivation, he needs support and structure as well. If you feel like you can relate, The Odin Project is a real gem. Not only do they give you a structured, well-defined path with lots of great exercises, but also a great Discord community to lean on anytime you get stuck.

Full Stack Open

Here is another great resource that offers a structured curriculum. You have lectures, exercises, modules..all you need is a set schedule and a lot of willpower to go through all the material they provide.

freeCodeCamp

For those who are looking for less structure and move variety, I would recommend small lessons from freeCodeCamp. If you are interested in a specific topic, say CSS Flexbox, there is a course for that. Or you can explore freeCodeCamp’s curriculum and commit to one of their tracks. Most of them take around 300 hours, feature a lot of exercises and 5 projects you need to complete to get your certification. Nobody can guarantee that you’ll find a job right after this, but you’ll have a solid foundation and direction for sure.

Khan Academy

Khan Academy offers content that is a little bit more in-depth than on other websites but this resource is a real geek’s dream. It’s an amazing website to learn anything from Math to Economics but in my opinion, knowing some basic stuff is required to fully enjoy their Computer Programming courses. If you feel like you’re not ready, give this platform a chance and try one of the courses in the Life Skills or Humanities sections. Oh, and don’t forget to show this website to your kids, this resource has a lot of great content for them too!

Courses I would not recommend

One of the most popular resources that I would not recommend is Codeacademy. They have a nice, shiny website, and a lot of courses to choose from but… you are not going to learn much. As a rule of thumb, any course that offers a lot of support and hand handling will not teach you a lot of stuff. You might enjoy the process, you might feel like you are making progress, when in fact, you just copy and paste. For the same reasons, be careful with Udemy, Udacity, and some YouTube videos that just show you what to do without thinking much about it. You might spend months trying to finish that course and feeling confident in your skills only to find later that you have no idea how to start building something from scratch or how things actually work.

***

I’ve seen a lot of people trying to learn how to program — some of them succeeded, some of them don’t. In fact, it’s pretty hard to predict in the beginning if the person will pick up this new skill or not. It doesn’t really matter if you liked math in school or played videos games for a few weeks in a row and installed Windows for your crash in high school. The only way to know for sure is to try coding and see how it feels. If you’re not ready to commit to a whole course, try reading one of these fun programming books.

Are you new to programming or in the middle of your learning journey? What courses did you find useful? What courses felt like a waste of time?

Coding
Codingbootcamp
Learning To Code
Learning
Programming
Recommended from ReadMedium
avatarHemant Patkar, CISSP
Cyber Security Pathway

16 Specialization Area

6 min read