Computer Science Fundamentals
Saylor Academy – Introduction to Computer Science I
Self-paced course covering computing concepts, algorithms, programming basics and problem solving.
Programming
Python for Everybody
Open course and textbook introducing Python, data structures, web data and databases.
Programming
Automate the Boring Stuff with Python
Free online book for practical Python automation, files, spreadsheets, web scraping and scripting.
Programming
Eloquent JavaScript
Free online book covering JavaScript, functional programming, objects, browser programming and Node.js.
Programming
The Rust Programming Language Book
Official free book covering Rust fundamentals, ownership, borrowing, concurrency and systems programming.
Programming
Learn C – Free Interactive C Tutorial
Free interactive lessons covering C syntax, pointers, arrays, functions and programming basics.
Programming
Java Programming – University of Helsinki MOOC
Open Java programming course with exercises, object-oriented programming and practical coding tasks.
Object-Oriented Programming
Saylor Academy – Object-Oriented Programming
Self-paced course on objects, classes, inheritance, polymorphism, abstraction and software design.
Data Structures and Algorithms
MIT OCW – Introduction to Algorithms
Course materials on algorithm analysis, sorting, graphs, dynamic programming and data structures.
Data Structures and Algorithms
Open Data Structures
Free textbook presenting data structures and algorithms with implementations in multiple programming languages.