A-Star Computer Science Program
*** Our courses are aligned with new USACO levels ***
A-Star Computer Science Program has yearround courses and winter / summer camps. The program aims to train students towards USA Computing Olympiad (USACO). USACO is the most prestigious pre-college Computer Science competition in the states. For more information on USACO: http://www.usaco.org.
A-Star CS Program has 5 levels some of which has basic and advanced courses:
- Introduction to Programming
- USACO Bronze
- USACO Silver
- USACO Gold
- USACO Platinum
Introduction to Programming
This level is intended for students in 4-6 grades. Students will learn fundamentals of programming while they are working on projects and having fun using Scratch programming language. The focus of the level is problem solving skills.
Scratch is a programming language and an online community where children can program and share interactive media such as stories, games, and animation with people from all over the world. As children create with Scratch, they learn to think creatively, work collaboratively, and reason systematically. Scratch is designed and maintained by the Lifelong Kindergarten group at the MIT Media Lab.
This level has two courses basic and advanced. The following table provides the comparison between courses:
Introduction to Programming Basic | Introduction to Programming Advanced | |
Objectives | - provide initial programming experience - understand the fundamental programming concepts and be able to implement them - boost problem solving skills |
- learn to deal with harder algorithmic problems - comfortably implements solutions - get ready for USACO Bronze course |
Prerequisites | - for grades 4-6 - no background in programming is necessary - robust math background is strongly recommended |
- for grades 4-6 - finish Intro to Programming Basic course successfully or strong programming background on Scratch - robust math background is strongly recommended |
Content | - considerable amount of lectures - easier problem sets / projects |
- very brief lectures when necessary - much harder problem sets / projects |
Sample project |
The following project requires problem solving skills using loops. |
The following project requires problem solving skills using matrices (2D arrays). |
Both courses are one year courses with fall and spring semesters; 12 weeks each; 2 hours per week. Both courses have same topics as follows:
Fall Semester Topics:
- Variables
- Conditions
- Loops
- Lists (Arrays)
- String processing
Spring Semester Topics:
- String processing review
- Nested conditions
- Nested loops
- Multi-threading
- Matrices
- Functions
USACO Bronze
The course is for students with very little or no programming background. The language used is C++. Students who are familiar with Java also welcome. The focus is fundamentals of programming and problem solving hence object oriented part of the language and other details will not be taught. At the end of the course, the goal is to finish A-Star USACO Bronze Curriculum and to be comfortable in solving USACO Bronze division problems. Programming background is not required whereas strong Math background is required.
Prerequisites: A student is eligible if s/he satisfies one of the following requirements:
- finished Algebra I
- qualified for MathCounts State Competition
- successfully completed A-Star Introduction to Programming Advanced course
- USACO Bronze competitor
The course has two semesters: fall and spring; both 12 weeks, 2 hours per week.
Fall Semester Topics:
- Variables
- Conditions
- Loops
- Arrays
- String processing
Spring Semester Topics:
- String processing review
- Nested conditions
- Nested loops
- Matrices
- Functions
- Introductory USACO Silver problems
USACO Silver
The level is for students with programming background or students compete in USACO Silver division. The language used is C++. Students who are familiar with Java also welcome. This level has two courses basic and advanced. The following table provides the comparison between courses:
USACO Silver Basic | USACO Silver Advanced | |
Objectives | - understand the concepts in USACO Silver level and be able to implement them - be able solve easy/medium USACO Silver problems |
- be able to solve hard USACO Silver problems - comfortably implements USACO Silver level solutions - get ready for USACO Gold course |
Prerequisites |
One of the followings has to be satisfied: |
One of the followings has to be satisfied: - successfully completed A-Star USACO Silver Basic course - successfully completed AP Computer Science A course - scored more than 400 points in a USACO Silver contest |
Content | - considerable amount of lectures - easier problem sets / projects |
- brief lectures when necessary - much harder problem sets / projects |
Both courses are one year courses with fall and spring semesters; 12 weeks each; 2 hours per week. Both courses have same topics as follows:
Fall Semester Topics:
- Introductory USACO Silver problems
- Sorting and Searching
- Simple string processing
- Non-recursive floodfill
- Simulation problems
- Greedy methods
Spring Semester Topics:
- Recursion
- Simple data structures
- Depth first search
- Breadth first search
- Hard implementation problems
USACO Gold
The level is for students who are competing in USACO Gold division. The language used is C++. Students who are familiar with Java also welcome. This level has two courses basic and advanced. The following table provides the comparison between courses:
USACO Gold Basic | USACO Gold Advanced | |
Objectives | - understand the concepts in USACO Gold level and be able to implement them - be able solve easy/medium USACO Gold problems |
- be able to solve hard USACO Gold problems - comfortably implements USACO Gold level solutions - get ready for USACO Platinum course |
Prerequisites |
One of the followings has to be satisfied: |
One of the followings has to be satisfied: - successfully completed A-Star USACO Gold Basic course - scored more than 400 points in a USACO Gold contest |
Content | - considerable amount of lectures - easier problem sets / projects |
- brief lectures when necessary - much harder problem sets / projects |
Both courses are one year courses with fall and spring semesters; 12 weeks each; 2 hours per week. Both courses have same topics as follows:
Fall Semester Topics:
- Searching techniques
- Data structures
- Graph algorithms
Spring Semester Topics:
- Dynamic programming
- Greedy methods
- Elementary geometric algorithms
USACO Platinum
The level is for students who are competing in USACO Platinum division. The language used is C++. Students who are familiar with Java also welcome. At the end of the course, the goal is to cover the topics in A-Star USACO Platinum curriculum.
Prerequisites: A student is eligible if s/he satisfies one of the following requirements:
- USACO Platinum contestant
- Scored more than 600 in any USACO Gold contest
The course has two semesters: fall and spring; both 12 weeks, 2 hours per week.
Fall Semester Topics:
- Dynamic programming
- Advanced data structures
- Advanced searching techniques
Spring Semester Topics:
- Advanced dynamic programming
- Advanced graph algorithms
- Geometric algorithms