Computer Science Capstones

During the spring semester, before we started reviewing for the AP Computer Science exam, we spent a week working on capstone projects. These capstone projects were inspired by and modeled after the [capstone projects](https://pedagoguepadawan.net/214/capstones/) I did earlier with my AP Physics B class. I introduced the capstone project as follows:

Our final project for the year is a capstone. Capstones must do the following:

* Show synthesis of multiple concepts in unfamiliar situations. A capstone requires you to use more than one idea to solve a problem, and it isn’t just a rehashing of work you’ve already done.
* Show initiative. A capstone isn’t just your teacher telling you what to do. It is you unleashing your curiosity to discover what you want to do.
* Are open ended. Capstones don’t have ends. You should always feel like you could dig deeper and discover more if you had more time.
* Are public. Capstones are not private projects you share only with your teacher. They are public endeavors that you share with the class and the world at large. Successful capstones require you to collaborate with classmates.
* Involve significant revision. No one gets it right the first time, no first draft is perfect, and you must plan accordingly. A capstone will not be eligible for grading by me until it has undergone at least one revision.

Ideas that may generate a spark:

* GUI applications
* numerical methods
* simulations
* games
* data analysis
* databases
* multi-threaded programing
* network programming
* AI algorithms
* audio/video processing
* 3D graphics

I used the following scoring rubric:

Download (PDF, 37KB)

Students pursued a wide variety of capstones. The links display their portfolio where they have described their capstones in more detail and have a link to download the source. Here are some:

* [JavaChess](https://naperville.instructure.com/eportfolios/14768/Home/Home) by Nathan L: a GridWorld-based, two-person chess game
* [Super Tic-Tac-Toe](https://naperville.instructure.com/eportfolios/14766/Home/Welcome) by Matthew W: a Java implementation of Super Tic-Tac-Toe
* [Doge Defender](https://naperville.instructure.com/eportfolios/14781/Home/Dodge_Defender) by Max B: a sophisticated arcade-style game with multiple levels and sound
* [Cat Fountain](https://naperville.instructure.com/eportfolios/14769?view=preview) by Jessica H: an app that displays cats spewing from a fountain; strange and surpringly addicting to watch

I only planned for a week to complete these capstones, which really wasn’t enough. As a result, students didn’t have the opportunity for significant revision. This coming year, I’m going to plan for two weeks. The other change I’ll make is that I’m going to have students present their capstone to their peers in class. My class this past year was definitely lacking in terms of opportunities for students to present to others. Despite these shortcomings, students were very engaged and created some fantastic software.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.