Final Project CS 105 Summer 2016 Due Dates ✓ Solved

Final Project CS 105 Summer 2016 DUE DATES: FINAL PROJECT PROS

DUE DATES: FINAL PROJECT PROSPECTUS DUE: THURSDAY, JULY 14.

COMPLETED PROJECT DUE: WHEN YOU ARRIVE FOR YOUR FINAL EXAM ON THURSDAY JULY 28.

WHAT TO TURN IN: -A brief description of the problem you are planning to solve. -Hard copy of source code with signed pledge -Complete description of the problem you solved -Pseudocode: i.e. the programming steps needed to solve the problem -Sketch of the form -If applicable, at least three test cases.

Your project must be located in your CS105 account.

PROBLEM TO SOLVE: Design a program that permits the user to select which assignments and exams have been submitted, and to enter the scores received on these. The program should then display the grade based on these, as both a percentage value and a letter grade. After the grade has been calculated, write the information to file; using a MessageBox, inform the user that the information has been written to file. Finally, allow the user to read the contents of the file that has been written.

The program must use CheckBoxes to allow the user to select which assignments and exams have been graded. In order to get full credit on this project, you must implement the following two functions: The program must implement a function procedure to return the numerical grade (i.e. percentage grade) based on the currently graded assignments and exams. The program must also implement a function to convert the percentage grade to the corresponding letter grade.

Create a new project and name it GradeCalculator. Save it inside the Project4 folder. Rename the source code file GradeCalculator.vb. Here are a few hints to help you get started.

To assist you in solving this problem, refer to your solution for Lab10. The syntax for formatting a double value to a percentage is: numGradeTxt.Text = String.Format(“{0:P}”, numericalGrade).

Use the following grading scale cutoff values to convert the numerical grade to a letter grade: A: 94.0%, A-: 90.0%, B+: 87.0%, B: 83.0%, B-: 80.0%, C+: 77.0%, C: 73.0%, C-: 70.0%, D+: 67.0%, D: 63.0%, D-: 60.0%, F:

Study the Sample Output images below to understand the way to set up the form and the sequence of events that should be followed.

Paper For Above Instructions

In the CS105 final project, the main objective is to develop a Grade Calculator application that assists students in calculating their grades based on assignments and exams. The project involves creating a graphical user interface (GUI) that allows users to select their completed assignments and enter received scores. Subsequently, the application calculates the overall grade as a percentage and presents this along with the corresponding letter grade. The project aims to deepen understanding of essential programming concepts such as function implementation, GUI design using CheckBoxes, file I/O operations, and data representation.

Overview of the Grade Calculator Application

The Grade Calculator application will consist of a series of CheckBoxes representing various assignments and exams, along with TextBoxes for user input of scores. Once the user selects the relevant CheckBoxes and inputs the scores, the application will compute the cumulative grade. The calculated grade, expressed in percentage and letter format, will be displayed to the user. Furthermore, the application will write the relevant data to a file for record-keeping and allow the user to read the previously saved information.

Function 1: Calculating the Numerical Grade

To implement Function 1, the program will retrieve the scores from the selected CheckBoxes. The function will aggregate these scores, compute the total, and determine the percentage grade based on the total possible points. The implementation will utilize a loop to iterate through the CheckBoxes and conditional statements to check which CheckBoxes are selected. The percentage can then be calculated using the formula:

percentage = (totalScore / totalPossibleScore) * 100;

It is imperative that users enter valid scores corresponding to the assignments selected to ensure accurate calculations.

Function 2: Converting Percentage to Letter Grade

In Function 2, the program will implement a grading scale based on the calculated percentage. This involves converting the numerical grade to a letter grade by using a series of conditional statements or a switch-case structure. The grading scale will be as specified:

  • A: 94.0% and above
  • A-: 90.0% - 93.9%
  • B+: 87.0% - 89.9%
  • B: 83.0% - 86.9%
  • B-: 80.0% - 82.9%
  • C+: 77.0% - 79.9%
  • C: 73.0% - 76.9%
  • C-: 70.0% - 72.9%
  • D+: 67.0% - 69.9%
  • D: 63.0% - 66.9%
  • D-: 60.0% - 62.9%
  • F: below 60.0%

Both functions will work collaboratively to ensure smooth functionality of the application.

File Operations

Once the grade is calculated, the program will automatically save the details to a file using appropriate file I/O operations. The MessageBox will notify users that their information has been successfully saved. The application will also provide an option to read from the file, displaying the contents in a ReadOnly TextBox with appropriate formatting. This aspect is essential for maintaining the records of entered scores and calculated grades.

User Interface Design

The design of the user interface is key for usability. The form will have the following components:

  • CheckBoxes for each assignment and exam.
  • TextBoxes for score input.
  • Buttons for "Calculate Grade", "Write Grades To File", and "Read Grades From File".
  • A label or TextBox displaying the resulting percentage and letter grade.

Using visual cues and interactive components will enhance user experience, ensuring that users can easily navigate the application while achieving the intended functionality.

Conclusion

In conclusion, the Grade Calculator project presents an opportunity for CS105 students to integrate various programming concepts into a cohesive application. By developing a functional program, students gain hands-on experience with GUI elements, logical programming constructs, and file handling capabilities. The overall goal is to deliver a reliable tool that aids in academic performance tracking while reinforcing programming skills learned throughout the course.

References

  • Schiller, J. (2016). Introduction to Programming with Visual Basic. Wiley.
  • Microsoft Documentation. (2023). Visual Basic Language Reference. Microsoft Docs. Retrieved from https://docs.microsoft.com/en-us/dotnet/visual-basic/
  • TutorialsPoint. (2023). Visual Basic Tutorial. Retrieved from https://www.tutorialspoint.com/vb.net/index.htm
  • North Carolina State University. (2023). Introduction to Functions and Procedures. Retrieved from https://www.csc.ncsu.edu/help/CS1/Functions.html
  • W3Schools. (2023). VB.NET Functions. Retrieved from https://www.w3schools.com/asp/asp_functions.asp
  • GeeksforGeeks. (2023). File Handling in VB.net. Retrieved from https://www.geeksforgeeks.org/file-handling-vb-net/
  • Coursera. (2023). Programming Foundations with Visual Basic. Retrieved from https://www.coursera.org/learn/vb-net
  • Hargrave, P. (2022). Getting Started with Visual Studio. O'Reilly Media.
  • Academic Success Center. (2023). Understanding Grading Scales. University of Washington. Retrieved from https://www.washington.edu/
  • JavaTpoint. (2023). VB.NET Checkbox Control. Retrieved from https://www.javatpoint.com/vb-net-checkbox