Allows teachers to award students who excel at their work.
The students performance app was an idea my teacher gave me in order to help teachers evaluate students' participation in class and subsequently award them for their efforts.
I wasn’t sure where to start in the beginning but I decided to begin with finding a good place to store all the data. I had many options but I wanted it to be simple since its my last year in the school and I want this app to be usable even when I leave. So after weighing my options I found a great solution which was google sheets. Although I did not know that large amounts of requests could be done through google's api to 1 google sheet was possible I was excited, it was the perfect place to store the information. It was easily accessible to any one even if they are not a tech savvy person, it was reliable so I did not need to worry about it shutting down, and lastly I was able to send and receive information with little to no delay.
After deciding on the place I was going to store all the data in I began work on a small prototype that did the main function of the application which was to award students different types of points based on their work. I wanted to make it easy for the teachers to click the buttons so that they won't waste time by swiping their finger across the screen from the students name to the button. So I added the ability to click the side of the name and the whole row would light up blue. Then I decided that the different categories of work that a student did would correspond to a star and from there my first prototype was done.
The Admin Tab1:
Next I needed a way for the head of department to view the work of the students and teachers in a single place. So I created the admin tab1, I knew that in a real scenario the admins won’t want to see every student and every class all at once so I made it easy for the user to choose what exactly they wanted to see by choosing between 2 categories classes and students. Then I added an advanced feature that allows the user to sort by Date Grade Name and Teacher. After that I needed to make the information printable in order for the admins to have a real world copy of what they saw on screen. So I added a print function that takes the data-grid and sizes it down to the size of an a4 paper and adds the school logo and other basic information.
After I was done with the admin page1 I realised there was an issue I needed to solve and that was the loading times. Since I was only using a small dataset when I was testing the application I never ran into any issue until it came time to import the real information. The admin page1 was taking long amounts of time to load after every action, I kept trying different solutions like loading the data in chunks but none of them were practical. So I decided I would need to change the way the app dealt with information. I began by seeing how other applications went about doing it and found the answer I was looking for. I needed to add a loading screen where all the information will be loaded once then stored in a public array for the rest of the classes to use in their computation. This was a massive success. I was able to remove the loading time completely and provide the user with a much more enjoyable experience.
AdminPage.mp4
To differentiate between teacher accounts and admin accounts I needed to create a sign in page, so that if they were a teacher account they would have access to the performance tab2 and to the awards tab3, and if they were an admin they would have 2 additional tabs: the admin tab1 and the notifications tab4.
In the end I found it difficult to install the application on the devices of the teachers because I had the application in the form of an executable file which was not easy to send especially when there are multiple libraries that need to be sent with it. So I decided to learn how to make .msi files and after a short while I was able to condense and publish the app to all the teachers safely and in a timely manner.
In the performance tab you can choose the class you want from the dropdown menu then after you have chosen an option you will see the grid view being populated with the names and scores of all the students in that class. The buttons on the right side allow the user to increase that specific score by one and to avoid any misscliks a popup saying that “the student was awarded a star” is shown.
In the awards tab you can choose a class and print the certificates for the students in that class by double clicking on that specific student and his achievement.
Awards 11 PreCalculus Report.pdf
AMRO's Master Mathematician Certificate.pdf
In the admin tab you can view the work of all the students and teachers throughout the year and sort them by any of the given categories which are Basic: classes, students and Advanced: Date,Grade,Student and Teacher.
In the notification tab an admin can see when a student has achieved a new certificate there they can print that certificate and in doing so the notification is removed.
Right now I am trying to and a new tab that can change basied on the time of use. So if it is during school hours it would show the class that the teacher has automatically and if it is after school it would show the certificates that need to be printed.
Footnotes
-
In the admin tab you can view the work of all the students and teachers throughout the year and sort them by any of the given categories which are Basic: classes, students and Advanced: Date,Grade,Student and Teacher. ↩ ↩2 ↩3 ↩4 ↩5
-
In the performance tab you can choose the class you want from the dropdown menu then after you have chosen an option you will see the grid view being populated with the names and scores of all the students in that class. The buttons on the right side allow the user to increase that specific score by one and to avoid any misscliks a popup saying that “the student was awarded a star” is shown. ↩
-
In the awards tab you can choose a class and print the certificates for the students in that class by double clicking on that specific student and his achievement. ↩
-
In the notification tab an admin can see when a student has achieved a new certificate there they can print that certificate and in doing so the notification is removed. ↩