CSE 300X - Programming Challenges
Course Time: 10:30-11:50PM Monday-Wednesday
Place: Room 2302
Instructor: Steven Skiena
At its best, computer science is an exciting blend of programming,
mathematics, and problem solving. This course will introduce an
interesting variety of subjects in programming, algorithms, and
discrete mathematics though puzzles and problems which have appeared
in the International ACM Programming Contest and similar venues.
The prerequisites for this course will be a course in data structures
or consent of the instructor.
I hope to get a mix of students from sophomores to seniors.
This course is based on the book
Programming Challenges: The Programming Contest Training Manual
by
Steven S. Skiena
and
Miguel A. Revilla,
Springer-Verlag, New York, 2003.
Stony Brook teams
have a good history of ACM ICPC activity, winning the
Greater New York Regional contest to reach the World Finals in 2006 and 2009.
Course Documents
-
Course syllabus with lecture schedule
-
Homework Assignment Schedule
-
The grading of class assignments will be done by the
www.programming-challenges.com robot judge.
Students are urged immediately to go the site and register
(look to the upper right of the second page) and then look
for our course section (HKUST Spring 2009) on this site.
-
Problems which work on UVA but not www.programming-challenges.com
are presented here.
-
Our backup judge will be
the Univ. de Valladolid robot judge
http://icpcres.ecs.baylor.edu/onlinejudge/.
Students are also urged to go the site and register as a new
member (use your real name).
All class assignments will be testable via both judging sites.
-
The complete programs from the book (in C) are available for download!
-
On-line lecture notes (in both pdf and html)
with full audio are available for the current version of the course.
-
An interesting symposium on
Perspectives on
Computer Science Competitions for (High School) Students
was held at Schloss Dagstuhl, January 22-27, 2006.
Papers on several aspects of programming contests are available at this
site.
-
I was the featured presenter at the
TopCoder Collegiate Challenge Finals,
March 10-11, 2005, at the Marriott hotel in Santa Clara, CA.
Watch/listen to my
presentation in four parts:
Part 1,
Part 2,
Part 3, and
Part 4.
Also see my
reactions to the event.
Finally, see
Jennifer Jacobson's article about the event:
Code Warriors:
Young computer programmers battle for fame, money, and the love of algorithms
,
which appear in the
Chronicle of Higher Education,
April 8, 2005.
-
Examples of
ugly C code
generated in student solutions.
-
A good article on preparing for the
ACM International Collegiate Programming
Contest (ICPC) is
here.
-
BitWISE is a 12-hour
internet-based algorithm-intensive programming
contest sponsored by IIT Kharagpur.
This year's contest will be held on February 10, 2009.
Maybe we can get up a team?
-
The 24-hour International Online Programming Contest (IOPC)
is organized every year as a part of
TECHKRITI - the annual Science and
Technology festival of Indian Institute of Technology, Kanpur , India.
This year's festival runs February 12-15, 2009.
Another 24-hour programming contest
is
run by Budapest University of Technology and Economics and
the Royal Institute of Technology in Stockholm, and has an associated
book!
-
The USA Computing Olympiad for high school students also has an on-line
training course.
The US team competes in the
International Olympiad in
Informatics (IOI).
-
Earn money for participating in programming contests from
topcoder.com!
See a nice TopCoder-oriented
review
of
Programming Challenges.
-
Other online judges / programming contests include the
Ural State University judge,
the
Internet Problem Solving Contest,
and the Peking University
JudgeOnline.
-
A similiar
course is taught
each Fall at Duke University.
-
Jon Bentley's
Programming Pearls
site has lots of interesting information about algorithmic programming.
-
See our photo gallery of ACM programming teams posed
with the book.
-
See
book reviews
for
Programming Challenges: The Programming Contest Training Manual
-
The books is now available in Korean
and Polish translations, with Russian to come!
Join the
Stony Brook Computer
Science Society!