 acsl, or the american computer science league, is an international computer science competition among more than 200 schools. each round 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 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 h
Computer_science_competitions