American Computer Science League
Encyclopedia
ACSL , or the American Computer Science League, is an international computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 competition among more than 200 school
School
A school is an institution designed for the teaching of students under the direction of teachers. Most countries have systems of formal education, which is commonly compulsory. In these systems, students progress through a series of schools...

s. Each round consists of two parts: a written section and a programming section. Written topics tested include "what does this program do?", digital electronics, Boolean algebra, computer numbering systems
Computer numbering formats
A computer number format is the internal representation of numeric values in digital computer and calculator hardware and software.-Bits:The concept of a bit can be understood as a value of either 1 or 0, on or off, yes or no, true or false, or encoded by a switch or toggle of some kind...

, recursive function
Recursion (computer science)
Recursion in computer science is a method where the solution to a problem depends on solutions to smaller instances of the same problem. The approach can be applied to many types of problems, and is one of the central ideas of computer science....

s, data structures (primarily dealing with binary search tree
Binary search tree
In computer science, a binary search tree , which may sometimes also be called an ordered or sorted binary tree, is a node-based binary tree data structurewhich has the following properties:...

s, stacks
Stack (data structure)
In computer science, a stack is a last in, first out abstract data type and linear data structure. A stack can have any abstract data type as an element, but is characterized by only three fundamental operations: push, pop and stack top. The push operation adds a new item to the top of the stack,...

, and queues), lisp programming
Lisp programming language
Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...

, regular expressions and Finite State Automata
Finite state machine
A finite-state machine or finite-state automaton , or simply a state machine, is a mathematical model used to design computer programs and digital logic circuits. It is conceived as an abstract machine that can be in one of a finite number of states...

, bit string flicking, graph theory
Graph theory
In mathematics and computer science, graph theory is the study of graphs, mathematical structures used to model pairwise relations between objects from a certain collection. A "graph" in this context refers to a collection of vertices or 'nodes' and a collection of edges that connect pairs of...

, assembly programming
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

 and prefix/postfix/infix
Infix notation
Infix notation is the common arithmetic and logical formula notation, in which operators are written infix-style between the operands they act on . It is not as simple to parse by computers as prefix notation or postfix notation Infix notation is the common arithmetic and logical formula notation,...

 notation.

Divisions

There are four divisions in ACSL: Classroom, Junior, Intermediate, and Senior. Junior 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" (final) competition, 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.

Preliminary Competition

The preliminary competition, in which individual students compete to get their school team qualified for the All-Star competition, consists of four rounds. These rounds consist of a programming and a written part. In the programming part, students have 72 hours to complete a program in any computer language to perform a 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.

All-Star Competition

The All-Star Competition is held at a different location every year. Teams are given 3 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 subjects of the written questions in the preliminary 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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK