Course Description

Have you ever wished that you could write your own computer games? Mr. Z., who was one of the best computer programmers in his class at MIT, will be teaching a class next year in which you will do exactly that. AP Computer Science prepares you to take the AP Computer Science test, getting a head start if you are interested in computers as a career.

More than just a skill that will help you get a job, computer programming is a discipline that will teach you to be clear and precise in how you express your thinking. You will learn how to organize information well, and how to think rigorously about the procedures you use to solve problems.

The class will consist of a series of projects, two or three per term. Each project is introduced by about a week of lectures and homework to introduce the new concepts connected to the project. This is followed b a week or so of tutorials that offer a more closely guided way for you to explore the new concepts and the system you will be using in the project. Finally, you will have two or three weeks to work in pairs on a more complex project.

In each project, and most of the assignments as well, you must meet a set of basic goals in order to get a C, and then work on a set of extensions that will get you a higher grade. So, for example, in Asteroids, everyone must program asteroids, lasers, and basic ship movement, but to get a good grade you have to add something new of your own (explosions, powerups, etc.) You will work hard in this class, but I think that it is work that you will enjoy.

Except for the final project, partners are randomly assigned. Often I will pair weaker students with stronger on the projects, since the goal of the class is to work as a team and not let anyone fall behind. "Pair programming" makes it easier to catch mistakes and plan new ideas; it's the same strategy Mr. Z. and his brother use on the more complex parts of any project. You will also have support from me during class and after school, and from your classmates as well; we all work together as a team in order to insure that no one gets lost.

During the summer after you take the class, you may take the opportunity to look for an internship using your new skills. Mr. Z. has many contacts in computer businesses in the area and will find businesses that are willing to have students come in for a job interview.