Sunteți pe pagina 1din 3

Phoenyx Reviews Inc.

10/18/16
Volume 1, Issue 1

A Better Communication
Device (ABCD)
INTRODUCTION TO GRADING
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.

DESIGN PROCESS
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.

INSIDE THIS ISSUE


Introduction to Grading .......... 1
Design Process......................... 1
Algorithm ................................ 2
Abstraction .............................. 2
Code ......................................... 3

SPECIAL POINTS OF
INTEREST
What is ABCD?
How did the developers produce this app?
What Abstraction was involved in the coding of this
app?
What Algorithms were involved in the coding of this
app?

ALGORITHM
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
visible grades, GPA, and reminders.

ABSTRACTION
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

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