Restaurant

CS 139 Algorithm Development
PA2: Grade Calculator - refactored

Part A Due in Canvas by Wednesday, Feb 18 at 11:59PM

Part B Due in WebCAT by Tuesday, Feb 24 at 11:59 PM

Late assignments will be accepted in accordance with the following penalties:

  • -10% on Wednesday Feb 25
  • -20% on Thursday Feb 26
  • -30% on Friday Feb 27
  • -40% on Sunday Mar 1
  • -50% on Monday Mar 2
  • Not accepted afterwards
Part C due in Canvas by Wednesday Feb 26 or one day after you have successfully submitted to WebCAT whichever is later.

 

UPDATES:

Objectives - At the conclusion of this assignment students will have demonstrated that they can:

Background

Students are frequently graded on the basis of "weighted" averages. Weighted averages value different kinds of work differently based on the syllabus requirements. For example, in this class, labs are worth 10% of the overall grade, while PAs are worth 20%. In this application you will prompt the user for the 6 grades in this class and then will produce a weighted average for the course. This application would let you try "what if" scenarios for your final grade in this class.

Requirements

PART A - Graded as a homework assignment. There will be a separate Canvas Assignment for this.

This program will be refactored for this version. Instead of having a big "main" method, you are going to take some of the repetitive code in the program and make methods from them that can be reused when you need them. The "tools" or methods that you create will be stored in a separate file called, GradeCalculatorTools.java. For this assignment, you will fully stub out the GradeCalculatorTools.java file. (See Lab05B for your introduction to stubs). See the Design section for further information. NOTE: Stubbed out methods should include full documentation. Your stubs will be tested on whether or not they compile, whether or not they conform to the requirements of the assignment and on the completeness of the method documentation.

PART B - Submitted to webcat. WebCAT will be made available no later than Sunday morning Mar 1. NOTE: Each of your methods will be tested separately. Your methods must conform to the design requirements below.

You will write a single Java program, GradeCalculator, that must:

A complete dialog as it would appear at the command line would look like this. (with input values highlighted in red would look like)

Homework grade? 75.50
Lab grade? 82.5
Weekly quiz grade? 100
PA grade? 86.45
Midterm 1 grade? 95.5
Midterm 2 grade? 80.6
Final exam grade? 92.15
Class name? Programming Fundamentals
Student name? Nancy Harris
<blank>
Programming Fundamentals Nancy Harris <blank> HW: 75.50 Lab: 82.50 WQ: 100.00 PAs: 86.45 Midterm 1: 95.50 Midterm 2: 80.60 Final exam: 92.15 ------------------- Final grade: 87.77

Output specifications

Prompts

Results

NOTES:

Design Requirements

Part B Deliverables

  1. You should submit, GradeCalculator.java to via Web-CAT (http://webcat.cs.jmu.edu). You must package your files into a single zip package because you can only upload a single file to WebCAT.
  2. Your program will be judged on correctness (80%) and conformance to the StyleGuide (20%). Your program must pass all submission tests to be graded. The checkoff chart is found in Canvas in the Resources module..

Part C Reflection - graded as a regular homework assignment. There will be separate Canvas Assignments for this.

You will write a reflection document for this assignment which will let you consider the process of building this program. It will also contain a place to critique this assignment for this class.

Honor Code

This is an individual programming assignment. This assignment should be viewed as a take home exam. Your work on the assignment and your submission must conform to the JMU Honor Code. Authorized help is limited to the classroom handouts, lab material, the TAs for any CS139, our graduate student and the professor. Copying work from another student or the Internet is an honor code violation, which will result in a zero on the assignment and possibly further sanctions. You may use the internet to search for help, but each site that you use hould be acknowledged in the Reference section of the code documentation.

Your work on this assignment is subject to review by MOSS which is a plagiarism detection tool for programs. Submission to WebCAT constitutes your submission of work for academic credit and your agreement that your work may be submitted to MOSS.