AP Computer Science --- Haas --- Final Project
You must select TWO projects from the following list of topics.
- Create a project using Alice.
Alice is free educational software developed at Carnegie Mellon University.
In Alice you work in a 3D programming environment to create an animation for
telling a story, playing an interactive game, or a video to share on the web.
Students drag and drop graphic tiles, where the instructions correspond
to standard statements in a production oriented programming language,
such as Java, C++, and C#.
- Create a project using the GridWorld case study. Use GridWorld to create a game or solve
a problem such as: Minesweeper, TicTacToe, Checkers, or the Six Queens Problem.
- Teach a lesson on one or more of the
AB topics.
AB topics include: Big-Oh notation, Throwing runtime exceptions, Linked lists,
Stacks, Queues, Trees, Heaps, Priority queues, Sets, Maps.
If you don't want to teach a lesson you could opt to study AB topics and take an AB test
which I will create.
- Learn more about, and create, several Java Applets. An applet is a program
written in the Java that can be included in an HTML page.
- Learn about and create projects involving
GUI Programming in Java.
Topcs include: Swing, Events, Graphics, and Animation.
- Make something useful! Talk to a teacher at NPHS and create a program that they can use in class.
Some examples:
- Ask Ms. Stewart about creating a program to demonstrate phyllotaxis;
the arrangement of the leaves on the stem of a plant.
- Create a program that Mr. Frisina can use to run statistical simulations.
- Help Mr. Haas by writing an applet to show a related rate demonstration such as a
sliding ladder, or expanding volumes.
- Make a cool game using yoyogames!
- Do some research and create a program to generate fractals.
- Check out nifty assignments, and try one!
- Come up with an idea on your own.
Final Project time line:
First project.
- Wednesday, May 13th - Project proposal - hand in a brief written description of what you will be
doing. Your proposal must be approved by me.
- Tuesday, May 19th - Evidence of progress - on or before this date you must show/explain to me what
you have accomplished at this point in time.
- Thursday, May 28th - hand in a printout and demonstrate your project.
Second project.
- Monday, June 1st - Project proposal - hand in a brief written description of what you will be
doing. Your proposal must be approved by me.
- Friday, June 5th - Evidence of progress - on or before this date you must show/explain to me what
you have accomplished at this point in time.
- Friday, June 12th - hand in a printout and demonstrate your project.
Grading - Each of the two projects is out of 50 points.
- 3 Points - Written Project proposal
- 3 Points - Evidence of progress
- 4 Points - Presentation
- 15 Points - Project level of difficulty, (complexity)
- 15 Points - Use of good programming technique, (Quality of Code)
- 10 Points - Creativity
You are permitted to work in groups of two, but the scope and difficulty of your project must be
more significant than if working alone.