ACSL(American Computer Science League )は、 300校以上の学校が参加する国際的なコンピュータサイエンス競技会です。[ 1 ] 1978年にロードアイランドコンピュータサイエンスリーグとして設立され、その後ニューイングランドコンピュータサイエンスリーグとなりました。国内および世界中から参加者が集まり、アメリカンコンピュータサイエンスリーグとなりました。1978年以来、途切れることなく活動を続けています。毎年開催されるこの競技会は、4つのコンテストで構成されています。各学校のすべての生徒が参加できますが、チームのスコアは上位3つまたは5つのスコアの合計です。各コンテストは、記述セクション(「ショート」と呼ばれる)とプログラミングセクションの2つの部分で構成されています。[ 2 ] 筆記試験のトピックには、「このプログラムは何をするのか?」、デジタルエレクトロニクス、ブール代数、コンピュータ番号体系、再帰関数、データ構造(主にヒープ、 二分探索木、スタック、キューを扱う)、Lispプログラミング、正規表現と有限状態オートマトン、ビット列の切り替え、グラフ理論、アセンブリプログラミング、前置記法/後置記法/中置記法が含まれます。[ 3 ]
ACSLには、小学校、教室、ジュニア、中級、上級の5つの部門があります。小学校部門は、3年生から6年生を対象としたプログラミングを伴わない競技です。コンテストごとに1つのトピックがテストされます。教室部門は、すべての学年を対象としたプログラミングを伴わない競技で、コンテストごとに4つのトピックに関する10問のテストで構成されています。ジュニア部門は中学生に推奨されています(9年生以上の生徒は参加できません)。中級部門と上級部門は中等学校の生徒を対象としており、中級部門の方が簡単で、上級部門の方が難しくなっています。[ 4 ] オールスターコンテストでは、ジュニアチームはそれぞれ5人で構成され、上級チームと中級チームは3人または5人で構成できます。[ 5 ] 各チームは、同じ規模の他の部門のチームと競います。
レギュラーシーズンは、生徒個人が学校チームをオールスターコンテストに出場させるために競い合うもので、4ラウンドで構成されています。各ラウンドは、プログラミングパートと筆記パートからなります。プログラミングパートでは、生徒は与えられた課題を実行するプログラムを任意のプログラミング言語で72時間以内に完成させる必要があります。筆記パートでは、生徒は与えられたトピックに基づいて5つの質問に答えるために合計30分が与えられます。生徒はその後、最大10ポイント(筆記5ポイント、プログラミング5ポイント)のスコアを獲得します。教室部門では、生徒は10の筆記問題を解くために45分が与えられます。小学校部門では、生徒は5つの筆記問題を解くために30分が与えられます。4回目のコンテスト終了後の累積スコアに基づいて、上位のチームと生徒に賞が授与されます。
決勝大会は毎年メモリアルデーの週末の土曜日にオンラインで開催されます。優秀な生徒が招待され、参加できます。ジュニア、インターミディエイト、シニアの各部門の生徒は午前中に3時間の制限時間内に2つのプログラミング問題を解きます。すべての部門で、レギュラーシーズンの筆記試験で出題されたトピックに関する1時間のクイズ(20問の多肢選択式問題)が行われます。プログラミングと理論のスコアを合計して、各部門の優勝者が決定されます。