Ahh, ACSL. Essentially, it's a computer programming competition for those high school comp sci students who don't think 100 lines is a lot of code. While the individual portion of the contest mostly consists of writing little algorithms to replace numbers with other numbers and multiplying in binary, the team portion -- called "All-Stars" -- is deceptively tricky and a great experience for any beginning programmer.

What?

ACSL is a computer programming competition for high school and middle school students. There are three divisions, Junior, Senior, and Intermediate, each with its own set of programs that must be completed and its own short-answer problems. On the Senior and Intermediate levels, schools may have either three or five students on their team. On Junior, there must be five students on the team. Each school may only have one team per level.

Junior level is for more experienced middle school students, and high school freshmen. Nobody beyond 9th grade can compete on this level. From personal experience, the junior division is never very difficult, even as a freshman. The programs are straightforward, as are the short answer problems. The Intermediate division is for high school sophomores and juniors, as well as more advanced younger students. Once again speaking from experience, Intermediate does not usually have many tricks to it, although it is certainly more difficult than Junior. The programs for Intermediate can usually be completed in one of two ways: the brute force way, or the elegant way. It is on Senior level (any high school student may compete) when the programs begin to require finesse to avoid running out of memory or other fun problems. The Senior programs are most frequently identical to the Intermediate programs, with a few words or a sentence added (usually along the lines of "print out all of the possibilities, not just the correct one").

The first half of the competition is conducted throughout the school year in the classroom. There are four competitions, in December, February, March, and April. Each competition consists of one program to be completed within 72 hours and five short answer computer science questions to be done within 45 minutes. These competitions are each worth ten points: five for each of five correct test inputs for the program, and one for each short answer question. This gives a total of 40 points for a perfect student score at the end of the year, and either 120 or 200 for a perfect school score. The programs are usually fun to do but with no real use; there are a lot of board game simulations, character counters, and binary trees being stuffed into one-dimensional arrays. The short answer questions have covered the following topics in the past few years:



Each school reports the scores of its top three or five students in each division. These scores are added to determine the school scores. The schools with the top scores in each division get to travel to the All-Star competition, which is a daylong event held at a participating high school somewhere in the United States. On this day, each team (the top three or five students from each school) has to complete five programs within three hours, for a total of 40 points (more points for the more difficult programs), and each student works 8 difficult short answer problems within an hour to determine their individual scores. Individual scores for a team are added to the team score to determine the total score, which is used to determine the winner.

At the culmination of the All-Star competition, there is an awards ceremony, with awards for the top student per team division per geographical division, for the top-scoring teams of the day, and for the top student scores. The top three teams get trophies, the highest scoring students of the year get plaques, and the top individual scores of the day get programming books. Last year I got "Preparing for the AP Exam in Java" and "Java in a Nutshell"; some of my teammates got books on game programming, internet stuff, and C++. There are some special awards, mostly computer games. After winning one of those, our school's senior team spent the evening installing it on all our laptops and setting up the wireless network to work on the ride home. Spiffy.

The ACSL competition was first held in the 1978-79 school year, in the form of the "Rhode Island Computer Science League". It is now in its twenty-fifth year. Each year it publishes four online newsletters, corresponding to the four contests, documenting challenges over the correct answers and exceptional scores. Last year, I remember, they wrote in one newsletter that two fifth graders had achieved perfect scores on the Junior competition. What is the world coming to...

Overall, ACSL is a fairly incredible experience. The programs are fun and challenging, and it inspired a lot of teamwork in our computer science classes. It had its moments of drama ("Hey, why isn't it working... wait for it... YES!") and nuttiness (our teacher chaperone yelling "Trogdor" in the middle of the awards ceremony). And we got to go to Disney Land!

Who?

Currently, twenty-four states and several Canadian provinces participate in the ACSL competitions. There is also the occasional team from places like Japan, Romania (be warned: they're really good), and Croatia. They are divided up into geographical divisions based on the level at which they are competing: junior, intermediate, and senior; and the number of students per team, three or five. These divisions (for the 2003-2004 school year) are as follows:

Eastern
Senior 5: CR, MA, NC, NH, NJ, ON, RO

Southern
Junior: GA, MD, NC, VA
Intermediate 3: CA, FL, KY, OK, TX
Intermediate 5: AL, CA, FL, MD, NC, SC, VA
Senior 3: FL, KY, MD, SC, TN, VA
Senior 5: AL, CA, TX, SC, FL

Northern
Junior: CR, IL, NJ, NY, ON, PA, RO
Intermediate 3: CR, ON, QC, RO, OR
Intermediate 5: CR, MA, NH, ON, RO, VT
Senior 3: CR, MA, ME, NH, ON, RI, RO

Western
Senior 3: CA, TX, NE, OK

Metro
Intermediate 3: NJ, NY, PA
Intermediate 5: NJ, NY, PA
Senior 3: NJ, NY

Central
Intermediate 3: IL, IN, MD, MI, OH, WI
Intermediate 5: IL, OH, TX
Senior 3: IL, IN, MI, OH, PA
Senior 5: IL, MD, PA, VA

Patriot
Intermediate 3: CT, MA, ME, NH, RI, VT

Some of these states are represented by only one school, while others have several. This year, there are over 200 schools competing in total.

Sources: acsl.org; personal experience.

Log in or registerto write something here or to contact authors.