Computer Science: Algorithms

Course Description

Students will learn the basics needed to understand and implement algorithms, which is the fundamental thinking process and methodology for learning computer science. This is a fundamental requirement for the USA Computing Olympiad. It builds the foundation for studying and excel in the AP computer science courses. Standard measures of efficiency (for example time and space complexity) will be introduced, and popular algorithms for sorting and searching will be explored in greater detail. Algorithms will be presented in pseudo-code, and implementations in Python and other popular languages will be covered. More specialized algorithms, such as primality testing, string matching, shortest path, or RSA-encryption will be covered based on teacher specialization.

Course Meetings

This course meets Sundays 1:00-2:00 PM Pacific (4:00-5:00 PM Eastern) for live sessions. Recorded videos are posted before each live session. For the specific dates of the course please see the individual courses below or the full course schedule by clicking here.

Self-Paced Course

If a live version is not available, this course is available as a self-paced course. The self-paced version includes the same recorded video lectures and assignments for practice as the live course.


Click on any of the courses below to register! You will be prompted to login or create a new account if you have not already done so.

Featuring the same content as the live Intro to Algorithms course, the self-paced version allows students to learn and practice at their own pace.

The ten live class sessions will be on the following dates: 6/7, 6/14, 6/21, 6/28, 7/12, 7/19, 7/26, 8/2, 8/9, 8/16.