CS 4900 - Puzzle Solving (with Computers) - Spring 2003

Course Information Sheet

Jan 13, 2003

You are responsible for everything on this handout. Please read it.

What's This Course About??

This is a course about puzzle-solving. If you love puzzles, you should have a good time. If you like to think hard about complicated combinations of weird objects, this is the place for you.

The use of computers is allowed and even encouraged in this course. The programs you write will likely not be very long, but could nonetheless be a challenge to write. As an example: write a program that accepts a string and then outputs all permutations of that string. It's not that easy! (We'll learn simple ways to do this.)

The class meets once a week. It will be pretty informal. Mostly we will be proposing new puzzles and solving old ones and giving out hints for the harder ones. Don't expect a lecture-style class... come prepared to discuss your ideas.

The puzzles will range from pretty easy to very hard. You don't have to solve them all to get an A in the class. We will assign points to the various puzzles and you will get more for solving the harder ones or doing good write-ups on the easier ones. The main point is for you to learn, think, and enjoy the experience. My goal is to show you that the computer is a useful tool for thinking. (But not a substitute for thinking!) I hope we'll all have a great time.

Note that this is only a one unit course and it may end up being time-consuming, so make sure you take this into consideration when signing up.


M 4:00-4:50pm (Room ECCR 116, Call Number 24692)



There will be no exams in this course.


Data Structures and the motivation to solve interesting problems.


No Textbook.

Course Web page

We will maintain useful information on the course web page: http://www.cs.colorado.edu/~jrblack/class/csci4900/s03

Visit the above page regularly to see what's new. If you miss a handout, get it from here.


All grading will be based on puzzles you solve and the quality of your submissions. More details later.

Independent Work

You are all allowed to discuss the problems amongst yourselves, your friends, your parents, etc. But the work you turn in MUST be your own. If I get duplicate solutions from two different students, they will get a zero. (This is because I want to make sure each of you gets lots of practice doing technical writing: a skill that is very important regardless of whether you go into industry or grad school.)

Make John Happy

There are several ways to make me happy: