1
COLLEGE OF ENGINEERING AND APPLIED SCIENCES
DEPARTMENT OF COMPUTER SCIENCE
ICSI201 Introduction to Computer Science
Project 05 by Qi Wang
The following parts are included in this document:
• Part I: General project information
• Part II: Project grading rubric
• Part III: Project description
• Appendix A: An example (How to complete a project from start to finish?)
Proper use of the course materials:
All course materials including source codes/diagrams, lecture notes, etc., are for your reference only. Any
misuse of the materials is prohibited. For example,
• Copy the source codes/diagrams and modify them into the projects.
o Students are required to submit the original work. For each project, every single statement for
each source file and every single algorithm or class diagram for each design must be created
by the students from scratch.
• Post the source codes, the diagrams, and other materials online.
• Others
2
Part I: General Project Information
• All work is individual work unless it is notified otherwise.
• Work will be rejected with no credit if
o The work is not submitted via Duifene.
o The work is late.
o The work is partially or entirely written in Chinese.
o The work is not submitted properly.
Not readable, wrong files, not in required format, crashed files, etc.
o The work is a copy or partial copy of others' work (such as work from another person or the
Internet).
• Students must turn in their original work. Any cheating violation will be reported to the college.
Students can help others by sharing ideas, but not by allowing others to copy their work.
• Documents to be included/submitted as a zipped folder:
o An UML class diagram – created either by Violet UML editor or StarUML
o Java Source code
Shape
Rectangle
Triangle
Circle
InvalidTriangleException
A test class as a helper for a driver program
A driver
o Supporting file
An input file, a text file, containing data that can be used to form shapes.
Lack of any of the required items or programs with errors will result in a low credit or no credit.
• How to prepare a zipped folder for work submission?
Copy the above-mentioned files into a folder, rename the folder using the following convention:
[Your_first_name][your_last_name]ProjectNumber
o For example, JohnSmithProject05
Zip the folder. A zipped file will be created.
o For example, a file with name JohnSmithProject05.zip will be created.
Submit the zip file on Duifene.
You must submit a project in this format. Submissions not in the required format may be rejected
or will result in a low credit or no credit.
• Grades and feedback: Co-instructors will grade. Feedback and grades for properly submitted work will
be posted on Duifene. For questions regarding the feedback or the grade, students should reach out to
their co-instructors prior to discussing with the instructor. Students have limited time/days from when
a grade is posted to dispute the grade. Check email daily for the grade review notifications sent from
the co-instructors. Any grade dispute request after the dispute period will not be considered.
3
Part II: Project grading rubric
Note: Programs with errors will result in a low credit or no credit.
The following contains only a list of basic PIs used for evaluation. General software development criteria and overall performance of the project
are also considered into the final project evaluation.
Project 5: (100 points)
Performance Indicator (PI)
LEVELS OF PERFORMANCE INDICATORS
Points
Earned
UNSATISFACTORY
DEVELOPING
SATISFACTORY
EXEMPLARY
PI1: (10 points)
UML diagram:
• Shape
• Rectangle
• Circle
• Triangle
• InvalidTriangleException
None/Not correct at all.
(0)
Visibility, name, and
type/parameter
type/return type, class
relationships present
for all classes with
issues.
(<=5)
Visibility, name, and
type/parameter
type/return type, class
relationships present
for all classes with
minor issues.
(<=8)
Visibility, name, and
type/parameter
type/return type, class
relationships present for all
classes with no issues.
(<=10)
Comments:
PI2a: (5 points):
Implementation:
Comments (Javadoc style):
• Comments explain the
purpose of each part of the
program, not how it is
coded.
• All tags are included
correctly.
• Class comments
• Method comments
• Block comments in main
(non- Javadoc style)
None/Not correct at all.
(0)
Some comments are
written properly.
(<=2)
Most comments are
written properly.
(<=4)
All comments are written
properly.
(<=5)
Comments:
PI2b: (5 points):
Implementation:
• Full-word (descriptive)
variables
• No excessive
variables/statements
None/Not correct at all.
(0)
Some requirements are
met with issues.
(<=2)
Most requirements are
met with minor issues.
(<=4)
All requirements are met
with no issues.
(<=5)
4
• All local variables are
declared at the beginning of
main
• Properly formatted code
(indentations)
• No errors
Comments:
PI2c: (15 points):
Implementation and test:
• Shape class
• No errors
None/Not correct at all.
(0)
Some methods present
with issues. Some
requirements are met.
(<=7)
All methods present
with minor issues.
Most of the
requirements are met.
(<=11)
All methods present with
no issues. All requirements
are met.
(<=15)
Comments:
PI2d: (15 points):
Implementation and test:
• Rectangle class
• No errors
None/Not correct at all.
(0)
Some methods present
with issues. Some
requirements are met.
(<=7)
All methods present
with minor issues.
Most of the
requirements are met.
(<=11)
All methods present with
no issues. All requirements
are met.
(<=15)
Comments:
PI2e: (15 points):
Implementation and test:
• Circle class
• No errors
None/Not correct at all.
(0)
Some methods present
with issues. Some
requirements are met.
(<=7)
All methods present
with minor issues.
Most of the
requirements are met.
(<=11)
All methods present with
no issues. All requirements
are met.
(<=15)
Comments:
PI2f: (15 points):
Implementation and test:
• Triangle class
• No errors
None/Not correct at all.
(0)
Some methods present
with issues. Some
requirements are met.
(<=7)
All methods present
with minor issues. Most
of the requirements are
met.
(<=11)
All methods present
with no issues. All
requirements are met.
(<=15)
Comments:
5
PI2g: (5 points):
Implementation and test:
• InvalidTriangleException
class
• No errors
None/Not correct at all.
(0)
Some methods present
with issues. Some
requirements are met.
(<=2)
All methods present
with minor issues. Most
of the requirements are
met.
(<=4)
All methods present
with no issues. All
requirements are met.
(<=5)
Comments:
PI2h: (15 points):
Implementation and test:
• Test class and driver
• No errors
None/Not correct at all.
(0)
Some methods present
with issues. Some
requirements are met.
(<=7)
All methods present
with minor issues. Most
of the requirements are
met.
(<=11)
All methods present
with no issues. All
requirements are met.
(<=15)
Comments:
Overall comments:
Total Points Earned
Not submitted as a zipped folder
-10
Total out of 100