CSE 392 - Programming Challenges
Course Time: 2:20-3:40PM Tuesday-Thursday
Place: Javits 108
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
(CSE 214 or equivalent) 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.
ACM Programming contest activity at Stony Brook
is sponsored by a grant from
Salomon Smith Barney.
In the 2002 Greater New York Regional,
Stony Brook's teams
finished 2nd and 5th with 54 teams competing!
In the 2003 Greater New York Regional,
Stony Brook finished 4th of 60 teams.
In the 2004 Greater New York Regional,
three of Stony Brook's teams finished in the top 15 positions!
Course Documents
-
Course syllabus with lecture schedule
(also in pdf and
postscript).
-
Homework Assignment Schedule
- The Spring 2005 version of the course has been assigned the
number ``CSE 393'' instead of my prefered ``CSE 392''.
In fact, the course is the same as the one I have offered the last
two springs.
Be alert to problems arising from confused numbers, such as registration
(register for CSE 393) and web address (I like my pages as 392
and won't move them).
-
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
for our course section on this site,
Stony Brook -- CSE 393 -- Spring 2005.
-
Our backup judge will be
the Univ. de Valladolid robot judge
http://online-judge.uva.es/.
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
and in Java for download!
(Java programs thanks to Derek Hu)
-
On-line lecture notes (in both pdf and html)
with full audio are available for the current version of the course.
-
Fill out an
evaluation form
(mid-semester or final) for the course to help me do a better job!
-
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.
-
Participate in a
web contest
(run by Springer-Verlag) promoting
Programming Challenges.
Win a free copy of
The Algorithm Design Manual!
See a
teaser promoting the contest, which ran until June 1, 2004.
-
Old course notes (from the Spring 2001 edition of the course)
for week
1,
2, including examples of C language string IO
using
getchar,
gets,
and scanf,
3,
4,
5,
6,
7
8,
9,
10
(see an
alternate approach
to dynamic programming),
11,
12,
and 13
-
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 13, 2005.
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 contest starts February 20, 2005.
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!