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
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.
Course Web page
We will maintain useful information on the course
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.
You are all allowed to discuss the problems amongst yourselves, your
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:
- Come to my office only during office hours or with an appointment.
(I have a one-track mind and don't handle interruptions well; if
people are constantly dropping by without an appointment, I'll never
get anything done.)
- Don't try to ply me for more points.
(If there is an obvious grading error,
I'm happy to correct it immediately, but if you constantly argue
for more partial credit in some gray area, I will exhibit very
- Come to class on time. (I don't mind people coming in
late once in a while, but please don't make a habit of it: it's