Why Online Courses are NOT the Best Way to Learn Computer Science AND What Alternatives are There?

  1. They're Outdated

Online courses take time to create. They have to be standardised and checked thoroughly to ensure that the information in them is correct. If the tutor is looking to charge money then that can increase the time it takes to release the course.

Aside from the creation of courses, Computer Science, as a field, is a very fast and changing field. New technologies are always coming out, making others redundant. For example in the past, to learn web design, the main things you needed to learn were HTML, CSS and JavaScript. Whilst they are the fundamentals of Web Design, nowadays you can simply use WordPress, Wix, frameworks like Bootstrap, libraries like React JS to create websites and many more methods.

2. They're Limited

Online courses have a set syllabus of topics which they adhere to which sounds great. The fact of the matter is that courses only scratch the surface of knowledge and that there’s so much more out there. They give you a certificate however the image below shows you how that isn't enough!

(Credit to @data_science95 for a great post, check them out!)

3. Most of the Information Can be Found for Free!

Courses are expensive! Why spend money when the information is all out there somewhere?

There are so many content creators out there producing live builds, tutorial series', educational videos for both theory and practical skills. The resources are out there, you just have to find them and follow them!!

The screenshot below came from a quick Google search, showing how a degree is NOT REQUIRED to become a software developer (one of the most popular jobs within Computer Science).

One of the best sources of information I've found is YouTube. The main creators I follow are Clever Programmer, Tech With Tim, Amigos Code and FreeCodeCamp, to name a few!


1. Build things, Implementation is Key!!

This is definitely the best thing I'd recommend. There's no point learning theory, through online courses, if you can't apply it. Earlier I mentioned the Clever Programmer YouTube Channel; currently they're producing some amazing content about React JS projects. They are doing live builds of real-world projects for your portfolio, which I would definitely recommend.

Projects are always better than certificates in my opinion, as they help to show a deeper understanding!!

2. Create Content About What You’ve Learnt (Blog posts, videos, build an audience)

If you can summarise topics into posts/videos/other media then that indicates a higher level of understanding about those topics.

They also help you build an audience and stand out from other people. If you're able to build an audience then that gives you a lot of power. What I mean by this is that for e.g. Tech With Tim has an audience of over 200,000 subscribers on YouTube and he was able to bypass sections of the Microsoft interview process.

Another benefit of having an audience is that you could potentially start your own software development company or SEO consultancy firm or whatever you want, within Computer Science.