For this assignment you must implement a program of your own design that demonstrates a significant numberJava Programming

Assignment Objectives

After completing this assignment the student should be able to,

  • Demonstrate proficiency with the concepts covered in this

Assignment Requirements

For this assignment you must implement a program of your own design that demonstrates a significant number of the 9 following concepts that we have covered in this course over the semester:

  1. Writing classes to define objects that know things and do things

    1. Private instance variables to store things that object of this class must know

    2. Public getter and setter methods to provide access to the things that objects of this class know and to maintain a valid state

    3. Public methods to encapsulate the things that objects of this class must do

    4. Private methods to support and simplify the public methods

    5. Constructors to conveniently and consistently initialize object of this class to a valid state

  2. Composing programs out of objects that collaborate to realize the responsibilities of the

    1. Includes Classes/object with “has a” relationships (composition)

    2. Includes Collections of like objects

  3. Leveraging abstract and/or concrete base classes and/or interfaces

    1. Includes Classes/objects with “is a” relationships

    2. Using inheritance to extend the functionality of a base class

    3. Using inheritance to implement the functionality of an interface

    4. Defining and using classes with a common methods, but different (polymorphic) behavior

    5. Overriding base class or interface methods

    6. Explicitly calling base class constructors

  4. Using UML to concisely describe the essential features of classes

    1. Writing UML class diagrams that detail the classes that make up a program

    2. Including attributes and operations

    3. Including visibility, data types, arguments, return values,

    4. Including relationships between classes

  5. Choosing or implementing data structures that best meet the needs of a given problem

    1. Includes Justifying the use or implementation of any list or tree-like data structures in your program

  6. Leveraging generics in Java

    1. Includes Explaining any use of Java’s standard library generic types

    2. Includes Implementing your own generic classes or methods

  7. Using Big-O notation to describe the algorithmic complexity of an algorithm that you are using in your program

  8. Writing recursive algorithms

    1. An explanation of why you are implementing a given algorithm recursively rather than iteratively

    2. Explaining, in detail, how any recursive algorithm that you use in your program works

      1. What is/are the base case(s)

      2. What is/are the recursive case(s)

  • How does the algorithm insure that each recursive call is closer to the base case?

  1. Choosing and using sorting algorithms

    1. Includes Explaining why you are using or implementing any algorithms you are using in your



What to turn in

For this assignment you must upload the following files by the due date.

  • A .pdf file describing your project,

    • With list and explanation of which concepts/criteria your program demonstrate

      • Including how and why you project includes the application of this concept/criterion

      • Including how many points your project should score for this concept/criterion

    • All .java files that you write

    • Any additional files that your program requires to work

    • Any additional (.pdf) files that contain artifacts like UML diagrams or Big-O analysis


Any assignment submitted less than 24 hours after the posted due date will have 10 points deducted.

Any assignment submitted more than 24 hour after the posted due date will receive a zero in the grade book.

There are 150 points available in this rubric. The score for the assignment is out or 100, so a score of 100 will be full credit and anything over 100 will be extra credit.


Instructions Files

Java Programming Experts

Neno S.
Java Programming

60 Answers

Ray Bjork
Java Programming

90 Answers

View More Experts

The ready solutions purchased from Library are already used solutions. Please do not submit them directly as it may lead to plagiarism. Once paid, the solution file download link will be sent to your provided email. Please either use them for learning purpose or re-write them in your own language. In case if you haven't get the email, do let us know via chat support.

Get Free Quote!

255 Experts Online