Skip to main content

Advanced Python and AI Programming

Explore the course content for the Advanced Python and AI Programming Course

Written by Jiahao Xian

Course Overview

The CodeHS Advanced Python and AI Programming course teaches students advanced programming concepts in Python and how to apply them to real-world problems. Students move well beyond the basics: they implement advanced data structures and algorithms, apply object-oriented programming, tackle classical AI challenges, and explore a wide range of Python libraries. Across the course, students build three substantial portfolio projects, including an original text adventure game, a working music player, and a machine learning classifier they design, train, and evaluate themselves. By the end, students are equipped to reason about efficiency, model real-world entities in code, and build AI-powered applications from the ground up.

Who Should Take This Course?

This is a high school course aimed at students who already have a solid foundation in Python programming and are ready to go deeper. It is best suited for students who have completed an introductory Python course (or equivalent) and are comfortable with variables, control structures, loops, and functions. Motivated students who learned programming in another language can take the course but may need extra support with Python syntax early on.

For students who need to build or refresh those fundamentals, the course includes a supplemental Python Programming Fundamentals module (see What's Covered below) that can be used as a warm-up or a just-in-time review.

Course Duration and Format

  • Length: Year-long (approximately 110 contact hours)

  • Format: Concept instruction paired with hands-on coding, culminating in three milestone-based build projects and a cumulative final exam

  • Language: Python

  • Level: High School

What's Covered

Screenshot showing a text-based ASCII art python program

Screenshot of a Python program of a mobile contacts app

Screenshot of a Python program of Textile Loom using a LIFO stack data structure

Screenshot of a Python KNN Plants program importing KNeighborsClassifier from scikit-learn to train a model based on plant height and leaf width.

Screenshot of a Python KNN Plants program importing KNeighborsClassifier from scikit-learn to train a model based on plant height and leaf width.

For the full course syllabus, click here.

The course is organized into ten core modules plus a supplemental fundamentals module. Below is a summary of what students learn and do in each.

Module 1: Welcome to Advanced Python and AI:

Students review and extend core Python skills, including program structure around a main() function, comments and docstrings, formatted output with f-strings, exception handling with try/except, lambda functions, and control-flow keywords, to prepare for the object-oriented and data-driven work ahead.

Module 2: Object-Oriented Programming:

Students learn to design and implement classes, using constructors, getters and setters, inheritance, polymorphism, composition, and magic methods to model real-world entities in code.

Module 3: Libraries and Packages:

Students use standard and third-party Python libraries to work with web data, perform numerical computing, clean and structure datasets, visualize data, and test their own code.

Module 4: Build Your Own Adventure Game (Project):

Students plan and build an original text adventure game across a series of milestones, applying classes, packages, and program design skills from earlier modules to their own story.

Module 5: Data Structures:

Students implement and apply core data structures, including sets, stacks, queues, linked lists, hash tables, trees, heaps, and graphs, to solve realistic problems.

Module 6: Algorithms:

Students analyze algorithm efficiency using Big O notation and implement classic search, sort, and recursive algorithms (linear and binary search; bubble, selection, insertion, merge, and quick sort; recursion) to understand their tradeoffs.

Module 7: Build a Music Player (Project):

Students design and build a working music player across a series of milestones, applying custom data structures and search and sort algorithms to their own project.

Module 8: Algorithms That Think:

Students explore foundational AI concepts, including graph search (breadth-first, depth-first, Dijkstra's, A*), heuristic and greedy search, and core machine learning models such as linear regression, k-nearest neighbors, decision trees, neural networks and perceptrons, and clustering.

Module 9: Build a Classifier (Project):

Students design, build, train, and evaluate an original machine learning classifier across a series of milestones, culminating in a documented and presented final project.

Module 10: Final Exam:

Students complete a cumulative, multiple-choice exam assessing understanding from Python fundamentals through object-oriented programming, data structures, algorithms, and AI/machine learning.

Module 11: Python Programming Fundamentals (Supplemental):

An optional review module covering the language of computers, printing, variables and types, user input, comments, if statements, while and for loops, flowcharts and pseudocode, functions, string methods, and lists. Use this to onboard students who need to build or refresh Python basics before the core content.

Prerequisites

There are no hard prerequisites, but this is an advanced, fast-paced course, and students should arrive with prior Python programming experience. We recommend that students complete Introduction to Computer Science in Python, or an equivalent introductory programming course, before enrolling. Students coming from a different language can succeed but should expect to spend extra time on Python syntax at the start. The supplemental Python Programming Fundamentals module (Module 11) is available for review or onboarding.

Curriculum Pathways

This course is part of the CodeHS High School Python Pathway, where it serves as an advanced offering that builds on introductory Python coursework. To see how it fits into a full course sequence, visit the High School Python Pathway or explore all CodeHS Curriculum Pathways.

Additional Resources


Visit the CodeHS Course Catalog to explore all our available courses. If you have any questions, please email us at support@codehs.com.

Did this answer your question?