Looking for AI and machine learning resources? Visit the Technology Dashboard.

6-12 · Basic

Scratch (MIT Media Lab)

Topics: Block-based programming (loops, conditionals, variables, events), custom blocks (intro to functions), parallelism, coordinate geometry for sprite motion

Prerequisites: None; basic reading and mouse/keyboard use

6-12 · Basic

Code.org — CS Fundamentals

Topics: Sequencing, loops, events, conditionals; K-5 computational thinking curriculum

Prerequisites: None

6-12 · Basic

Google CS First

Topics: Scratch-based storytelling, animation, and game design as an on-ramp to computational thinking

Prerequisites: None

13-17 · Basic

Code.org — CS Discoveries

Topics: Problem decomposition, HTML/CSS, introductory JavaScript, data & society, physical computing

Prerequisites: Completion of CS Fundamentals or equivalent block-coding experience recommended

13-17 · Basic

Khan Academy — Computing

Topics: JavaScript and Processing.js (drawing, animation, variables, functions, arrays, objects), HTML/CSS, basic SQL querying, how computers/the internet work

Prerequisites: None; basic algebra helpful

13-17 · Basic

Codecademy — Programming Fundamentals

Topics: Python, JavaScript, Java, and C++ language tracks; AP CS A (Java) and AP CS Principles exam-prep courses

Prerequisites: None for entry tracks

13-17 · Intermediate

Codecademy — Skill Paths

Topics: Data structures (arrays, hash maps, stacks/queues); React and Node.js web-development tracks

Prerequisites: Completed JavaScript or Python fundamentals track

All Ages · Intermediate

CS50: Harvard's Introduction to Computer Science

Topics: C programming, algorithmic complexity (Big-O/Big-Omega/Big-Theta), sorting and searching algorithms, recursion, memory management and pointers, data structures (linked lists, hash tables, tries, trees), Python, SQL and relational databases, web programming (HTML/CSS/JavaScript, Flask, HTTP), and security fundamentals

Prerequisites: None formally (two-thirds of enrollees have never coded); strong self-directed study skills expected given course rigor

18-24 · Basic

MIT OpenCourseWare — Intro to CS & Programming in Python (6.100L/6.0001)

Topics: Functions, recursion, objects, algorithmic complexity, computational simulation

Prerequisites: None; high-school algebra helpful

18-24 · Basic

Stanford Online — CS106A Programming Methodology

Topics: Java fundamentals, procedural decomposition, basic object-oriented design

Prerequisites: None

18-24 · Intermediate

Stanford Online — CS106B Programming Abstractions

Topics: C++, recursion, abstract data types, object-oriented design

Prerequisites: CS106A or equivalent programming experience

18-24 · Intermediate

MIT OpenCourseWare — Introduction to Algorithms (6.006)

Topics: Sorting, hashing, graph algorithms (BFS/DFS, shortest paths), dynamic programming

Prerequisites: Intro-level programming plus discrete math (proofs, asymptotic notation)

18-24 · Intermediate

MIT OpenCourseWare — Mathematics for Computer Science (6.042)

Topics: Mathematical proof and induction, graph theory, combinatorics, discrete probability

Prerequisites: High-school algebra

18-24 · Intermediate

freeCodeCamp — Web Development Certifications

Topics: Responsive Web Design (HTML5, CSS3, Flexbox, Grid); JavaScript Algorithms & Data Structures (closures, higher-order functions, recursion); Front-End Libraries (React, Redux); Back-End Development (Node.js, Express, MongoDB, APIs)

Prerequisites: None to start; later certifications assume completion of earlier ones in sequence

18-24 · Advanced

Stanford Online — CS161 Design & Analysis of Algorithms

Topics: Graph algorithms, greedy algorithms, dynamic programming, NP-completeness

Prerequisites: CS107/CS110-level programming plus discrete math and linear algebra

18-24 · Advanced

LeetCode

Topics: Arrays/strings, two pointers, sliding window, trees and graphs (BFS/DFS, topological sort, union-find), dynamic programming, backtracking, greedy algorithms, binary search

Prerequisites: Working proficiency in one language (Python/Java/C++/JavaScript) plus foundational data-structures & algorithms knowledge

18-24 · Advanced

edX — Georgia Tech / UC Berkeley CS MicroMasters

Topics: Operating systems, computer architecture, software analysis & testing

Prerequisites: Calculus-based probability/statistics and prior programming (Python or Java)

25-60 · Advanced

MIT OpenCourseWare — Design and Analysis of Algorithms (6.046)

Topics: Advanced dynamic programming, network flow, approximation algorithms, randomized algorithms

Prerequisites: 6.006-level algorithms plus 6.042-level discrete math

25-60 · Advanced

MIT OpenCourseWare — Distributed Systems (6.824)

Topics: Consensus protocols (Paxos/Raft), replication, fault tolerance

Prerequisites: Operating systems and networking fundamentals

25-60 · Advanced

MIT OpenCourseWare — Theory of Computation (18.404)

Topics: Automata, computability, NP-completeness, undecidability

Prerequisites: Discrete math and proof-writing (6.042-level)

25-60 · Advanced

LeetCode — System Design Track

Topics: Scalability, caching, load balancing, database sharding

Prerequisites: 2+ years of applied software engineering experience; DSA mastery

All Ages · Basic

GeeksforGeeks — K-12 & DSA Track

Topics: Grade-specific coding lessons through a full data structures & algorithms curriculum (arrays through advanced graph theory), operating systems, DBMS, computer networks

Prerequisites: None for K-12 track; basic programming syntax for the DSA/interview track

All Ages · Intermediate

MDN Web Docs (Mozilla)

Topics: Authoritative HTML/CSS/JavaScript reference, Web APIs (Fetch, DOM, WebSockets, WebAssembly), accessibility (ARIA)

Prerequisites: None to browse; effective use assumes basic web-dev vocabulary since this is a reference, not a guided course

No resources match the selected filters. Try "All Ages" / "All Levels."