AlphaStar Computer Science Program has year-round courses and winter / summer camps. This Computer Science competition training program aims to train students towards USA Computing Olympiad (USACO) which is the most prestigious pre-college Computer Science competition in the States.
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 portions of 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:
- It is flexible for fast paced students by providing an acceleration track in basic courses
- Based on both C++ and Java programming languages in Silver and above courses
- Code submissions for problem sets are graded by an automated system with instant feedback mechanism
- More than 90% of the problems in the courses are former USACO problems
- Provides master courses for exceptionally advanced students
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.
- Scratch programming for Kids: CS11A, CS11B and CS11AB courses. These courses are intended for students in 4-6 grades and have a lot of fun projects. Scratch is designed and maintained by the Lifelong Kindergarten group at the MIT Media Lab.
- Programming with Python: CS21A, CS21B and CS21AB courses.
- Programming with C++: CS22A, CS22B and CS22AB courses.
- Programming with Java: CS23A, CS23B and CS23AB courses.
- USACO Bronze: These USACO competing courses are for students who have programming and strong Math background. Related courses are CC25A, CC25B, CC25AB, and CC24.
- USACO Silver: These courses are for students who compete in USACO Silver division. This level has basic and advanced courses as follows: CC31A, CC31B and CC31AB as basic courses and CS35A, CC35B and CC35AB as advanced courses.
- USACO Gold: These courses are for students who compete in USACO Gold division. This level has basic and advanced courses as follows: CC41A, CC41B and CC41AB as basic courses and CS45A, CC45B and CC45AB as advanced courses.
- USACO Platinum: These courses are for students who compete in USACO Platinum division. Related courses are CC51A, CC51B and CC51AB, 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 order to solve the problems in USACO Bronze or above level courses, students are required to use ONE of the following languages: Python, C++, Java.
The following flowchart summarizes AlphaStar CS Courses in terms of year-round (fall and spring) / summer / winter courses:
Year-round courses: are composed of fall and spring terms. They’re indicated as separate courses since each term requires separate registration. For instance CC25A only covers the first part of the AlphaStar USACO Bronze curriculum. It covers the whole curriculum together with CC25B course. A year-round course is composed of 2 hours per week for 12 weeks per term, in total 48 class hours plus 48 hours for homework is required on the average.
Summer courses: 6 hours per day for 15 days, in total, 90 class hours. A summer course corresponds to a year-round course. The course code also indicates the idea. For instance, USACO Bronze year-round course is composed of CC25A and CC25B whereas the summer course has code CC25AB. Note that there is no homework in summer camps; average practice time is included in the camp.
Winter courses: 6 hours per day for 6 days, 36 class hours. Winter camp serves as a booster camp for USACO contests. Programming courses requires no background and teaches programming. On the other hand, USACO Courses consist of intensive problem solving, implementation sessions and contest strategies; they don’t include teaching topics. Students are assumed to have basic foundation of that level.
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. USACO tips and strategies developed by International Olympiad in Informatics medalist (1999) and former USACO Coach (2006-2013), Dr. Fatih Gelgi are integrated to all USACO courses.
All AlphaStar CS Courses are summarized in the following table:
AlphaStar CS Curriculum vs School CS Curriculum
AlphaStar CS Courses are different than the CS courses in school curriculum. The major difference is the perspective. AlphaStar CS Program focuses on acquiring the skills of using the topics to solve problems whereas school curriculum mostly focuses on teaching the topic itself and language details.
AlphaStar CS Courses correspond the following portions of the K-16 CS curriculum:
Elementary or Middle school Introduction to Programming
Scratch Programming for kids
School courses are more language oriented whereas AlphaStar courses teach fundamentals through problem solving
High school Introduction to Programming
Programming with Python / C++ / Java
AlphaStar courses focus on in-depth problem solving rather than the language details and object oriented part of the language as in school courses
AP CS A
USACO Silver Basic
USACO Bronze contains some of the topics of AP CS A course.
USACO Silver is much harder in terms of problem sets but doesn’t include object-oriented and software engineering topics
College Sophomore year Data Structures
USACO Silver Advanced
College Junior year Algorithms
USACO Gold Basic / Advanced
Graduate level Advanced Data Structures and Algorithms
The following table provides guidelines for selecting the right AlphaStar Computer Science course. To take an exam, you need a USACO account (if you don’t have, you can easily sign up free at usaco.org). Click on the exam link provided below and find the right exam on the page. Try to solve the problems – unlimited time and trials. You can determine the right course based on your results and the recommendations provided below.
|Programming||USACO December’16: Bronze contest problems:
– Square Pasture
– Block Game
– The Cow-Signal
|* cannot solve any problems or solved problem  only: you’re new to programming. You should start taking from one of the language courses if you satisfy the prerequisites. To learn
– Phyton: CS21A in fall or CS21AB in summer,
– C++: CS22A in fall or CS22AB in summer,
– Java: CS23A in fall or CS23AB in summer.
* solved problems  + [some of 2 or some of 3]: you know some programming. You can continue with the language you are currently using.
– Phyton: CS21B in spring or CS21AB in summer,
– C++: CS22B in spring or CS22AB in summer,
– Java: CS23B in spring or CS23AB in summer
* solved problems  + [2 or 3]: the level is above Programming; take the USACO Bronze diagnostic exam
|USACO Bronze||USACO December’15: Bronze contest problems:
– Fence Painting
– Speeding Ticket
– Contaminated Milk
|* cannot solve any problems or solved problem  only: the level is either Programming or Bronze. Take the Programming diagnostic exam. If the result is above Programming level, you can take CC25A in fall or CC25AB in summer
* solved problems  and  only: your level is Bronze. You can take CC25A in fall or CC25AB in summer.
* solved all problems: the level above Bronze. Take the Silver diagnostic exam.
|USACO Silver||USACO December’15: Silver contest problems:
– Switching on the Lights
– High Card Wins
– Breed Counting
|* cannot solve any problems or solved problem  only: the level is either Bronze or Silver Basic. Take the Bronze diagnostic exam. If the result is above Bronze level, you can take CC31A in fall or CC31AB in summer
* solved problems  and  only: your level is Silver Basic. You can take CC31A in fall or CC31AB in summer USACO Silver summer course.
* solved all problems: the level is either Silver Advanced or Gold. Take the Gold diagnostic exam. If the result is below Gold level, you can take CC35A in fall or CS35AB in summer.
|USACO Gold||USACO February’14: Silver contest problems:
– Secret Code
|* cannot solve any problems: the level is below Gold. Take the Silver diagnostic exam
* solved problem  only: the level is either Silver or Gold Basic. Take the Silver diagnostic exam. If the result is Silver Advanced or Gold level, you can take CC41A in fall or CC41AB in summer.
* solved one of the problems  or : your level is Gold Basic. You can take CC41A in fall or CC41AB in summer.
* solved problems  and : the level is either Gold Advanced or Platinum. Take the Platinum diagnostic exam. If the result is below Platinum level, you can take CC45A in fall or CC45AB in summer.
|USACO Platinum||USACO US Open’14: Silver contest problems:
– Fair Photography
– Dueling GPSs
|* cannot solve all problems: the level is below Platinum. Take the Gold diagnostic exam
* solved all problems: you can take CC51A in fall or CC51AB in summer.