As our world becomes ever more reliant on technology, STEM-based careers are becoming increasingly pivotal to the basis on which our societies operate. From the device that you’re reading this on to the signalling system that directed your train to work this morning, everything around us is based on a series of programming instructions that, at some stage, were written by a human being.
Coding is no longer just the realm of ‘tech geeks’, either; in an increasingly competitive global job market, everyone from Mark Zuckerberg to Barack Obama is extolling the value of being code-literate. Indeed, in 2016, GE CEO Jeff Immelt took this directive one step further, declaring that every new hire at the company – regardless of their role – would be taught how to code.
In much the same way that MS Office is seen now as a basic résumé requirement, it is not unreasonable to assume that basic coding skills will be a minimum expectation of a job candidate in the future, while entrepreneurs and business owners can easily create apps for their services using popular languages such as Python.
Therefore, whatever your background or career goals, it's worth investing some time into getting up to scratch. Luckily, thanks to these resources, that's all you'll need to invest, too; here are the 10 best free programming courses and schools to bring you into the digital era...
1. The Odin Project
Founded in 2013 by former market analyst Erik Trautman, The Odin Project (along with its paid plan parent resource, Viking Education) was acquired by one-on-one learning provider Thinkful in 2017.
Where it takes its most pride is in its fiercely open-source community of over 1,500 contributors, who meticulously curate the most up-to-date information available across the web and implement it into a series of in-depth lessons aimed at beginners and advanced users alike.
2. MIT OpenCourseWare
For those who may be unfamiliar, the Massachusetts Institute of Technology (MIT) is a mecca of the STEM world, having produced numerous Nobel laureates, CEOs and astronauts (including Buzz Aldrin). Therefore, the university’s decision to place many of its teaching resources online – and make them entirely free to access for non-students on OpenCourseWare – is worth exploring.
There are materials available from over 2,400 courses (all translated into a variety of languages), with topics divided into their broader fields and then split down to meet the needs of the individual learner. For more advanced users, there are also learning resources taken from postgraduate programmes, meaning there is something for everyone in this ambitious and valuable tool.
If MIT’s online resources are more traditional in their learning delivery, then Codewars – founded in 2012 by Jake Hoffner and Nathan Doctor – completely flips the educational convention. Built on a clever and user-friendly martial arts theme, there are over 30 programming languages to choose from; users are then challenged to master one through kata, a progressive and customised measurement tool.
There is a huge emphasis on collaborative knowledge, too, with a large number of active contributors adding new challenges every day. If you prefer to learn in real-time, then this could be the platform for you.
Created in 2014 by Armenian developers Yeva Hyusyan and Davit Kocharyan, SoloLearn differs from many of the platforms on this list by also offering learning materials through their mobile apps. With over 1,200 lessons and 11,000 quizzes, those materials are not exactly thin on the ground, either.
There are currently 12 programming languages on offer, with much of the content produced in collaboration with community contributors. The lessons are then split into progressive modules, meaning that total beginners can feel comfortable finding their coding feet. Despite the eponymous emphasis on solo learning, help is readily available, too. The platform currently boasts over 20 million active users across the globe.
Developed in 2012 as a joint venture between MIT and Harvard – two of the most famous educational institutions in the world – edX is a non-profit organisation that offers over 1,200 university-level courses. Over 500 of these are programming-based, with an emphasis on self-paced learning at beginner, intermediate and advanced levels.
All the courses are verified, with several even eligible for receiving college credits. For those who want a broader taste of the practical applications of computer science, as opposed to simply learning basic coding techniques, then this could be the platform for you.
Although at the time of writing TheNewBoston’s website has ceased to exist, real-life programmer Bucky Roberts’s YouTube page still contains over 4,000 tutorial videos on a huge range of topics, including web development, Android development and a variety of programming languages. For those who prefer a visual learning style – drawn from a wealth of material – this could be just the ticket.
Roberts has authority on the subject, too, boasting 10 years of ongoing engineering experience at Google alongside his other entrepreneurial exploits. Luckily, his short and sharp presentations are aimed at beginners, with a focus on clarifying the more technical points in his explanations; therefore, they come highly recommended, even if the man himself has now moved onto projects anew.
Created as far back as 1998 and run currently by Norwegian software firm Refsnes Data, W3Schools offers a range of web development-based programming languages, including HTML, CSS, Java and SQL.
Although this emphasis on both development and server-side languages are welcome, the real beauty of W3Schools lies in its no-nonsense approach. The lessons are direct and to-the-point, with concise explanations that are often presented in bullet-point format.
While you are encouraged to constantly put into practice what you learn, this is a platform that clearly wears its heart on its sleeve. If you prefer your information to be cold and hard – as opposed to cute and cuddly – then this is definitely the training course for you.
8. Khan Academy
As a free online education platform, Khan Academy has been a big-name player for some time now. Founded in 2006 by MIT and Harvard graduate Salman Khan, its computer science section utilises the same YouTube integration learning methods as the rest of the site’s academic output.
If you’re brand new to coding, Khan Academy offers a productive place to start.
Created in 2014 by former teacher and software engineer Quincy Larson, freeCodeCamp is a non-profit organisation with over 1,200 hours of interactive learning content across 11 programming languages. Where it really stands apart, however, is in its mission to make its users directly employable; it does this by offering coders the chance to gain experience on real-time open-source projects for non-profit organisations, enabling users to quantify their capabilities when it comes to applying for jobs.
There is also an emphasis on ‘pair programming’, where students can develop confidence in their abilities by having their work mutually peer-vindicated. As a result of this collaborative approach, freeCodeCamp has already resulted in the creation of several widely used open-source tools and continues to attract new users from around the globe every month.
Despite some strong – and ever-expanding – competition, Codecademy is, undisputedly, the king of online coding schools. Now in its seventh year, the brainchild of programmers Zach Sims and Ryan Bubinski boasts over 45 million global users, as well as partnerships with Amazon and the White House.
The site currently offers lessons in 12 programming languages (PHP was dropped from the curriculum in early 2017) and focuses entirely on enabling students to write code. As well as the availability of a wealth of lessons and materials, there are also several product-specific courses on offer, such as Watson API and Alexa Skills. Alternatively, you can focus only on what is relevant to your own career ambitions, such as specialising in web development, programming or data science.
For those who want to take things a step further, there is a paid version that comes with additional support and testing; but with comprehensive learning materials for all the major coding languages available for free, there is more than enough here to satisfy total beginners and seasoned pros alike.
Have you used any of these programmes and free courses? What did you think? Let us know in the comments below!