Programming Ideas for Teaching High School Computer Science

This is a collection of ideas for exercises, test questions, projects, etc. It is not a collection of exercises, test questions, projects, etc. This collection is meant to be used when the teacher first begins to design an assignment or test and needs some ideas. This collection is no good to the teacher who is in a panic and needs a string exercise for a class starting in five minutes!

It is assumed that the reader is a computer science teacher who is already familiar with most of the ideas.

The ideas are kept short and somewhat cryptic because the intent is that as many ideas be presented in as small a space as possible. Also they are kept as general as possible so they can be used in a variety of ways (assignments, major projects, quick test questions, etc.) and with a variety of languages (Pascal, Turing, Basic, C, Java, etc.)

The ideas span the range of difficulty from simple ideas that could be used in grade 9 (or earlier) to problems that are more appropriate for university. The problems are primarily classic computer science problems or mathematical, with a liberal sprinkling of fractal geometry thrown in for good measure. Some business ideas are included and of course as many games as possible. The rule I use for inclusion is, "Can I see myself ever using this idea?". There are close to 600 ideas, many with multiple sub ideas.

The major headings correspond to the topics that I have taught in grades 10, 11 and 12. There are no sections on graphics, GUI, applets or files, as these topics can be part of any problem. Most programs could be written with or without a GUI and could use file or keyboard and screen I/O .

I am always searching of new ideas to add to this collection, so any ideas not here would be greatly appreciated. (Corrections, clarifications and other suggestions are always welcome too.)

Thank you and have fun programming.

Chris Robart


The collection is approximately 100 pages long. It is available in pdf format:


The table of contents and index page numbering is "off" in the pdf. Ignore this and use the Adobe Reader Bookmarks and Find features to help navigate through the document.