CodePath

Course Catalog

CodePath courses are delivered directly to students over 10 weeks. No textbook purchases are required, and a free GitHub account is needed for every course. Courses are organized into skill pathways; within each pathway, courses build in sequence.

Last updated: July 16, 2026

AI Engineering

AI110 → AI201 → AI301

AI110

Foundations of AI Engineering

Sharpen your CS fundamentals and learn to code, debug, and think with AI the way engineers actually work today.

Prerequisites: At least one foundational programming course (Intro to CS or equivalent), or demonstrated proficiency in Python or Java.

Key skills: Applying data structures, algorithms, and OOP in AI-assisted workflows; using AI tools for coding and debugging; exercising critical oversight of AI output; building and presenting an application with responsible AI integration.

AI201

Applications of AI Engineering

Build the AI features engineers are shipping right now (RAG systems, agents, fine-tuned models) while developing real skills for navigating complex codebases.

Prerequisites: AI110, or comfort using AI tools for development plus intermediate programming knowledge (data structures, algorithms, OOP).

Key skills: Building production-grade AI features (RAG, multi-tool agents, fine-tuned models, and safety guardrails); working effectively in large, unfamiliar codebases; contributing to open source.

AI301

AI Open Source Capstone

Make real contributions to live open source software: find the issue, build the fix, and get it reviewed by actual maintainers.

Prerequisites: AI201, or strong programming foundations, the ability to work in complex codebases, proficiency using AI assistants across full application development, and familiarity with Git and collaborative development workflows.

Key skills: Contributing to live production open source; collaborating with project maintainers; producing publicly visible contributions that signal job readiness.

Technical Interview Prep

TIP101 → TIP102 → TIP103

Adaptive learning model that customizes pacing to the student. All courses use Python.

TIP101

Intro to Technical Interview Prep

Build core problem-solving for technical interviews through Python challenges and foundational data structures.

Prerequisites: Introductory OOP programming (loops, conditionals, arrays, data types, functions).

Key skills: The technical interview process; the UMPIRE problem-solving strategy; basic data structures and algorithmic techniques.

TIP102

Intermediate Technical Interview Prep

Advance your interview preparation with Python challenges spanning data structures and recursion.

Prerequisites: Introductory OOP programming; comfort with lists and dictionaries.

Key skills: UMPIRE fluency; internship-level interview readiness (easy-to-medium difficulty); problem-solving with lists, dictionaries, and recursion.

TIP103

Advanced Technical Interview Prep

Master advanced algorithmic problem-solving for upper-level internship and entry-level software engineering interviews.

Prerequisites: Introductory OOP programming; comfort solving problems with data structures (lists, dictionaries, linked lists, trees) and common algorithms.

Key skills: Advanced algorithmic techniques via UMPIRE; AI-assisted debugging and research habits.

Web Development

WEB101 → WEB102 → WEB103

WEB101

Intro to Web Development

Learn web development hands-on through HTML, CSS, and JavaScript projects, with no prior experience required.

Prerequisites: None. Open to all majors and backgrounds.

Key skills: Semantic HTML; CSS including Flexbox; JavaScript fundamentals; DOM manipulation; building interactive web pages.

WEB102

Intermediate Web Development

Expand into full-stack territory with React, APIs, and databases.

Prerequisites: WEB101 or equivalent, or introductory programming plus introductory web development experience.

Key skills: React; API integration; multi-page apps with React Router; CRUD operations; full-stack deployment.

WEB103

Advanced Web Development

Build and deploy scalable full-stack applications with React and modern frameworks, ready for professional roles.

Prerequisites: Intermediate web development experience or equivalent; familiarity with JavaScript and JSX; intermediate OOP or data structures.

Key skills: Building servers, database schemas, and APIs; authentication; advanced React with routing; scalable full-stack deployment.

Cybersecurity

CYB101 → CYB102

CYB101

Intro to Cybersecurity

Explore cybersecurity fundamentals through hands-on projects and real-world tools, and make informed decisions about a security career.

Prerequisites: None. Open to all students.

Key skills: Identifying attacks and mitigations; using real-world cybersecurity tools; understanding core security concepts; presenting a cybersecurity project.

CYB102

Intermediate Cybersecurity

Learn blue-team defense using threat intelligence platforms and SIEM systems to detect, analyze, and respond to threats.

Prerequisites: Introductory knowledge of programming and computing, plus Linux terminal basics.

Key skills: Analyzing threat data on TI platforms; collecting endpoint data with SIEM; correlating and triaging events; incident management.

Android Development

AND101 → AND102

AND101

Intro to Android Development

Build functional single-screen Android apps in Kotlin using Android Studio.

Prerequisites: Introductory OOP programming (C++, Java, or other) and basic OOP concepts.

Key skills: Kotlin and XML layouts; custom UI design; interactive functionality; debugging with AI assistance and Android Studio tools.

AND102

Intermediate Android Development

Build multi-screen Android apps that integrate APIs, local databases, and responsive design.

Prerequisites: AND101 or equivalent Android development experience.

Key skills: Fragments, intents, and navigation; local data persistence with CRUD; external API integration; adaptive layouts and RecyclerView.

iOS Development

IOS101 → IOS102

IOS101

Intro to iOS Development

Build functional single-screen iOS apps in Swift and Xcode using UIKit.

Prerequisites: Introductory OOP programming and basic OOP concepts. macOS and Xcode required.

Key skills: Swift and UIKit; custom UI design; interactive elements (buttons, text and image views, table views, network requests); debugging with AI assistance and Xcode tools.

IOS102

Intermediate iOS Development

Build multi-screen iOS apps with UIKit and SwiftUI, integrating APIs, local databases, and Firebase.

Prerequisites: IOS101 or equivalent iOS development experience. macOS and Xcode required.

Key skills: Multi-screen apps with UIKit and SwiftUI; local persistence (UserDefaults, Parse/Back4App, Firebase); external API integration; adaptive UIs.