Introduction

Completed

End users often ask developers to add new features to an application. User requests indicate that your application is being used, and more importantly, that the customer plans to continue using your application. The customer just wants some features updated. The ability to update an existing application based on user requests is very important. A successful update will preserve the integrity of the original application while providing the user with the improved experience that they requested.

Suppose you're a teacher's assistant at a school and that you developed an application to automate the grading process. The application uses arrays to store student names and graded assignments. The application also implements a combination of iteration and selection statements to calculate and report each student's final grade. Your application even differentiates between exam assignments and extra credit assignments when calculating student grades. Although the application does everything that the teacher asked for, you've received a request for new features. The teacher has asked you to update the grading report to show exam and extra credit assignment scores separately from the final numeric score and letter grade.

This module challenges you to add new capabilities to your Student Grading application.

In short, you need to use the teacher's updated grading report specification to:

  • update the iteration and selection code to calculate separate final scores for exams, extra credit assignments, and the overall grade.
  • update the code that writes the grading report to the console.

By the end of this module, you'll have an updated version of the Student Grading application that's able to calculate and report student grades in accordance with the teacher's updated requirements.

Note

This is a challenge project module where you’ll complete an end-to-end project from a specification. This module is intended to be a test of your skills; there’s little guidance and no step-by-step instructions.

Learning Objectives

In this module, you'll demonstrate your ability to:

  • Use Visual Studio Code to revise a C# console application based on an updated feature specification.
  • Update the variables and if statements in a C# console application to create the code branches and calculations required to satisfy an updated feature specification.

Prerequisites

  • Experience using Visual Studio Code to develop, build, and run C# console applications that include console I/O and access the methods of .NET classes.
  • Experience using if statements in C# application to evaluate expressions and branch code accordingly.
  • Experience using a foreach loop to access elements of array variables.