Sunteți pe pagina 1din 4

2a.

Welcome to our student grading application, A Better Communication Device, or


ABCD. This app was created using MIT App Inventor in order to create an easy use
app that displayed grades, calculated GPA, and utilized reminders. The first screen
shown when opening the application includes multiple buttons. The first button
allows you to toggle the visibility of the users grades and GPA, as well as showing
the button that allows the user to modify their grades. This next button moves to
another screen that uses an input of the class, target assignment grade, and its
weight to calculate the new grade percentage. There is a back button on this screen
that returns the user to the original screen. Finally, the reminders text box boldly
displays information about failed classes and late assignments.

2b. The first step of the design process that we followed was brainstorming an idea
for a complex and useful app for this project. After finally finding an idea in the form
of a gradebook, we drew the UI and its components for the app with a pencil and
paper. After completing the pencil and paper model, we began our app development
process. We started by creating the components for the parent, teacher, and
student. My individual task was to make certain components become invisible on
the UI when not needed. I was going to end certain buttons with block to change the
visibility of previous components of the UI. While working on this objective, I found
the opportunity to work with an aspect of App Inventor that I had previously had no
experience with, separate screens. Through the use of screens, I could make sure
that the components for parents, students, and teachers were on different screens
rather than constantly changing visibility. After creating the components, we began
coding. We encountered a collective issue for calculating GPA. The grades that it
utilized defaulted as blank, which caused multiple errors. These included a constant
GPA of zero and strings being emptied. In order to correct this, my partner and I
were required to replace the valueIfTagNotThere segment of each TinyDB with a
numerical block containing a zero. After correcting this issue, we examined the code
for bugs and used procedures to tidy it up.

2c. This section of code represents the algorithm utilized to calculate GPA. As this
algorithm is very long and repetitive, the segment shown here only includes the
calculation for Spanish, as well as the equation for the overall average. This code
segment utilizes both mathematical and logical concepts through its use of if/else
statements, inequalities, and an equation. The if/else statements separate the
different algorithms to find the GPA for the class, the multiple classes, and the
classes from the final equation. The algorithms to find GPA for each class utilize
inequalities in order to find the letter grade that the grade percentage falls under.
Finally, an equation is utilized to find the average of each individual class GPA,
calculating the overall GPA of the student. These segments work together to make
up the output of the app in the form of a visible GPA.

2d. These sections of the code represent the algorithms used to setup the first
screen of the app whenever it is used. The first section represents the procedure
used to configure the reminders, by checking the grades of each class for a grade
above 75. If the class is less than 75, a reminder is displayed, notifying the user that
they are failing that class. The other procedure is used to setup the grade for each
class, as well as adding the percentage symbol to each text box. Abstraction is used
here in order to separate two distinctly different processes that are used at the
same time within the app. This allows the code to be easily corrected and viewed by
showing these as two different processes rather than one large process.

2e.

S-ar putea să vă placă și