Class Project
The goal: Create a year-long programming project that teaches all AP Computer Science AB topics in a collaborative environment. I hope that students will be motivated by the "cool factor" of programming something big and fun, and by hanging the various topics on the project (e.g. inheritance, stacks, trees...) they will learn CS through application.
At the idea brainstorming phase, we came up with the following list. Please add to it, if you have suggestions. Remember to think of domains that would be interesting to kids, while providing for coverage of the requisite AP topics. The curriculum will be developed by devising a series of programming assignments that build the system bit by bit, choosing them to introduce the topics that need to be covered.
- Card games
- 3D character animation
- Ray tracing and 3D scene design
- 2D animation
- Networked whiteboard
- Virtual agents (check out this software, modified by Jeremy: teambots-jeremy-mod.zip)
- Something with music or sound
- Web crawling and searching
Here's a link to the AB topic outline if you need an idea of what needs to be covered.
Here's a basic topic outline for a curriculum based on card games.
- PlayingCard class (Introduce classes and objects)
- Memory game (introduce an already-coded display class; students use to implement the game. Review of 1- and 2D arrays, control structures, etc.)
- Blackjack (Use arrays and the display to implement a simple player-vs-dealer game)
- OOP reimplementation of blackjack, introducing classes for Deck, Hand, etc.
- Simple 1-draw poker, without betting, just one player vs. dealer. Subclass Hand and use for comparisons to see who won.
- Extend poker above to include betting and >2 players. Add classes for Game, Player, Chip, Pot, etc.
- Computer players using AI?
Link to this Page
- Follow-Up Page last edited on 30 January 2006 at 10:17 am by user-11216ng.dsl.mindspring.com