JavaScript
The programming language of the web. Runs in browsers and on servers (via Node.js).
Design, write, test and maintain software applications.
Software developers turn requirements into working programs: they design how the code is structured, write and review it, fix bugs and ship updates with other engineers, designers and product managers. They use languages such as JavaScript, Python or Java, version control with Git, automated tests and debugging tools. Entry is usually a bachelor's degree in computer science or a portfolio of working projects.
Take these courses in order, from beginner to mid-level.
The shared base every STEM career uses: working with numbers and units, testing ideas fairly, handling data and code, and explaining your work.
The everyday computer, internet, safety and AI skills every tech and STEM job assumes you already have.
Learn how the web works and build, style and publish your own responsive website with semantic HTML and modern CSS.
The programming language of the web: variables, functions, the DOM, arrays and objects, and fetching data from APIs.
Write clear emails and documents, present and run meetings, work well on teams, and navigate résumés, interviews and networking.
The practical math behind tech and STEM work: numbers, algebra, functions, geometry, logic and counting, with short code exercises.
Use the terminal with confidence, track your work with Git, and collaborate on GitHub with pull requests.
Learn to program in Python from zero: values, decisions, loops, functions, data structures, files, modules and a small data project.
Query, summarise, join and change data in a relational database with SQL, practised in your browser.
Understand tech roles and career ladders, pick a realistic learning route, build portfolio evidence, and navigate postings, interviews and your first 90 days.
Build interactive interfaces with React components, props, state, effects, context, routing and component tests.
Build interfaces that work for everyone on every screen: WCAG 2.2, keyboard and ARIA, fluid layouts, responsive images and real audits.
Measure efficiency with Big-O, then use searching, sorting, hash maps, stacks, linked lists, trees, graphs and dynamic programming in Python.
Design REST routes, validate JSON, build Node and Express APIs on a SQL database, secure them, test them and ship them.
Go from building components to shipping production front-ends: architecture, TypeScript, state, performance, testing, CI and code review.
Design, test, refactor, review, estimate and run software the way professional teams do.
The programming language of the web. Runs in browsers and on servers (via Node.js).
The version-control tool every software team uses to track and merge changes.
How data is organized in memory — lists, trees, graphs, hash maps. Underpins everything.
Step-by-step procedures for solving problems efficiently. Show up in every interview.
Breaking big, vague problems into small concrete steps. The most transferable skill in tech.
The terminal — how programmers automate tasks and run tools without a graphical UI.
Hand-picked courses and reading from trusted free providers.
Free open-source curriculum for full-stack web development. Project-heavy, community-supported.
Harvard's free intro CS course — widely considered one of the best on-ramps to programming.
Free MIT lectures on the tools real engineers use every day: shell, Git, editors, debugging.
Write the server code, APIs and databases that web and mobile apps call.
Study an organization's computer systems and specify improvements for engineers to build.
Test software to find bugs and write automated checks that catch regressions.