...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.
Problems for spring 2006
Students for spring 2006