438 Free Online Programming & Computer Science Courses You Can Start
438 Free Online Programming & Computer Science Courses You Can Start in May
By James Gallagher
Congratulations, you discovered an epic collection of 438 free online courses to learn computer science and programming this month. Whatever your experience level or interests, there are courses here to help you master new skills and expand your career opportunities.
The 400+ courses include both self-paced and scheduled options across the full range of subjects in computer science, software engineering and programming – from introductory coding tutorials to advanced topics like artificial intelligence, big data, and theoretical computer science. Over 150 top universities including MIT, Stanford, and Princeton contributed courses, as well as major tech leaders like Google, Microsoft and IBM.
While you won‘t get an accredited degree, free online courses are an accessible, low-risk way to gain real-world knowledge, develop practical skills, and earn certificates at a fraction of the cost of on-campus classes. Many of the featured courses also provide a path to paid programs for students who want to earn an official credential after completing the free content.
Benefits of taking free coding and computer science courses online:
•Learn at your own pace from anywhere
•Access all lectures and materials 24/7
•Gain up-to-date knowledge of fast-changing technologies
•Prepare for a career change into software engineering, data science, etc.
•Improve your skills for your current programming job
•Engage with a global community of students and professionals
•Earn certificates of completion to add to your resume or LinkedIn
To help you find the best courses for your specific needs and interests, we organized the 438 courses into the following categories:
•Intro to Computer Science and Programming (50 courses)
•Web Development (72 courses)
•Algorithms and Data Structures (45 courses)
•Data Science/Analysis and Machine Learning (118 courses)
•Mobile Development (40 courses)
•Game Development (23 courses)
•Software Engineering (26 courses)
•Theoretical Computer Science (32 courses)
•Specialty Topics (32 courses)
Let‘s dive into some highlights of the most popular free courses in each category, including who they are best for and what you can expect to learn.
Intro to Computer Science and Programming
If you‘re completely new to coding, start here. These beginner-friendly courses require no prior experience and will teach you the basics of how computers work and how to write simple programs. Most use popular beginner languages like Python, though a few intro courses teach C, Java or JavaScript.
Highlights:
•Introduction to Computer Science (Harvard via edX) – a gentle introduction to computational problem-solving in Python, for those with no coding background
•Programming for Everybody – Getting Started with Python (UMichigan via Coursera) – popular entry point to the Python specialization
•Introduction to Programming in C (IIT Bombay via edX) – well-paced first course in C programming
Web Development
Want to code websites and web apps? These courses teach the languages and frameworks of modern web development, including HTML/CSS, JavaScript, React, Node.js, Python, and Ruby on Rails. Some are short tutorials on specific skills like responsive web design, while others are full bootcamp-style paths to becoming a web developer.
Highlights:
•The Web Developer Bootcamp (Colt Steele via Udemy) – huge bestseller with 500,000 students learning full-stack JavaScript
•CS50‘s Web Programming with Python and JavaScript (Harvard via edX) – highly-rated projects-based course to develop web apps
•Responsive Website Basics (University of London via Coursera) – essential lessons in HTML, CSS and JavaScript to build modern responsive sites
Algorithms and Data Structures
Master efficient ways to organize data and optimize code performance. Many of these courses combine video lectures with interactive coding challenges and draw on real-world examples. While a few use beginner languages, most require some prior programming to understand the concepts.
Highlights:
•Algorithms (Princeton via Coursera) – legend Robert Sedgewick teaches fundamental algorithms and data structures in Java
•Data Structures Fundamentals (UC San Diego via edX) – intermediate C++ course focused on implementing hash tables, trees and other core data structures
•Intro to Algorithms (MIT via Udacity) – concise and engaging intro to key algorithm design techniques like divide-and-conquer and dynamic programming
Data Science/Analysis and Machine Learning
Data science and machine learning are some of the most in-demand tech skills today, powering everything from Netflix recommendations to self-driving cars. Courses range from beginner-level overviews to deep dives into topics like neural networks, big data, and data visualization.
Highlights:
•Machine Learning (Stanford via Coursera) – wildly popular intro to machine learning and statistical pattern recognition
•Data Science Orientation (Microsoft via edX) – non-technical primer on major concepts and tools used in industry
•Deep Learning (Google via Udacity) – advanced nanodegree program to master neural networks and build AI applications
Mobile Development
With smartphones dominating the tech world, it‘s no surprise mobile app development is a booming field. Whether you want to build Android apps in Java or iOS apps in Swift, there are great free courses to get you started and take you all the way to submitting apps to the Google Play or Apple App Store.
Highlights:
•Android Basics Nanodegree (Google via Udacity) – step-by-step path for total beginners to learn Java and Android development
•iOS App Development with Swift Specialization (University of Toronto via Coursera) – intro to the Swift programming language and iOS app development
•The Complete React Native + Hooks Course (Stephen Grider via Udemy) – top-rated guide to cross-platform mobile development with React Native and JavaScript
Game Development
Aspiring game developers can get their feet wet with free courses on game design fundamentals, game programming patterns, and overviews of popular game engines like Unity and Unreal. Most require some prior coding knowledge.
Highlights:
•CS50‘s Introduction to Game Development (Harvard via edX) – warp-speed introduction to developing 2D and 3D games
•Unity Certified 3D Artist Specialization (Unity via Coursera) – official training to develop immersive 3D worlds in the Unity engine
•Unreal Engine C++ Developer (Epic Games via Udemy) – Create five complete games in C++ with the popular Unreal engine
Software Engineering
Go beyond writing code and learn the principles of software design, development methodologies, architecture patterns, and tooling. These courses tend to be at the intermediate to advanced level.
Highlights:
•Software Design and Architecture Specialization (University of Alberta via Coursera) – explore common design patterns and principles of software architecture
•Software Testing and Automation (University of Minnesota via Coursera) – introduction to quality assurance, testing strategies, and automation tools
•Software Development Process (Georgia Tech via Udacity) – high-level overview of agile development and other modern methodologies
Theoretical Computer Science
For mathematically-inclined learners, theoretical computer science courses dive deep into computation, automata, cryptography, and formal methods. Expect heavy doses of math and proofs.
Highlights:
•Automata Theory (Stanford via edX) – advanced intro to formal languages and automata taught by the renowned Jeff Ullman
•Intro to Theoretical Computer Science (Udacity) – broad undergraduate-level overview of computation and complexity theory
•Reliable Distributed Algorithms (KTH Sweden via edX) – graduate-level course on designing distributed algorithms that are scalable and fault-tolerant
Specialty Topics
Courses in this category cover niche computer science topics like quantum computing, computer graphics, computational biology, and blockchain technology.
Highlights:
•The Quantum Internet and Quantum Computers (TU Delft via edX) – intro to an emerging field at the intersection of quantum physics and computer science
•Interactive Computer Graphics (University of Tokyo via Coursera) – hands-on projects in 3D graphics programming with WebGL
•Computational Neuroscience (University of Washington via Coursera) – introduction to computational approaches to understanding the brain and nervous system
Tips for success in online computer science courses:
•Code along with lectures and attempt all quizzes/assignments
•Set aside dedicated study time and treat courses like regular classes
•Take notes and make flashcards to review key concepts
•Reach out to instructors and fellow students when you get stuck
•Build your own projects outside of class to practice applying concepts
•Connect with classmates and participate in forums/discussion boards
With 400+ free online courses to choose from, you‘re sure to find something that fits your experience level, coding interests and career goals. Whether you‘re looking for a quick primer on Python to automate some tasks at work, or are ready to embark on a multi-course deep dive into machine learning, there‘s a free course (or ten) waiting for you.
Many of these free courses also allow you to earn a paid certificate to share on your resume or LinkedIn after completing the course. Certificates from accredited universities carry the most prestige, but even certificates from online learning platforms like Udacity can be a valuable signal to employers.
The hardest part of learning online is staying motivated and engaged without the structure of a traditional classroom. Set small, achievable goals for yourself when getting started (like coding every day for 15 minutes), and scale up your commitment as you build momentum.
Take advantage of the vibrant online communities of learners and professionals that gather on forums and sites like Stack Overflow, Reddit, and freeCodeCamp. You‘ll find support and inspiration by connecting with others on the same learning journey. Happy coding!