AP CS Final Project

posted by: Mr. Bergquist 7 May 2012 No Comment

Your final project is an opportunity to pull together all the things you’ve learned this year and to learn a new skill or two by leveraging documentation-reading abilities.  It’s important that you be able to bring an ambitious project to completions and that you have a tangible product to show for your time in this class.

You are welcome to work in groups of up to three with approval, I reserve the right to veto groups.

Your deliverables dates & project Points are:

  • Slick2D (and LWJGL) Workshop , I’m working on a Projects Student to present this to you all.
  • Project Proposal description due Friday May 12th – sooner the better (10 points)
  • Project update due Thursday June 1st (5 points) – Form Will be Provided in Schoology later (one response per team)
  • In class productivity – attendance and keeping focused on project during class, just like in a real work place (25 points, about 1 earned per day, double for Block)
  • Wumpus Team Software Due dates:
    - Working Wumpus Software version due for demo on Tuesday, May 30th
    - CTE Demo night, Thur, June 1st after school,
    - Wumpus competition and Trip to MS, Wed June 7th!
  • Seniors: Working software due Thursday June 8th  and Demo on Tuesday June 13th  (50 points)
  • Non-Seniors: Working software due Thursday June 15th  and Demo on Tuesday June 20th (50 points)
Each team must:
1) Create your Project Folder in our Shared Class Folder: My Computer > S: > embergquist > Writeable > AP CS > Period 4 or 6 > 
2) Place a copy of all java code (or similar) and necessary data files in this folder
3) Compile the code in that folder (using JGrasp please) and make sure that it runs fine – you will be executing from here for the demo’s
4) Let Mr. Bergquist know that you have everything in place ready for grading & demo’s - Keep in mind I will be reviewing running & reviewing that code for grading.


You are to create a complete program to complete a task of your choice.  I want you to pick something that you are excited about so am giving you a lot of freedom.  I will be evaluating you on the following aspects:

  • Completeness
  • Ambition
  • In-class productivity



Classic 2-D games and board games are surprisingly simple to implement and very satisfying.  The basic ideas can also be adapted to different themes of your choice (Connect 4 AJ Heads, for example).  Think Pacman, Tic-Tac-Toe, Checkers, Frogger, Space Invaders, Asteroids (project descriptionstarter code), Lunar Lander, Pong, Connect 4, Tetris, Minesweeper, Duck Hunt… these are also good for exploring artificial intelligence ideas.

Slick2D (and LWJGL) were used last year to make some impressive games.  And this year, several teams have been using Unity to develop games in Projects in CS using C#.  We can discuss interest in these resources.  Some game Examples from another AP class.

You can use what we learned when doing Graphics with Java Applets.  Here is a pretty good tutorial for a pong game that you can use to get started.

Data Crunching

Here are some great data sets that would be easy and interesting to use in a project — periodic table of elements, full books, demographic data, etc.  You could create a program somewhat like what we did with Baby Names to allow the user to interact with the data given and see interesting trends.  You can also find a wide variety of data sets at data.gov that are gathered by our Federal Government.  You might want to import them into Excel to get started and then see how you want to analyse them.

Here is a collection of great project ideas, many of which are related to the data sets above and include hints on how to get started.  In particular, check out digital signal processing, rogue, 8-puzzle (how to solve a 15-puzzle automatically), calculating Kevin Bacon numbers, finding shortest paths between cities, baseball elimination, Markovian candidate (determining who said a particular quote), word search game.

FacePamphlet, a Facebook clone.  This is good for someone who wants to learn a little about user interfaces but who doesn’t want to design something from scratch.  Here is starter code.  I would expect you to go beyond what is there — making the interface cleaner, adding things that can be done with profiles, etc.

Just in case sometimes we have a chance to have a:


1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 5.00 out of 5)
Loading ... Loading ...

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>