Teacher Resources

This page provides a collection of resources that people have found useful in teaching computing, programming, and computer science topics.  If you know of other resources that would be good to add, please let us know!

Web Sites and On-Line Exercises

  • CodingBat is a web site that has simple programming problems that can typically be solved with under 10 lines of code.  By providing a lot of variety, categorized by type of problem, students can gain a lot of practice.  Everything is self-contained in the web site:  students type code directly into the website, which compiles and tests - no local compiler or programming environment is required.  Students earn stars by solving problems, and can share their progress with their teacher.  CodingBat currently supports both Java and Python.
  • Project Euler is a web site that poses mathematical problems that must be solved by writing a program.  Unlike CodingBat, the code itself is not uploaded to the web site (except possibly as part of a discussion forum) - students make progress by solving problems and providing the answers.  Because of that structure, students can work through these problems in whatever programming language they would like.
  • Georgia Tech ICE AP Exam Practice is a web site that generates practice multiple-choice questions similar to those found on the AP CS A exam.  ICE is the Institute for Computing Education, which is a partnership between the Georgia Department of Education and the College of Computing at Georgia Tech.
  • Sphere Online Judge is a web site that has a collection of programming contest problems, with an online automated judging system.  These programs range from straightforward to very difficult, and are suitable as challenge problems.  This system can be used to arrange contests between students (or schools) - make your students better programmers by encouraging their competitive nature!
  • TopCoder is another programming contest site.  They run live contests that are both open to all comers, and contests specific to high schools.  In addition to being able to compete in competitions with students from all over the world, there is an extensive archive of practice problems, tagged by type of solution (brute force, divide-and-conquer, etc.) and statistics on difficulty.  The practice problems are available through a live practice system in which students can submit solutions to be tested against extensive judging data.
Organizations and Mailing Lists