CS 494/594: Special Topics in
Competitive Programming Techniques
Spring/Summer/Fall 2004
Course Summary:
There are two goals for this
course:
There
are many additional benefits, such as exposure to new algorithms, group
programming techniques, and general concerns regarding good design of software
in a team environment. The course will have numerous lectures on specific
algorithms and techniques. The lectures are to be followed by group efforts
that solve previous contest problems from an application of the
algorithm/techniques studied. Students will learn to identify typical solution
patterns for commonly recurring contest problems (e.g., dynamic programming,
parsing). The techniques for efficient utilization of resources within a team
environment will also be studied and practiced. Students will be expected to
meet outside of class for 2-3 hours each week to work on practice problems that
are assigned.
Instructor:
Jeff Gray, Ph.D.
Email: gray (at) cis.uab.edu
Credit:
1 hour per semester; 3
semester sequence beginning in Spring 2004
Class size:
Ideally, 9-12 students with a
diverse range of academic levels (mainly Juniors, but
a few grads and even Freshmen, if possible).
Pre-requisites:
Permission from instructor
required; very selective, not open enrollment.
We are looking for highly
motivated students who have excellent programming skills.
Students who did not take the
first part of the sequence during the Spring cannot
take the Summer or Fall offering (unless there are very special circumstances).
Textbooks:
Steven S. Skiena
and Miguel A. Revilla, Programming Challenges: The Programming Contest Training Manual,
Springer-Verlag, 2003.
Jon
Bentley, Programming Pearls, Addison-Wesley,
2000.
Additional supplements
include numerous handouts/papers on past competition problems and solution
techniques.