Midnight GPA
Table of content
Summary
Midnight GPA is an academic performance tracking program meant for Webb students. The aforementioned program has several capabilities. The main capability of the program is its ability to import grades from the Populi grade reports and output them into the GPA tab. The other capabilities of this program include displaying a GPA calculated like Populi, final grade projection if a quiz or test is dropped, minimum final exam score to earn a user-specified grade, and a chart of semester grades.
Uploading

Repeat the four steps below for all semesters you have taken starting with your first semester at Webb.



Next, enter the number of semesters you have taken at Webb this should be equal to the amount of files you have downloaded this is done where the one arrow is pointing. If you have entered any sort of extra personal information into Populi please check the box labeled two. Last click the run button.



Double click each file starting with the one labeled [YOUR NAME]Grade Report.pdf then double click on [YOUR NAME]Grade Report (1).pdf then double click on [YOUR NAME]Grade Report (2).pdf and so on until all of the grade reports have been imported. After completing these steps the WEBB GPA, POPULI GPA, and GRADE HISTORY tabs should be populated. Note that any errors that occur will stop the program, display a message informing the user of an error, and instruct them to ensure they followed the instructions on transcripts. It will also reset the program.
Quit and Reset buttons
The Quit button in the top left corner of the program will exit the program and clear the entered data
The Reset button will clear all the sheets and linked object queries this should be used if there are any errors that leave something on a sheet. See the image below for an example.

Grade History
The grade history section is dependent on the main task of calculating GPA. It displays GPA over each semester. This allows the user to observe their academic performance as time progressed, permitting them to establish future goals for GPA improvements. This is accomplished via a creation of a chart which is saved as a temporary .gif file and then opened in the user form. No user input errors are possible in this section.
Two Part Exams
The two-part exam section is a standalone section of the project. It calculates a weighted average of two-part exams that returns a final grade. The basic formula used is as follows: Grade = (Grade1)(Weight2) + Grade2(Weight2), where the grades are percentages and weights are decimals. This section of the code is relatively simple as it does not rely on the imported data. Error checks include prohibiting non-numerical inputs and negative values. This section of code is robust and should not break given the limited number of possible errors.
Finals Calculator
The finals calculator is a calculator that uses a current grade input, a hypothetical grade input, and a final weight input to calculate the grade necessary on a final to achieve a grade in a class. This section uses the following formula: (Weight)(TestGrade) + (CurrentGrade)(1-Weight) = (HypotheticalGrade). This formula reduces the weight of the user’s current class grade and incorporates the weight of the test. Weight inputs are converted to decimals, which is why the weight is subtracted from 1 in the second term. The original grade was worth 100 % of the hypothetical grade without the test, but, when the test is incorporated, the weight of the class grade reduces by the weight of the test. This section of code is error checked for numerical inputs only, so letters and symbols are not accepted. There is a limited number of errors that can occur in this section, so the error checking is fairly straightforward.
Dropped Test Calculator
This calculator is based on the same equation as the previous one. However, the variables are rearranged to solve for the class grade if a test is removed. Mathematically, it is the opposite of the finals calculator. The same error checking as the previous sections is included. Note that all code for this and the previous two sections were done within the user form rather than in a module. This was done because these sections are independent of most of the module code, so we kept the independent code separate to avoid confusion. Private subs were used and connected to OnClick events in the user form.
Errors
| Common Errors | Description of Solution |
|---|---|
| Inputting transcripts incorrectly | Refer back to this manual. Double check transcripts being inputted. Ensure the proper number of transcripts are entered. |
| Entering values outside of a range | Ensure values entered are within reason. Double check submissions. For example, do not enter 14 semesters or another unrealistic value where not applicable. Refer to the manual |
| Entering letters instead of numbers | Ensure numeric values are entered where applicable. Refer back to the user manual manual. |
| Leaving a field blank | Ensure a value applicable to the field is entered, which will likely be a numeric value. Refer back to the user manual if confused. |
Do Not Click Button
REDACTED
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
REDACTED