Advanced Algorithmic Programming

Cow-boy programming

Prof. Giuseppe Persiano

...programming something forces you to understand it better, it forces you to
really understand it, since you are explaining it to a machine.
That's sort of what happens when a student or a small child asks you
what at first you take to be a stupid question, and then you realize
that this question has in fact done you the favor of forcing you to formulate your
ideas more clearly and perhaps even question some of your tacit assumptions.
Gregory Chaitin, Epistemology as Information Theory: From Leibniz to Omega^star


This class intends to train students for programming contests. Students with a strong programming (C/C++) and algorithmic background are especially invited to take the class. We will concentrate on algorithmic problems and we will provide running programs that solve the challenges. This class is not about operating systems, compilers, data-bases, object-oriented programming, software engineering, networks and network programming. Students are expected to actively participate in the class, write code that solve the problems discussed. Each week a new problem is presented and I expect that the average student will give me a solution (in the form of running code) for all the problems before the next class.

If you

then this class is not for you.

Hours:
Friday 14-18

Problems for spring 2006

Students for spring 2006

Textbook

Documents and links
  1. The archive of the ACM International Collegiate Programming Contest.
  2. The world finals of the ACM International Collegiate Programming Contest.
  3. The Programming Challenges site.
  4. The Internet Problem Solving Contest
  5. The Valladolid Programming Contest Archive
  6. The International Obfuscated C Code Contest