Posted: September 18th, 2017

Introduction to Problem Solving and Algorithm Design

Final Project

Your final project will be to analyze, design, and document a simple program that utilizes a good design process and incorporates sequential, selection and repetitive programming statements as well as at least one function call and the use of at least one array.  The specific problem you need to solve for the final project is:

 Design a program that will allow a user to Input a list of your family members along with their age and state where they reside. Determine and print the average age of your family and print the names of anyone who lives in Texas.

There are 4 components of your submission beyond the working program and its output, 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 the functions you plan to use and how you will use arrays. Be sure to talk about the types of programming statements that will be used on why.
  • Test plan – Prepare at least 5 sets of input data (Test data) along with their expected output for testing your program. Your test data can be presented in the form of a table as follows (note: feel free to adapt to your design)
  • Pseudocode- Provide pseudocode of your overall design that fulfills the requirements of the project
  • Documentation- 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.

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

Additional details about the program you need to write:

  1. Family sizes vary, however you should design to be able to enter at least 50 Family members.
  2. Your test cases should have at least 5 family members.
  3. Be sure to separate some functionality into functions or submodules. Having all functionality in the main module is not a good design.
  4. Your design should consider how to indicate the family member entry is complete.
  5. Carefully consider the best data type for each of your variables. (e.g. when to use Float versus Integers versus Strings)

Example application test data:

Test Case # Input Expected Output Pass/Fail
1 Fred, Age: 82, State: MD
Mary, Age:75, State: OH
Joe, Age: 45, State: TX
Julie, Age: 47, State: TX
Beth, Age: 9, State: TX
Average Age: 51.6
Members who live in TX:
Joe
Julie
Beth
2 Your input data Your expected output
3 Your input data Your expected output

 

Grading Rubric:

 

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.

35 points
(28-35 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.

0 points
(0-27 points)

Most inputs and output were missing detailed descriptions or incorrect.

Most variable names were missing definitions and appropriate descriptions.

Most necessary formulas along with sample calculations were missing or incorrect.

Analysis seemed short and missing major major project specifications details.

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.

17 points
(14-17 points)

Use of modular design.

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

Supply Flow charts as appropriate representing correct and efficient design.

Use appropriate header and step comments in pseudocode.

0 points
(0-13 points)

Minimal or no use of modular design.

Pseudocode missing or minimally represents the application

Flow charts missing or minimally represents the application

Header and step comments in pseudocode missing or minimally provided.

Testing 20 points
(18-20 points)

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

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

17 points
(14-17 points)

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

0 points
(0-13 points)

Minimal or no apparent test cases were provided.

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.

17 points
(14-17 points)

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

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

0 points
(0-13 points)

No or minimal lessons learned provided

No or minimal possible improvements provided

 

Expert paper writers are just a few clicks away

Place an order in 3 easy steps. Takes less than 5 mins.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00
Live Chat+1-631-333-0101EmailWhatsApp