CMIS 102 6382 Introduction to Problem Solving and Algorithm Design (2152)

Assignment # 3 Instructions

to Problem Solving and Algorithm Design (2152)

Assignment # 3 Instructions

Repetition Statements

In this Assignment, you will design a program to perform the following task:

Write a program that would allow a user to enter student names and Final grades (e.g. A,B,C,D,F) from their courses. You do not know how many students need to be entered. You also do not know how many courses each of the students completed. Design your program to calculate the Grade Point Average (GPA) for each student based on each of their final grades.  The program should output the Student name along with the GPA.

There are 5 components of your submission including:

Program Description- A detailed, clear description of the program you are building.

Analysis- Demonstrates your thought process and steps used to analyze the problem. Be sure to include the required input and output and how you will obtain the required output from the given input? Also, include your variable names and definitions. Be sure to describe the necessary formulas and sample calculations that might be needed. Talk about how your design will allow any number of students and final grades to be possible inputs.

Test plan – Prepare at least 1 set of input data (Test data) along with their expected output for testing your program.  This test case should include at least 10 students. Your test data can be presented in the form of a table as follows (note: feel free to adapt to your design)

Flowchart – Provide a flowchart for your design. You can use Word, Powerpoint, Visio or any software you have available that will allow to draw shapes and connectors.

READ ALSO :   Psychology Book Notes Needed ASAP

Pseudo code- Provide pseudo code of your overall design that fulfills the requirements of the project

All of these components should be placed in word document for submission.

Additional details about the program you need to write:

1.    GPA is calculated by summing the point equivalents for final grades and taking the average. A =4, B=3, C=2, D=1, and F = 0. So, if someone earned 2 A’s and 1 B, their GPA would be (4 + 4 + 3)/3 = 3.67

2.    Think about using a simple process to stop entering students and course grades. For example, if Student Name < 0.

Example application test data:

Test Case #    Input    Expected Output

1    Sally: A,D,B,C

John: A,A,A,B,B

Jason: A,A,A,A,B

Bob: B,B

Bill: A

…    GPA for Sally is : 2.5

GPA for John is: 3.6

GPA for Jason is: 3.8

GPA for Bob is: 3.0

GPA for Bill is: 4.0

Submission requirements:

Your completed assignment should be saved as Word document and submitted to your LEO assignment area no later than the due date listed in the syllabus. Your document should be neat, well-written with minimal grammatical and spelling errors. Your name should be clearly listed on the first page along with the class/section, professor and due date. Your document should contain page numbers at the bottom of each page. Single or double space line formatting is acceptable.

You should name the file yournamehw3.docx (or yournamehw3.doc). So if my name was Julie Smith, I would name my document juliesmithhw3.docx.

Rubric Name: In order to get an A grade for this Assignment follow the Criteria:

READ ALSO :   Business

Criteria    Exceeds

Analysis    40 points

(36-40 points)

Identify required inputs and output; describe in sufficient detail the process used to get the output using the inputs.

Provide all variable names and definitions (names should be descriptive enough and appropriate for information they hold).

Provide necessary formulas along with sample calculations.

Analysis leading to a design that reliably and efficiently produces desired output, and meets project specifications.

Obvious extra analysis was included resulting in new functionality and features to dramatically improve the application.

Design    20 points

(18-20 points)

Use of modular design.

Supply full detailed, appropriate pseudocode of overall design, including Main module and other modules used as appropriate.

Use appropriate header and step comments in pseudocode.

Obvious extra effort was used to develop additional well-designed pseudocode and flow charts to enhance the overall functionality of the application.

Testing    20 points

(18-20 points)

At least 3 sets of test cases along with expected output and Pass/Fail indicator for program testing.

Additional test cases were provided to identify input data sets that would cause errors or crash the application.

Documentation    20 points

(18-20 points)

Lessons learned were included documenting issues faced during this assignment and how these were overcome.

Possible improvements were provided documenting weaknesses in the application and how to resolve those weaknesses or add additional useful functionality.

A detailed accounting of the approach used to solve this problem was provided.