On This Page
Overview
During this assignment, you will write a program that demonstrates what you have learned about Java. You will have two weeks to complete this program. The theme or type of program is up to you. Be sure you have covered all topics listed in the instructions.
Project Ideas
- Address book
- Algorithm simulation
- Banking account
- Browser
- Game programs
- Gambling simulations
- Horoscope calculator
- Text editor
- Web server
Note: you may extend an assignment from earlier in the course as long as it has significant changes and substantially more functionality than the previous assignment(s).
^ top
Specifications
Develop a computer program illustrating the following features of the Java language. Note that the numbers in parenthesis are the point value for successfully using the feature, as described in the grading criteria.
- Use multiple classes and objects (2)
- Create and use your own interface (2)
- Create and use your own Exception class (2)
- Files
- Read from a file (2)
- Write to a file (3)
- Display numbers using a subclass of Format (1)
- Generate a graphical user interface that includes:
- JButton or JMenu (1)
- JFrame (1)
- JPanel (1)
- ActionListener (1)
- Some other listener (1)
- Use a linked list (3 points)
In addition, you must prepare a sampler report.
^ top
Extra Credit
The following are worth extra credit points:
- Write your code so it uses polymorphism (2 points)
- Write your code so it uses recursion (2 points)
- Write your code so it uses networking (2 points)
- Write your code so it runs as both an applet or an application (2 points)
- Write test code that automatically tests functionality (2 points)
- Write your code so it uses multiple threads (in addition to the GUI thread) (3 points)
- Use your imagination and code a Java feature not covered in this course -- be sure to clearly identify your creative feature. (0 to 4 points)
Make certain that your README.txt file lists any extra credit attempted.
^ top
Sampler Report
Final report must be presented the last day of regular class. The report consists of the following information:
- Brief introduction describing the purpose of your application
- One paragraph is sufficient
- A description of how to use your program
- A list of the functional specifications and a brief description of how you met these requirements in your program
- If you substituted a requirement, with prior agreement from the instructor, list that requirement instead
- A list of any extra-credit features
- Point out the extras so we can all appreciate them
As you can see, the report can be as short as 1-2 pages. Provide a paper copy of the report to the instructor on the last day of regular class.
^ top
Sampler Presentation
- Have some way to install and run on the instructor machine
- Email
- WebCT
- CD
- Memory stick
- Give a copy of your project report to the instructor before your presentation
- Plan on keeping the presentation to 10 minutes or less.
Suggested Presentation Flow
- State your name and your project's name.
- Briefly state your program's purpose.
- Compile your source code.
- Demonstrate your program, explaining features as you go.
Feel free to refer to or display your written report during the presentation. Show the file that your program reads from and writes to. Point out as many of the cool features as possible so we can all enjoy them.
- Summarize the project.
When the demonstration is over, or your time is up, then quickly summarize the program's purpose. Then pause for about 10 seconds to give us a chance to applaud!
^ top
Grading Criteria
The instructor will evaluate your assignment using the following criteria. Each criteria represents a specific achievement of your assignment and has a scoring guide. The scoring guide explains the possible scores you can receive.
Some scoring guides have a list of indicators. These indicators are a sign of meeting, or a symptom of not meeting, the specific criterion. Note that a single indicator may not always be reliable or appropriate in a given context. However, as a group, they show the condition of meeting the criterion.
For information on grading policies, including interpretation of scores, see the course information page.
Required Features
Points as shown for each demonstrated feature in the specifications. (20 points)
Program Compilation
- 2: Source code compiles with no errors or warnings
- 1: Source code compiles but has warnings
- 0: Does not compile
Functionality
- 10: Demonstrates mastery of the assignment
- Has extra features or demonstrates techniques beyond the assignment
- Applies concepts from the lesson(s) appropriately
- Meets all specifications (see above) with particularly elegant solutions
- No errors encountered during operation
- 8: Has all the functionality expected of the assignment
- Demonstrates many techniques from the lesson
- Meets all specifications (see above)
- Implementation seems more complicated than necessary.
- May have one minor error
- 6: Has most of the functionality expected of the assignment
- Demonstrates some techniques from the lesson
- Meets all but one of the specifications (see above)
- Implementation seems excessively complicated.
- May have 2-3 minor errors
- 4: Has some of the functionality expected of the assignment
- Demonstrates some techniques from the lesson
- Meets at least 1/2 of the specifications (see above)
- Implementation seems excessively complicated.
- May have more than 3 minor errors
- 2: Serious functional problems but shows some effort and understanding
- Meets less than 1/2 of the of the specifications (see above)
- Has a major error or many minor errors
- Implementation seems very convoluted
- Demonstrates few techniques from the lesson
- 0: Does not execute
Programming Style
- 4: Code is well-documented
- 3: Code has minor documentation errors
- Has 1 documentation error
- 2: Code has some documentation errors
- Has 2-3 documentation errors
- 1: Code has many documentation errors
- Has more than 3 documentation errors
- 0: No apparent attempt to document code
Report and Presentation
- 4: Sampler is presented and reported clearly and completely
- Student presents information in a logical and interesting sequence
- All requirements of the sampler were presented
- Written report was presented to instructor
- Report is well-written and grammatically correct
- 3: Sampler presentation or report has minor problems
- Student presents information in a logical sequence
- All but one of the requirements were presented
- Some minor reporting requirements are missing
- Report contains spelling errors, but is otherwise clearly written
- 2: Sampler presentation or report has significant problems
- Audience has difficulty following presentation because student jumps around
- At least 1/2 of the requirements were presented
- At least 1/2 of the reporting requirements were turned in
- 1: Sampler presentation or report is unclear or incomplete
- Audience cannot understand presentation because there is no sequence of information
- Less than 1/2 of the requirements were presented
- Less than 1/2 of the report was completed
- 0: No presentation or no report
Nominal Maximum Score: 40, plus extra credit
^ top
What to Turn In
Submit your assignment following the instructions for homework. Include the following items for grading:
- README.txt file
- All source code files
- Any data files required
- Sampler Report
You must submit all the files needed to make your assignment function properly. Do not assume that the instructors has any files unless explicitly stated by the instructor. Your assignment must work as submitted.
^ top
Home
| WebCT
| Announcements
| Schedule
| Room Policies
| Course Info
Help
| FAQ's
| HowTo's
| Links
Last Updated: September 22 2007 @17:52:18
|