The programming assignment for chapters 13, 14, 15,
and 16 will be a GUI and graphical program which answers a research question and
uses the elements we've studied in cool but useful program. It will be judged
partly on appearance, creativity, and overall "coolness". See grading
rubrics at right for further grading specifications.
The project may be on
any subject as long as it answers or helps answer a research question which
could be expanded into a science fair project. The project must be in Applet
- Milestone 1. Due on or before Mar 14th
Question Proposal: Must contain a paragraph discussing a research question and hypothesis suitable for a
science fair project or a statement of purpose. Must contain a second paragraph discussing required
input, possible algorithms, and graphical output in at least in general terms. Keep this as simple as possible but remember the
program should have both a scientific and artistic side. (1 typed page max)
- Milestone 3. Due on or before Mar 17th
- Program Design: This will include the
following (2 to 10 pages):
- Block drawing from BlueJ showing the
relationship of the classes.
- Printouts from BlueJ outlining the classes
showing important fields and major methods with descriptors.
- Drawing of the GUI interface
- Milestone 4. Due on or before April 17th
- Working Program: This should include
the following elements:
- GUI interface - chap. 15
- Can call a simple help file - chap. 13
- 3 classes minimum
- draw a graph or graphical output - chap. 14
- 300 lines of code minimum
- user documentation - Javadoc (This is simple
to do in BlueJ)
The best Applets will be posted on the
school web page. This will earn bragging rights and 5 points of extra
credit. Applets used as the basis for science fair projects will be awarded
up to 10 points extra credit.
Your project folder is
to be placed inside a folder with your name on it. This folder will be
placed in the “Turn in Folder for Comp Sci Project” on the R or G-drive. The
project must already be compiled or a deduction will be made.
Note: Only Applets will be graded
- Functionality: Is the project
compiled and do all the features of the GUI work?
Uncompiled programs will not be graded.
- Credits: Is all
borrowed code from open source programs clearly marked as such?
Plagiarism will result in a grade of zero.
- Number of Classes: Are there at least
classes? Programs with less than 4 classes will
not be graded.
- Research Question
or Purpose Answered: Does the project answer the
research question and do major
algorithms work in a meaningful manner?
Answering the research question or purpose is more important than having an
- Size: Are there at least
line of code written by the student? Repeated lines of code will not be
counted as part of the 300 line if a loop or method could do the job
- User Friendliness: Can a novice user
understand and use the project?
- Efficiency of Code:
The program must use loops and methods rather than needlessly repeating
lines of code.
- Style: Does the program
follow conventional style and indenting forms?
- Comments: Are the
comments and Javadoc’s
adequate? Overdoing comments will result in a deduction. For example:
each class and method should have a purpose. Each fields or variable
should have either an obvious name or comment.
- Abstract: Does the applet class
have a short paragraph in comments at the beginning that explains what
Understanding: Can the student
explain the code?
elements: The code must contain the following elements:
- loops - both simple and nested
- parameter passing
- if-else statements
- Robustness: Is it easy to crash the
- Coolness: Is the program cool in
some way or hum drum?