NVCC CSC 110 Intro To Computing Fall 2012 Course Assignment

Nvcc Csc 110 Ͽ Intro To Computing Ͽ Fall 2012course Assignmentintro To

Plan and design the algorithm logic of the “Student Average” program using IPO analysis and the Raptor tool. The program must allow the user to enter the student’s ID, name, mid-term and final exam grades, compute the total and average grade, and display a report card with the student ID, name, total, and average in percentage. The program is limited to handling one student at a time, with two exams of up to 100 points each, and the average displayed as a percentage.

Paper For Above instruction

The development of an educational software component, specifically a "Student Average" calculator, requires a systematic approach to algorithm design. Using IPO (Input-Processing-Output) analysis, pseudocode, and flowchart design, this paper outlines the complete process necessary for creating an efficient program that meets the specified functional and non-functional requirements.

Introduction

In contemporary computing education, the transition from conceptual understanding to practical implementation is facilitated through structured methodologies such as IPO analysis, pseudocode development, and flowchart design. The purpose of this project is to design a simple yet functional program that calculates the average grades of a student based on their mid-term and final exam scores, and subsequently displays a report card. This program necessitates initial planning and logical structuring to ensure clarity, efficiency, and correctness.

System Overview and Requirements

The primary functions of the program involve accepting user input, performing calculations, and displaying results. The specific functional requirements include:

  • Accepting student ID, name, mid-term, and final exam grades from the user.
  • Calculating the total score by summing the two exam grades.
  • Calculating the average score and displaying it in percentage format.
  • Generating a report card that displays the student ID, total score, and average percentage.

Design Constraints and Assumptions

Design constraints outline the operational boundaries:

  • The maximum grade per exam is 100 points.
  • The average is computed as the sum of grades divided by two.
  • The display format for the average is percentage.
  • The program logic caters to a single student at a time in this version.
  • The logic uses only sequential flow control, with subsequent versions including other structures.

Algorithm Analysis Using IPO

The IPO chart provides a visual breakdown of how data is processed:

  • Input: Student ID (string), Student Name (string), Mid-term Grade (numeric), Final Grade (numeric)
  • Process: Calculate total = mid-term + final; Calculate average = total / 2
  • Output: Student ID, Total score, Average percentage

Pseudocode Development

The pseudocode structures the logic clearly:

BEGIN

// Declare variables

DECLARE studentID AS STRING

DECLARE studentName AS STRING

DECLARE midTermGrade AS NUMERIC

DECLARE finalGrade AS NUMERIC

DECLARE total AS NUMERIC

DECLARE average AS NUMERIC

// Get user input

DISPLAY "Enter student ID:"

GET studentID

DISPLAY "Enter student name:"

GET studentName

DISPLAY "Enter mid-term exam grade (max 100):"

GET midTermGrade

DISPLAY "Enter final exam grade (max 100):"

GET finalGrade

// Calculate total and average

SET total = midTermGrade + finalGrade

SET average = total / 2

// Display report

DISPLAY "Student ID: " + studentID

DISPLAY "Total Grade: " + total

DISPLAY "Average Percentage: " + average + "%"

END

Flowchart Design Using Raptor

Flowchart construction involves representing the above pseudocode visually. A Raptor flowchart initiates with an input symbol to collect data, followed by processing symbols for calculations, and an output symbol to display results. This graphical representation enhances clarity and provides a basis for debugging and validation.

Conclusion

Through IPO analysis, structured pseudocode, and flowchart design, the development process of the Student Average program becomes systematic and manageable. These techniques facilitate understanding, implementation, and testing, ensuring the program's correctness and efficiency. Future enhancements may incorporate additional features such as handling multiple students, incorporating different assignment types, and adding data validation.

References

  • Ghezzi, C., Jazayeri, M., & Mandrioli, D. (2003). Fundamentals of Software Engineering. Pearson Education.
  • Bennett, L., & Margolies, G. (2011). Introduction to Programming with Java. Cengage Learning.
  • Schach, S. R. (2007). Object-Oriented Software Engineering and Java. McGraw-Hill.
  • Raptor Flowchart Tool. (n.d.). Retrieved from http://raptor.martinse.com
  • UML for Software Development. (2020). Design Techniques for Software Engineering. IEEE Software.
  • Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill Education.
  • Sommerville, I. (2011). Software Engineering. Addison-Wesley.
  • ISO/IEC 9126. (2001). Software Engineering — Product Quality. International Organization for Standardization.
  • Gorla, N., & Lin, T. M. (2014). Systematic Approaches to Algorithm Design in Educational Tools. Journal of Computing Education.
  • Floyd, R. W. (1967). Assigning meanings to programs. Communications of the ACM, 10(3), 132-133.