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.
Data Structures and Algorithms
Algorithms, 4th Edition – Princeton Resources
Free online booksite and course resources on algorithms and data structures.
Computer Architecture
Nand2Tetris – Part I
Open course building a computer from Boolean logic, gates, chips, memory, machine language and assembler.
Computer Architecture
MIT OCW – Computation Structures
Course materials on digital logic, instruction sets, processor design and computer systems.
Operating Systems
MIT OCW – Operating System Engineering
Advanced course materials on operating system design, kernels, concurrency, virtual memory and file systems.
Operating Systems
OSTEP – Operating Systems: Three Easy Pieces
Free online textbook on virtualisation, concurrency, persistence and operating system principles.
Computer Networks
Kurose and Ross – Computer Networking Resources
Open companion resources for computer networking concepts, protocols, Internet architecture and applications.
Computer Networks
Cisco Networking Academy – Skills for All
Free learning platform with introductory networking, cybersecurity, Python and digital skills content.