American Computer Science League (ACSL http://www.acsl.org/ ) organizes computer science contests and computer programming contests for elementary, junior, and senior high school students.
Each contest round consists of two parts: a written section (short answer test) and a programming section. Written topics tested include "what does this program do?", digital electronics, Boolean algebra, computer numbering systems, recursive functions, data structures (primarily dealing with binary search trees, stacks, and queues), regular expressions, bit string flicking, graph theory, and prefix/postfix/infix notation.
Only Students from Grade 6 to Grade 9 are allowed to participate in the Junior Division.
The Fall term will have 8 classes to prepare students for Contest #1 and Contest #2, and the Winter term will have 10 classes to prepare students for Contest #3 and Contest #4. Sunshine will have another 6 classes to prepare students who qualified for the ACSL Finals competition.
Topics for Contest #1 covers the following areas:
1. Computer Number Systems
2. Recursive Functions
3. What Does This Program Do? - Branching
Topics for Contest #2 covers the following areas:
1. Prefix/Infix/Postfix Notation
2. Bit-String Flicking
3. What Does This Program Do? - Looping
Topics for Contest #3 covers the following areas:
1. Boolean Algebra
2. Data Structures
3. What Does This Program Do? - Arrays
Topics for Contest #4 covers the following areas:
1. Graph Theory
2. Digital Electronics
3. What Does This Program Do? - Strings
No prior programming experience is required to attend this training class. Students are expected to be proficient in Algebra 1 with good problem-solving skills.
The above topics will be taught in the level required to excel in the ACSL Junior Division competition.
Here are the contest events detail and registration link:
https://www.sunshineeliteeducation.com/course.php?term=55&course_category=30