# Program Overview

AlphaStar Computer Science Program aims to train students towards the USA Computing Olympiad (USACO) and similar competitive programming competitions. USACO is the most prestigious pre-college Computer Science competition in the US.

## USACO System

The USACO holds periodic web-based contests during the academic year, and in the late Spring conducts the US Open, our “national championship” exam. Contests generally run for three to five continuous hours in length, although for maximum flexibility, you are free to schedule this block of time anywhere within a Friday-to-Monday contest weekend — your timer starts when you log into the contest and download the problems. Contest tasks are presented on the web, and you submit your final solutions through a simple web interface. Participation is free and open to all.

Contests are offered in four divisions:

**Bronze**: for students who have recently learned to program, but who have no training in algorithms beyond basic concepts like sorting and binary search.**Silver**: for students who are beginning to learn fundamental problem-solving techniques (e.g., recursive search, greedy algorithms) and fundamental data structures.**Gold**: where students encounter more standard algorithms of a more complex nature (e.g., shortest paths, dynamic programming) and more advanced data structures.**Platinum**: for advanced students who are well grounded in algorithmic problem-solving techniques, who wish to challenge themselves with sophisticated and more open-ended problems.

All participants start in the bronze division, and those who score particularly well in a contest will be promoted to the next division. Contestants scoring particularly highly will be automatically promoted to the next division while a contest is running; others will need to wait until results are announced at the end of the contest to see if they meet the (contest-dependent) cutoff for promotion.

[*]*Retrieved from USACO website. See http://www.usaco.org/ for further information on USACO.*

## Why AlphaStar Computer Science Program?

AlphaStar Computer Science Program has benefits to students in various ways throughout their lives. Some of the crucial ones can be summarized as follows:

**Problem solving skills**: AlphaStar CS program helps students develop and improve problem solving skills substantially as a lifelong skill.**AP CS Courses**: AlphaStar CS courses have substantial overlap with AP Computer Science courses. A successful AlphaStar student can accomplish AP CS courses easily without much extra effort.**College applications**: Top colleges such as MIT, Harvard, Stanford, UC Berkeley care about distinguished skills of students since almost all their applicants have already outstanding scores in regular application items. USACO training track is one of the credible ones especially if a student is in Gold division or above.**Engineering career**: AlphaStar CS Program provides a strong foundation for college CS courses. In addition, one can observe the similarities between software engineering algorithmic interview questions of hi-tech companies and problem sets of AlphaStar CS Courses.

## Distinguished Features of AlphaStar CS Program

The distinguished features AlphaStar CS Program can be summarized as follows:

- Well-established curriculum and course material that have been developed since 2008 with continuous updates.
- Provides a unique environment and opportunity to be a part of AlphaStar community composed of high achieving and gifted students, parents and faculty.
- Top-notch teachers who are national / international level current or former olympians.
- Each student has an AlphaStar LMS course account where they can find all lecture materials, problem sets, solutions and other resources. Code submissions for problem sets are graded by an automated system which provides instant feedback.
- More than 1000 past USACO problems and solutions (since 2006) were carefully analyzed, updated and integrated in our curriculum with respect to their scope and sequence considering their pedagogical aspects.
- USACO tips, hints and exam strategies from experts.
- Implementations of language specific topics in all Python, C++ and Java in Bronze and above courses
- Provides free master course for exceptionally advanced students

# Curriculum

## Course Types

AlphaStar CS Program has two types of courses: (1) regular courses and (2) booster courses. The following table summarizes the difference between the two types of courses.

## Regular Courses

A regular live course can be offered in different paces in different times. Here’s the comparison of the same course offering options:

Note that summer courses require a little bit less time than the year-round ones since students do the practice in class with guidance and they are more focused. On the other hand, students need more time to digest the instruction in year-round courses due to their school work or other distractions.

## Levels and Course Flow

The following chart shows levels and summarizes the flow of courses in AlphaStar CS curriculum:

AlphaStar CS Program has 5 levels some of which have basic and advanced courses as follows:

**Programming:**These courses are for students with very little or no programming background. The aim is to teach fundamentals of programming and to improve problem solving skills.*Note that the focus is not the language itself but problem solving in these courses.*In this level, there are four different language courses.*Programming with Python*: CS21A and CS21B courses.*Programming with C++*: CS22A and CS22B courses.*Programming with Java*: CS23A and CS23B courses.

**USACO Bronze:**These USACO competing courses are for students who have programming and have Algebra I level math background. Related courses are CC25A, CC25B, and CC24.**USACO Silver:**These courses are for students who compete in USACO Silver division. In this level, students are recommended to have AMC 10/12 level math background. This level has basic and advanced courses as follows: CC31A and CC31B as basic courses and CC35A and CC35B as advanced courses.**USACO Gold:**These courses are for students who compete in USACO Gold division. In this level, students are recommended to have AIME level math background. This level has basic and advanced courses as follows: CC41A and CC41B as basic courses and CC45A and CC45B as advanced courses.**USACO Platinum:**These courses are for students who compete in USACO Platinum division. In this level, students are recommended to have USA(J)MO level math background. Related courses are CC51A, CC51B, CC54, and CC59. CC59 is one of the AlphaStar master courses named Turing Master Class which is free for USACO Platinum division students.

**NOTE**: In USACO Bronze or above level courses, students can use any of Python, C++ or Java programming languages to solve the problems.

# Course Descriptions

Each AlphaStar student has a course account at AlphaStar Learning Management System (LMS). All lecture materials, problem sets, solutions and other resources are available in student’s course account. Students submit their solution codes to AlphaStar LMS where they are graded automatically. Automated grading system provides instant feedback about their codes.

In USACO Bronze and above courses, students have to use either Python, C++ or Java as the programming language. In these courses, language specific details in any topic are taught in all these three languages. About 90% of the problems are past USACO problems since 2006.

## AlphaStar CS Curriculum vs School CS Curriculum

## Diagnostic Exams

You can take AlphaStar Computer Science Diagnostic Exam at: https://alphastar.academy/diagnosticexam/