Free Online Computer Science Courses

  • 59 courses
  • 52 free
  • 7 free to audit
  • 19 with a free certificate

Sources: MIT, Stanford, Princeton, AWS and more · Verified

Computer science courses differ from programming courses in emphasis. A free introduction covers programming as a means, but its subject is how computation works: algorithms and their cost, data structures, memory and abstraction, and often a tour of web, database or security topics at the end. Intermediate courses take single threads further: algorithms, computer architecture, operating systems, networks, databases, theory of computation and artificial intelligence. Universities dominate this subject and offer their courses in several ways. Recorded lecture archives are free in full under open licences, with problem sets but no certificate.

Introductory courses run on a university's own site can be free in full with a free certificate, while the same course on edX is free to audit with a paid certificate and time-limited access. Non-profit curricula cover the same ground in a hands-on way with free verifiable certificates. When reading a syllabus, look for stated prerequisites in mathematics, for problem sets and projects rather than lectures alone, and for whether the course assumes a particular language. Computer science suits students weighing a degree in the subject, self-taught programmers who want the theory they skipped, and professionals in adjacent fields who need to understand how systems behave. Programming, Python and IT have their own pages on this site for the practical side of the same territory.

Our three picks

Editorial, not sponsored
Filters
Filters
    59 of 59 listed

    Filters need JavaScript to narrow the list; every course is shown below.

    Free Online Computer Science Courses
    # Course Provider Cost Certificate Level Duration Open
    1 CS50's Introduction to Computer Science CS50x is Harvard's entry-level course in computer science and programming, open to people with or without prior codin… Harvard · Beginner · 11 weeks Harvard Free IncludedCertificate included Beginner 11 weeks
    2 CS50's Introduction to Artificial Intelligence with Python This course covers the ideas and algorithms behind modern artificial intelligence, from graph search and classificati… Harvard · Intermediate · 7 weeks Harvard Free IncludedCertificate included Intermediate 7 weeks
    3 Algorithms, Part I Algorithms, Part I is the first half of Robert Sedgewick and Kevin Wayne's Princeton course on the algorithms and dat… Princeton · Intermediate · 5 weeks Princeton Free NoneNo certificate Intermediate 5 weeks
    4 Algorithms, Part II Algorithms, Part II continues Robert Sedgewick and Kevin Wayne's Princeton course and focuses on graph- and string-pr… Princeton · Intermediate · 6 weeks Princeton Free NoneNo certificate Intermediate 6 weeks
    5 Introduction to Algorithms 6.006 is MIT's introductory algorithms course, and the spring 2020 edition taught by Erik Demaine, Jason Ku and Justi… MIT MIT Free NoneNo certificate
    6 Computer Science: Algorithms, Theory, and Machines Computer Science: Algorithms, Theory, and Machines introduces the broader discipline of computer science to people wh… Princeton · Intermediate · 2 weeks Princeton Free NoneNo certificate Intermediate 2 weeks
    7 CS223A - Introduction to Robotics Introduction to Robotics is Oussama Khatib's graduate course CS223A, released on Stanford Engineering Everywhere. Stanford Stanford Free NoneNo certificate
    8 Bitcoin and Cryptocurrency Technologies Bitcoin and Cryptocurrency Technologies is Arvind Narayanan's Princeton course on how Bitcoin works at a technical le… Princeton · 2 weeks Princeton Free NoneNo certificate 2 weeks
    9 CS229 - Machine Learning Machine Learning is the Stanford Engineering Everywhere release of Andrew Ng's graduate course CS229, a broad introdu… Stanford Stanford Free NoneNo certificate
    10 Analysis of Algorithms Analysis of Algorithms is Robert Sedgewick's Princeton course on the mathematics used to make precise quantitative pr… Princeton · Advanced · 2 weeks Princeton Free NoneNo certificate Advanced 2 weeks
    11 Introduction to Deep Learning 6.S191 is MIT's introductory course on deep learning, taught during the January Independent Activities Period by Alex… MIT MIT Free NoneNo certificate
    12 Computer Architecture Computer Architecture is David Wentzlaff's Princeton course on the design of modern processors, pitched at advanced l… Princeton · Advanced · 5 weeks Princeton Free NoneNo certificate Advanced 5 weeks
    13 Design and Analysis of Algorithms 6.046J is MIT's intermediate algorithms course, and the spring 2015 edition taught by Erik Demaine, Srini Devadas and… MIT MIT Free NoneNo certificate
    14 Artificial Intelligence 6.034 is MIT's undergraduate artificial intelligence course, and Patrick Henry Winston's fall 2010 lectures are publi… MIT MIT Free NoneNo certificate
    15 Computer Science 101 Computer Science 101 is Nick Parlante's StanfordOnline course on edX for people with no prior experience of computer… Stanford · Beginner · 6 weeks Stanford Free to audit PaidPaid certificate Beginner 6 weeks
    16 Algorithms: Design and Analysis, Part 1 Algorithms: Design and Analysis, Part 1 is Tim Roughgarden's StanfordOnline course on edX, the first half of a two-pa… Stanford · Intermediate · 6 weeks Stanford Free to audit PaidPaid certificate Intermediate 6 weeks
    17 Prompt Engineering for Everyone Prompt Engineering for Everyone, course code AI0117EN, teaches non-specialists how to write prompts that get useful a… IBM · Beginner · 5 hours IBM Free IncludedCertificate included Beginner 5 hours
    18 AI Fluency AI Fluency is a seven-module learning path published by Microsoft Philanthropies for people who want a plain-language… Microsoft · Beginner · 4.6 hours Microsoft Free NoneNo certificate Beginner 4.6 hours
    19 AP®︎/College Computer Science Principles Khan Academy's AP/College Computer Science Principles course follows the topics of the AP CSP curriculum across ten u… Khan Academy Khan Academy Free NoneNo certificate
    20 Amazon ECS - Knowledge Badge Readiness Path The Amazon ECS Knowledge Badge Readiness Path is a ten-training Skill Builder learning plan, 12 hours 40 minutes long… AWS · Intermediate · 12.7 hours AWS Free IncludedCertificate included Intermediate 12.7 hours
    21 Amazon EKS - Knowledge Badge Readiness Path The Amazon EKS Knowledge Badge Readiness Path is a 12-training Skill Builder learning plan, 10 hours 45 minutes long… AWS · Intermediate · 10.8 hours AWS Free IncludedCertificate included Intermediate 10.8 hours
    22 AWS Cloud Quest: Generative AI Practitioner AWS Cloud Quest: Generative AI Practitioner is the second free role in AWS's game-based Cloud Quest and runs about 10… AWS · Beginner · 10 hours AWS Free IncludedCertificate included Beginner 10 hours
    23 Back-End Development and APIs Certification This certification moves JavaScript to the server. freeCodeCamp freeCodeCamp Free IncludedCertificate included
    24 Compute - Knowledge Badge Readiness Path The Compute Knowledge Badge Readiness Path is a Skill Builder learning plan of 14 trainings, 16 hours 20 minutes in t… AWS · Intermediate · 16.3 hours AWS Free IncludedCertificate included Intermediate 16.3 hours
    25 CS50's Computer Science for Lawyers CS50 for Lawyers adapts CS50x for lawyers and law students, taking a top-down approach that emphasises high-level con… Harvard · Beginner · 10 weeks Harvard Free IncludedCertificate included Beginner 10 weeks
    26 CS50's Introduction to Programming with Scratch CS50's Introduction to Programming with Scratch teaches the fundamentals of programming through Scratch, the block-ba… Harvard · Beginner · 9 weeks Harvard Free IncludedCertificate included Beginner 9 weeks
    27 CS50's Web Programming with Python and JavaScript CS50's Web Programming with Python and JavaScript continues from CS50x into building and deploying web applications. Harvard · Intermediate · 9 weeks Harvard Free IncludedCertificate included Intermediate 9 weeks
    28 Deep Learning Fundamentals Deep Learning Fundamentals, course code ML0115EN, is a concept-only crash course produced by DeepLearning.TV and host… IBM · 3 hours IBM Free IncludedCertificate included 3 hours
    29 Docker Essentials: A Developer Introduction Docker Essentials: A Developer Introduction, course code CO0101EN, is a compact, lab-driven introduction to containers. IBM · Beginner · 3 hours IBM Free IncludedCertificate included Beginner 3 hours
    30 Foundational C# with Microsoft Certification A certification developed with Microsoft and listed by freeCodeCamp under its professional certifications. freeCodeCamp freeCodeCamp Free IncludedCertificate included
    31 Full-Stack Developer Certification The capstone of freeCodeCamp's current curriculum. freeCodeCamp freeCodeCamp Free IncludedCertificate included
    32 Introduction to Cloud Introduction to Cloud, course code CC0101EN, gives the vocabulary of cloud computing from both a business and a pract… IBM · Beginner · 6 hours IBM Free IncludedCertificate included Beginner 6 hours
    33 JavaScript Certification The second certification in freeCodeCamp's Full-Stack Developer curriculum and, at 235 blocks, its largest. freeCodeCamp freeCodeCamp Free IncludedCertificate included
    34 Responsive Web Design Certification freeCodeCamp's entry point to web development and the first certification in its current Full-Stack Developer curricu… freeCodeCamp freeCodeCamp Free IncludedCertificate included
    35 SQL and Relational Databases 101 SQL and Relational Databases 101, course code DB0101EN, is a short introduction to querying data with SQL and to the… IBM · Beginner · 5 hours IBM Free IncludedCertificate included Beginner 5 hours
    36 Code Yourself! An Introduction to Programming Code Yourself! Coursera · Beginner · 1 week Coursera Free PaidPaid certificate Beginner 1 week
    37 Analytic Combinatorics Analytic Combinatorics is Robert Sedgewick's Princeton course on a calculus for making precise quantitative predictio… Princeton · Intermediate · 2 weeks Princeton Free NoneNo certificate Intermediate 2 weeks
    38 AWS Technical Essentials AWS Technical Essentials is a four-hour digital course on AWS Skill Builder for people in technical roles who are new… AWS · Beginner · 4 hours AWS Free NoneNo certificate Beginner 4 hours
    39 Blockchain and Money 15.S12 Blockchain and Money is a graduate course from the MIT Sloan School of Management, taught by Gary Gensler in f… MIT MIT Free NoneNo certificate
    40 Computer programming - JavaScript and the web This Khan Academy course teaches programming through eight units built around the browser. Khan Academy Khan Academy Free NoneNo certificate
    41 Computer Science: Programming with a Purpose Computer Science: Programming with a Purpose is Robert Sedgewick and Kevin Wayne's introductory programming course, b… Princeton · Beginner Princeton Free NoneNo certificate Beginner
    42 Computer Systems Security 6.858 Computer Systems Security is a graduate course from MIT's Department of Electrical Engineering and Computer Sci… MIT MIT Free NoneNo certificate
    43 CS106A - Programming Methodology Programming Methodology is Stanford's introductory programming course, released in full on Stanford Engineering Every… Stanford Stanford Free NoneNo certificate
    44 CS106B - Programming Abstractions Programming Abstractions is the second course in Stanford's CS106 sequence, taught here by Julie Zelenski and publish… Stanford Stanford Free NoneNo certificate
    45 CS107 - Programming Paradigms Programming Paradigms is Jerry Cain's Stanford course on how different languages think, published in full on Stanford… Stanford Stanford Free NoneNo certificate
    46 EE364A - Convex Optimization I Convex Optimization I is Stephen Boyd's EE364A, published in full on Stanford Engineering Everywhere. Stanford Stanford Free NoneNo certificate
    47 EE364B - Convex Optimization II Convex Optimization II continues Stephen Boyd's EE364A and is published in full on Stanford Engineering Everywhere. Stanford Stanford Free NoneNo certificate
    48 GitHub Foundations Part 1 of 2 GitHub Foundations Part 1 of 2 is a Microsoft Learn learning path that introduces Git and GitHub from scratch. Microsoft · 6.7 hours Microsoft Free NoneNo certificate 6.7 hours
    49 Introduction to Cloud Infrastructure: Describe cloud concepts This is the opening learning path in Microsoft's Azure infrastructure fundamentals series, the material behind the AZ… Microsoft · Beginner · 0.9 hours Microsoft Free NoneNo certificate Beginner 0.9 hours
    50 Introduction to Computational Thinking and Data Science 6.0002 is the second half of MIT's introductory programming sequence, following 6.0001, and the fall 2016 edition by… MIT MIT Free NoneNo certificate
    51 Introduction to Computer Science and Programming in Python 6.0001 is MIT's fall 2016 half-semester introduction to programming for students with little or no prior experience… MIT MIT Free NoneNo certificate
    52 Introduction to Machine Learning 6.036 Introduction to Machine Learning is MIT's undergraduate machine learning course, offered in the Open Learning L… MIT · 13 weeks MIT Free NoneNo certificate 13 weeks
    53 Mathematics for Computer Science 6.042J is MIT's discrete mathematics course for computer science and engineering students, and the fall 2010 edition… MIT MIT Free NoneNo certificate
    54 Software Construction in Java 6.005.1x Software Construction in Java is the first of a two-course MITx sequence on writing good software with moder… MIT · 14 weeks MIT Free NoneNo certificate 14 weeks
    55 Introduction to Computational Thinking and Data Science 6.00.2x is the second course in MITx's introductory sequence, following Introduction to Computer Science and Programm… MIT · 9 weeks MIT Free to audit PaidPaid certificate 9 weeks
    56 Introduction to Computer Science & Programming Using Python 6.00.1x is the MITx Online version of MIT's introductory programming course, the first of a two-course sequence that… MIT · 9 weeks MIT Free to audit PaidPaid certificate 9 weeks
    57 Introduction to Linux Introduction to Linux (LFS101x) is the Linux Foundation's entry-level Linux course on edX. edX · Beginner · 14 weeks edX Free to audit PaidPaid certificate Beginner 14 weeks
    58 Introduction to Python Introduction to Python is a seven-week BerkeleyX course taught by lecturer Michael Ball and forms part of UC Berkeley… UC Berkeley · Intermediate · 7 weeks UC Berkeley Free to audit PaidPaid certificate Intermediate 7 weeks
    59 Mining Massive Datasets Mining Massive Datasets is the StanfordOnline edX course taught by Jure Leskovec, Anand Rajaraman and Jeff Ullman, ba… Stanford · Advanced · 7 weeks Stanford Free to audit PaidPaid certificate Advanced 7 weeks
    Advertisement

    Computer Science courses by provider

    Questions about free computer science courses

    Do I need to know programming before a computer science course?

    Not for an introductory course, which teaches programming as it goes. Intermediate courses in algorithms, systems or theory usually assume you can already write and read code in at least one language.

    Can I get a free computer science certificate?

    Yes, from some university introductions taught on the university's own site and from non-profit curricula. University courses hosted on edX generally charge for the certificate.

    Is a free course a substitute for a computer science degree?

    No, but a sequence of free courses can cover much of the content of the early years. What a degree adds is assessment, credit, supervised projects and a recognised credential.

    Advertisement