|
ACM Programming Contest:
Frquently asked questions
|
|
[updated July 18, 2003] |
What is the ACM programming contest?
The ACM International Collegiate Programming Contest (ICPC) is a
problem-solving
contest for undergraduate and graduate students, held at local, regional
and world levels. The numerous regional competitions, which
are held around the globe, are followed by the World Finals.
York programming contests are held locally to determine the teams who
will represent York at the collegiate level for the year.
The ACM Programming Contest is sponsored by IBM and held every year.
The 2004 contest will be the 30th annual competition.
How do the contests work?
At the start of the local, regional and world contests, eight problems
are revealed to the participating teams. Each team develops as many
solutions as possible within the alloted five hours of time. Each team
is provided with one computer and a very restricted programming environment.
Problem solutions require a combination of problem solving and programming.
Teams submit their solutions throughout the five-hour time period.
For each submitted solution, either points or penalties are awarded
(for correct and incorrect solutions, respectively). The evaluation
of the solutions is rapid, as it is performed by automated judging software.
The objective is to write correct, efficient code fast -- no credit is given
for the quality of code. Incorrect submissions may be modified and resubmitted
(a resubmission results in points or additional penalties, depending on
its correctness). The ranks of the participating teams are determined
by the total number of points each team has accumulated. The ranking
list is updated frequently throughout the five-hour time period.
Why should I participate?
This contest offers you many benefits:
- Hands-on experience with interesting and challenging problems and
the chance to make use of your problem-solving and programming skills,
as well as to apply your knowledge of algorithms, data structures, and
mathematical techniques.
- Rapid prototyping skills and the ability to work in a team -- two
qualities that many employers look for.
- A contact person in IBM and possibly other interested companies when
you apply for a job.
- Get to know your classmates and professors during the training sessions.
- Better problem solving and programming skills that will be useful
in future courses and employment.
- The chance to represent your university at the intercollegiate level.
- The opportunity to demonstrate to potential employers and to potential
graduate schools that you are a person who enjoys challenges, who gets
involved in extra-curricular activities, and who works well under time
constraints.
- The chance to earn cash; the 2 winning teams receive a cash prize
($300 last year).
- A committment of time but not finances; the travel expenses of the
teams participating at the regional level will be covered.
- The opportunity for fame and bragging rights; regional contestants
have the chance to advance to the World Final (and have their travel expenses
covered as well).
The contest offers something for those who enjoy solitary challenges as
well as for those who enjoy teamwork.
Can I participate?
Any undergraduate or graduate student may participate in the training
and the local competition. Each team has 3 members, at most one of whom
can be a graduate student. Ideally, participants should:
- Be a undergraduate York student in your second, third or fourth
ear or a York graduate student in your first or second year.
- Know C/C++/Java well enough to implement programs quickly.
- Know (or be able to learn quickly) how to use common I/O routines
(e.g. printf, scanf, gets, trtok, etc. in C). These routines are used in
every problem to do input
and output and are essential to successful solutions.
- Be prepared to work in a team of three people.
- Commit to weekly training sessions in the time period September- early November. Participation in these sessions is strongly advised.
- Every team should have at least one person who is strong in algorithmic
problem-solving. A student with a grade average of B+ or above in
theoretically-oriented courses (2001, 2011, 3101, 4101, ...) may satisfy this criterion. These courses are good preparation for the problem-solving side of the contest.
If you are unsure whether you are eligible to participate, please feel
free to contact Prof. Suprakash Datta for more information. There are some additional criteria that will be discussed at the organizational meeting.
How did we do in previous years?
Our performance has been improving steadily.
-
York Gold (Zhiyan (Stan) Li, Andreas Katsiapis, Stefan Ihnatesn)
came 6th and York Red (Hui Wang, Hao Ma, Zhonghao Li) was ranked 52.
York Gold solved 5 out of 8 problems. York Red solved 2 problems. The
winning team solved 7 problems.
The teams above York Gold were 2 each from UMichigan (Ann Arbor) and Waterloo
and one from UToronto. Teams below York Gold included one team
from Toronto, 2 from Carnegie Mellon and many others.
For more details, visit
this page.
- York Red finished 24th and York Gold was 62nd out of 131 teams in the
2002 regional contest. For more details, visit this page.
- York Red placed 27th and York Gold placed 93rd out of 122 teams
in the 2001 ACM Eastern Regional Contest. There are two pictures: outside and inside.
- The 2000 ACM East Central
Programming Contest was held in Cleveland, Ohio. Partly due to the
strike at York, the two York CS teams cancelled their participation the
week before the event.
- The 1999 ACM East
Central Programming Contest was held at the University of Waterloo.
York Red was 33rd and York Gold was 60th out of 130 teams. The complete
standings can be found on the WWW page.
- In 1998, the contest was also at Waterloo. York CS sent two teams.
York Gold finished 42nd, and York Red placed 49th out of 93 teams. For
more information, click here.