2022 has arrived, and with a new year comes a new opportunity to reflect on the future. As we enter the third year of the Covid-19 pandemic, you may have noticed that many people around the world are taking this opportunity to reconsider their career paths and life priorities, and to seek out better opportunities.
One of the most popular career trends over the last few years has been to learn how to code. I myself began learning to code at the start of the pandemic, and have come to enjoy the challenge of learning new languages and building projects in my free time. Whether learning in order to change careers or just to enhance a current job, there are a plethora of free resources available to the beginning learner out there. Here is a list of the best resources I’ve found so far.
Udemy
Udemy is a really great platform for learning any topic. Creators from around the globe are able to make courses teaching topics from business management to web development. While most courses are provided for a small fee, there are plenty of free courses available covering programming and software development. Here are a few examples:
- Beginner Course on Programming and Coding Fundamentals
- Programming with Python All in One
- Programming for Non-Programmers
Coursera
Coursera is another great online platform for learning. Since its founding in 2012, the site has grown to feature many of the same courses and specializations offered at top universities. You can even earn a Bachelor’s or Master’s degree completely online through the company, for a fraction of the cost of attending a university in-person.
In addition to those paid options, Coursera features many free courses geared towards the novice learner. Some free offerings in the world of computer science include:
- Learn to Program: The Fundamentals - The University of Toronto
- HTML, CSS, and Javascript for Web Developers - Johns Hopkins University
- Machine Learning - Stanford University (Taught by Coursera Co-Founder Andrew Ng)
I am personally working on Andrew Ng’s Machine Learning course, and I appreciate the depth of each lecture and Dr. Ng’s deep dives into the theory behind machine learning.
EdX
Similar to Coursera, EdX is another online education platform that offers courses and programs from top institutions from around the world. In addition to degree programs and certifications, EdX offers free specialization programs in topics like machine learning, web development, and data analytics. Although it’s possible to earn a Verified Certificate for a fee, these courses can be also audited free of charge (and even feature some courses that have a paywall on other websites).
Here are a few of the site’s featured courses:
- Programming for Everybody (Getting Started with Python) - University of Michigan
- The Data Science Method - IBM
- Data Structures and Algorithms I - Georgia Institute of Technology
I used this site extensively when I first began learning to code, and took Harvard’s CS50 on the platform (more on that later on).
YouTube
YouTube is a great resource for learning how to code. There are innumerable tutorials available on every topic in computer science, from the most popular languages to the most essential algorithms and data structures. As long as you don’t mind having a few ads interrupt your lesson, this resource is free and easy to use (although, many creators also offer their own paid, ad-free courses). Here are a few of my favorite channels:
Another plus about this platform is that there are many creators on it that cover technologies and topics that aren’t conventionally covered on other platforms, such as IoT development with Arduino and Raspberry Pi, or crypto mining and blockchain development with Solidity.
FreeCodeCamp
FreeCodeCamp is an all-encompassing website with courses on every topic in computer science, from Web Development to Data Science to Cybersecurity. The website offers free certificates in each specialization, with courses that break down the material into small, bite-sized lessons. FreeCodeCamp uses a web-based platform where students complete each lesson by filling in the blank spaces on pre-written code. After finishing all lessons in a course, the student is tasked with building one or more small projects in order to earn a certificate.
The website also hosts a rapidly growing list of tutorials and courses produced by independent creators, and a forum where students can go to ask questions and discuss what they’ve learned. FreeCodeCamp also has its own YouTube channel (mentioned above) and hosts video courses on advanced topics not covered on the main website.
This is one of the best free resources for learning to code that I’ve found online. The fill-in-the-blank approach for lesson structure allows students to learn at their own pace in small chunks without getting overwhelmed. As FreeCodeCamp’s reputation grows, so does the weight of a certificate of completion from them. But, more importantly, the courses provided give students the chance to work on practical projects that can be featured in a portfolio, which is arguably better than certificates when it comes to finding a job.
CS50
Harvard’s Intro to Computer Science course, CS50, is an in-person and online course taught to freshman at both Harvard and Yale. Though the course is taught for credit at both Ivy League institutions, a free version is offered through CS50X and EdX to anyone who wishes to take it. Each year, the course is updated to reflect current trends in the world of software development and introduce students to the most important topics in the field.
This is one of the most complete courses in computer science available for free online. The course covers topics such as algorithms, data structures, computer programming, and the fundamentals of how computers store and process information. It features a web-based IDE, or Integrated Development Environment, called VS Code for Web. This allows the student to start hacking the fundamentals of software development without having to research, download, and learn how to use an IDE on their own device.
The course is divided into sections based on each topic covered, and students are given problem sets to solve using the concepts and code that they’ve learned. At the end of the course, students are tasked with making their own personal projects based on all of the technologies they’ve learned. After completion, the projects are featured on a leaderboard on the course website, and certificates are given out to those who have successfully completed all assignments and projects.
One of the main benefits of this course (besides the fact that it’s free) is that it has a structured nature, but gives students the freedom to solve problems on their own. When starting on your journey in code, it can be hard to keep track of the plethora of topics that you need to learn in order to master the art of coding. This course structures each section in a logical way, building upon knowledge learned in the previous section. And instead of just filling in the blank, the course’s problem sets give you an opportunity to develop your own solution to a problem from the get-go.
I’ve found that these are the best resources available for those wishing to learn to code without going back to school or paying expensive tuition for certificates. By combining these resources, you can easily build a solid foundation in computer science and software development, and gain experience building real projects along the way.
If you found this article helpful, please let me know in the comment section! And feel free to share any other free resources that you’ve found helpful.
Top comments (0)