Java Project Description
Java Project Description
Overview
You are requested to implement a final programming project to demonstrate the programming and
computer science skills you've mastered throughout the course. It is expected that you will be
working on something of interest to you such as a topic related to your educational program, and that
the project will reinforce what you've learned so far. You will be creating a java program from
scratch using what you know about programming and algorithmic design. The program design and
coding shall be all yours.
Number of students per team:
- 2 or 3 students. 3-student teams are expected to create projects that are larger in scope (since
there are extra person-hours involved).
- Team members should be in the same section.
- Each team should have a team coordinator.
Requirements:
- You have to implement your idea in Java ONLY
- Your program MUST allow the user to enter any required input parameters either by the
command window and from database (both options must be allowed).
- You must create a graphical user interface GUI for your program.
- Your program inputs MUST be read from a database
- Your program output MUST be printed on the command window and also saved in a
database.
- Your final project must be divided into set of modules (classes) not a single large file. Each
module should perform a single task.
- Your final project must consist of at least 5*N classes (N is the number of team members)
or more. Database is MANDATORY part of the project. Hence, Two of the 5*N classes
must be
- A class to read the inputs of your program from a database.
- A class to print your program output to the screen and to a database.
- It is not accepted to copy any code from the internet (or any other source) and deliver it
as part of your own project. You can use built-in libraries.
Project Phases
Phase # Project Phase Deliverables %
Phase1 Project Idea Project Idea Proposal 10%
Phase2 Project Design Project Design 25%
document
Phase3 Final Report Report 10%
Phase4 Final Demo Presentation and Demo 30%
Phase5 Individual Discussion Discussion 25%
1
Program Grading Rubric
● Program Functionality
o The program shall be complete and includes the minimum functionality described in your
proposal.
o The program shall perform the functionality you want!
o The program shall run without errors and without crashing.
● Code Style
o The code shall be organized into appropriate classes.
o The code shall not be repetitive, with effective use of helper methods.
o Variables shall be named appropriately, using appropriate scopes.
o Control and logical structures shall be used properly.
o The code must be readable with comments (following standard indentation)
● Code Documentation
o You must include a README file that explains how to use the program (a user manual)
o Your program shall include detailed and precise comments.
o Your comments shall explain the "high-level" functionality/purpose of the code.
2
Project Proposal Template
Project Proposal
Team: <Team Number>
Team Members:
<ID1> <Name1> <email1>
<ID2> <Name2> <email2>
Team Contact:
<team representative email>
Project Description:
1- One or two paragraphs describing the idea of your project
2- The capabilities that your project should provide for the user.
For example:
The application enables the user to:
- Search for ……
- Add data related to …..
- Compare between ……
3
Project Design Template
1- Create a table for ALL the modules in your project similar to the following table:
2- Remember that your project must have modules to read/write to/from database
getCommon L1: List L3: List This module gets the common Ahmed Ali ..
L2: List cnt: int items between two lists and
their count
Inputs:
L1: list of …….
L2: list of …….
Returns
L3: the common items between
lists L1 and L2
cnt: the count of common
items
The above table is an example of what you should write about EVERY module
*A brief description of what the task the module supposed to do
**Name of team member who should write code of this module