Free Computer Science Courses online

Learn Computer Science with the Computer Science tutorials and online courses.

Loading

The material here outlasts everything else you'll learn. Frameworks arrive and leave; how memory works, what a type system buys you, why concurrency is hard — that stays true across a career, and it's why people who study fundamentals keep moving up while tutorial-followers plateau.

Four entries in this category, and one honest note before you read on: three of them are language courses. The label is broader than the contents.

The real computer science course

CS50x: Introduction to Computer Science is the one that earns the category name. Harvard's course starts in Scratch, spends five weeks in C — arrays, algorithms, memory, data structures — then moves through Python, SQL, web development and AI, with graded problem sets and a free certificate on completion. The C weeks are where the attrition happens and also where everything you came for actually gets taught. Nothing else free produces the same shift in how you think about a variable.

Three languages, three temperaments

A Tour of Go runs in the browser: basics, methods and interfaces, generics and concurrency, with runnable exercises and an offline install option. An afternoon, and you'll have written goroutines. The Rust Programming Language is the official book, free and available offline through rustup, teaching ownership, borrowing, traits and concurrency by building a grep clone and a threaded web server — budget weeks, not an afternoon. Java Programming MOOC from the University of Helsinki is fourteen parts with a real IDE and automated Test My Code grading; the material is superb, but it's now a legacy course and its ECTS credits have been discontinued.

What's missing, plainly

There's no algorithms and data structures course in this category, which for a computer science shelf is the obvious hole. Nothing on operating systems, networking, databases as a subject, compilers or distributed systems. No discrete mathematics. CS50x touches several of these in passing and none in depth, so if you want to go deeper than an introduction, this page hands you off rather than taking you there.

Our take

CS50x if you have the hours — the best free course in computing, and the one most likely to be abandoned. Go for a fast, pleasant second language. Rust when you want ideas that change how you write everything else.