In an emergency at school, such as a fire, there is no time to waste. The fire alarm startles everyone, students quickly exit the building, and teachers need to know where students are and if they are in danger. What if someone went to the bathroom before the fire alarm went off? The teacher has no idea where this person is, whether they got out of the building or are stuck inside. They could be on the outside but might have run, fallen, and gotten hurt. In that case, they would need immediate help. The Emergency Attendance app strives to solve all of these issues. With data such as location of each student and whether students need immediate help, teachers can quickly ensure that all students are safe and accounted for. Students have one app to report data about their situation, and teachers have a different app to check for students in their class.
The Emergency Attendance apps aim to help teachers locate students in an emergency. There is location data gathered by the student application, along with the student's name and their current class. The data is sent to a web database that the teacher can access with the teacher app.
Features of the student application include:
The teacher application also has multiple advantages:
Both applications are designed to be intuitive and easy to use in an emergency situation.
List of iteration tasks:
The flowcharts can also be viewed by pressing "View on Draw.io"
A flowchart explaining the student application:
A flowchart explaining the teacher application:
For this project, I used MIT App Inventor.
To download the .aia app inventor file, click
to download all of the code. Then import it into MIT App Inventor.
Throughout this project, I have learned about how computer science companies remain productive by using concepts such as Agile Software Development and scrum. In Agile software development, large projects are split apart into smaller, more manageable parts where each smaller team can work towards their own specific goals and tasks, called a backlog item, rather than having to focus on a large task all at once. Focusing on a large task at once is complex and overall more unproductive. In Agile development, teams use a scrum workflow to iterate through the processes of planning, building, testing, and deploying multiple times. Each of these iterations, called sprints, are used to create a small part of the final project.
I have also learned that using lists is imperative for programming since it is a simple way to organize data efficiently and effectively. The data in the list can be quickly accessed using an index, which is the place of the item in the list. Databases can be even more powerful, while they still often rely on lists, they let data easily be shared and even more efficiently organized so it can be accessed by more advanced methods, such as finding the value of a tag. In both Emergency Attendance apps, I used lists to easily organize data collected from students, such as their names, whether they need immediate help, and their latitude and longitude. I also used a TinyWebDB as a database to transfer the information from the student apps to the teacher apps through an internet connection. By using a database, I could organize all the student reports by their current class, which simplifies attendance for teachers and makes the data organized.