American Computer Science League
ACSL, or the American Computer Science League, is an international computer science competition among more than 300 schools. Originally founded in 1978 as the Rhode Island Computer Science League, it then became the New England Computer Science League. With countrywide and worldwide participants, it became the American Computer Science League. It has been in continuous existence since 1978. Each yearly competition consists of four contests. All students at each school may compete but the team score is the sum of the best 3 or 5 top scores. Each contest consists of two parts: a written section  (called "shorts") 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 heaps, binary search trees, stacks, and queues), lisp programming, regular expressions and Finite State Automata, bit string flicking, graph theory, assembly programming and prefix/postfix/infix notation. Divisions. There are five divisions in ACSL: Elementary, Classroom, Junior, Intermediate, and Senior. The Elementary Division is a non-programming competition for grades 3 - 6. It tests one topic per contest. The Classroom Division is a non-programming competition for all grades and consists  of a 10 question test on 4 topics each contest. Junior Division is recommended for middle school students (no students above the ninth grade may compete in it). Intermediate and Senior Divisions are for secondary school students, Intermediate being easier and Senior being more difficult. At the All-Star Contest, the Junior teams consist of 5 members each while the Senior and Intermediate teams can consist of 3 or 5 members. Each team competes against other same-sized teams in its division. Regular season. The Regular Season, in which individual students compete to get their school team qualified for the  All-Star Contest, consists of four rounds. These rounds consist of a programming part and a written part. In the programming part, students have 72 hours to complete a program in any computer language to perform the given task. In the written part, students have a total of 30 minutes to answer 5 questions based on given topics. Students then receive a score of up to 10 points (5 for written and 5 for programming). For the Classroom Division, students receive 45 minutes to solve 10 written problems. For the Elementary Division, students have 30 minutes to solve 5 written  problems. Prizes are awarded to top scoring teams and students based upon cumulative scores after the fourth contest. All-Star Contest. The All-Star Contest is held at a different location every year. Teams are given 4 hours to earn up to 60 (40 for Junior Division) points by successfully completing various programs. Individuals are then given 1 hour (45 minutes for Junior Division) to take a 12 (8 for Junior Division) question multiple choice test based on the categories of the written questions in the Regular Season rounds. The scores of the programming and the team's individual scores  are added together to determine the winners. Prizes are given to teams with the highest scores and individuals based on their performance on the multiple choice test.