CIS 406 Assignment 2: uGrade

Due Week 10 and worth 200 points


This assignment consists of two (2) sections:

A Java program file
A screenshot of the output and a description of your Java program

Label each file name according to the section of the assignment for which it is written.Put both sections together in a single zip file and submit the zip file.


Imagine that you work as a Java programmer for a software company. Your company is developing a new interactive learning management tool called uGrade. You have the task of creating the functionality that will allow the user to manually enter names and grades. The program will store this information in parallel arrays. Next, it will prompt the user to sort the date by name or by grade and display the sorted data accordingly in an organized table.


Section 1: Java Program File

1.     Create a Java program in which you include:

·         a class called “roster”

·         attributes,which must be last names and numerical grades, and mustalso be parallel arrays

·         an indefinite loop, which allows the user to manually enter five (5) names and grades and stores them in the array. Note: The loop must end either when the user specifies that they are done or when a maximum of five (5) values have been stored in the arrays, i.e., five (5) names and a corresponding grade for each name.

·         an indefinite loop, which prompts the user to select a sorting criterion or to end the program, and must also use bubble sort. Note: The user may either select name or grade as the sorting criteria. The program must use bubble sort to sort that data according to the specific criteria and then use another loop to display the data. This process must continue until the user ends the program.


Section 2:  Screen Shot of the Output and Description of Your Java Program

2.     Create a screen shot of the output and include a description about your Java program.

·         Submit a screenshot which shows the output of your Java Program. Note: Go to you need a tutorial on taking a screenshot.

·         Include a one (1) page description about your program. Note: Use MS Word for your program description, and place the screenshot of the output from your Java program into the Word file as an attached image.


The output should look like this if the user chose to sort by name:

Name                Numerical Grade           

Bailey               97                                

David               88                                

Ericson 79                                

Frank                99                                

Manning            91



The output should look like this if the user chose to sort by grade:

Name                Numerical Grade

Frank                99        

Bailey               97


David               88

Ericson 79


Note: The name and grade pairs must stay together.


Section 1 and Section 2 will be graded based on the following:

The program must compile, execute, produce correct results, and meet all of the specifications stated in Section 1.
Additionally you must:

Organize the code for user readability.
Organize the code for reusability.
Organize the code for efficiency.
Provide documentation with embedded comments for reader understanding.
Include a one (1) page description about your program.

The specific course learning outcomes associated with this assignment are:

Demonstrate the proper use and application of syntax in the Java programming language.
Demonstrate the ability to design, compile, implement, test, and debug simple programs in Java.
Demonstrate the ability to manipulate numbers and character strings in Java.
Compare and contrast classes and objects in Java.
Construct classes through systematic procedures.
·         Discuss object-oriented design principles.

·         Compare and contrast abstract and concrete data types.

·         Demonstrate the ability to implement generic classes and methods.

·         Declare and use interface types.

Demonstrate the ability to program simple and complex decisions in Java.
·         Implement loops for repetitive tasks.

·         Compare and contrast definite loops and indefinite loops.

Compare and contrast arrays and array lists in Java.
·         Write clearly and concisely about Java programming using proper writing mechanics and technical style conventions.