Skip to content

wetsmith/AllAboardAttendance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TEAM MEMBERS:
Matt Jacobs
Trevor Weger
Wesley Smith (PO)
Suleyman Saib
Donghyun Kim

SCRUM Progress, Burndown Chart:
https://docs.google.com/spreadsheets/d/12MuSUxdFPOvvFqxwLG5isuRCMR8EsLbJs3T2HyLbbq0/edit#gid=2104316230

SCRUM Board:
https://trello.com/b/3gWsBAES/all-aboard

**************************************************************************

BUILD INSTALLATION INSTRUCTIONS

Clone this repo to a directory on your machine. Ensure you have the necessary libraries:

	$ pip install qrcode[pil]
	$ pip install networkx
	$ pip install matplotlib

From a command prompt, navigate to the project directory, which should look like this:

	\AllAboardAttendance\AllAboardAttendance
		\accounts
		\AllAboardAttendance
		\course
		\lecture
		\media
		\templates
		.DS_Store
		db.sqlite3
		manage.py

While in this directory, run the following commands:

	$ python manage.py makemigrations
	$ python manage.py migrate
	$ python manage.py createsuperuser

Follow the prompts to create an admin account. Then, run the server:

	$ python manage.py runserver

From a browser, navigate to the home page localhost address:

	http://localhost:8000/

If you wish to create courses, student IDs, or instructor accounts, navigate to the admin page and log in using the superuser credentials you defined earlier:

	http://localhost:8000/admin/

**************************************************************************

PROJECT OVERVIEW

All Aboard Attendance is a new, efficient way of taking attendance. Instead of relying on roll call, sign-in sheets, or easily tricked login systems, All Aboard utilizes an insightful method to quickly take attendance and generate valuable data on student attendance trends.

If you're a student, you'll scan a QR code projected by your professor. This will take you to a lecture-unique URL, where you'll be given a temporary ID (usually five characters long). From here, you'll be asked to enter the temporary ID of several nearby students. If another student has entered your temporary ID, don't worry about entering theirs - that connection has been marked for both of you!

If you're a professor, you'll be able to open a unique attendance window for each lecture, which generally represent the attendance of a single lecture. In other words, if your course has thirty lectures throughout the term, you'll likely have thirty attendance sessions. Hosting a new attendance session will generate a QR code you should project for your students, as well as take you to a new page where you can end the current attendance session. When you end the session, the attendance data from the session will be stored, allowing you to accurately grade your students attendance.

"What's so valuable about attendance data?"

Some of you reading this may have noted a nuance to how attendance is marked in this system. In order to be marked present, each student must explicitly connect to another student (the temporary ID exchange step). A connection between two students represents a relative proximity between them, most of the time how close they are physically seated in class, but not necessarily - we'll get there.

What this means is, each time we take attendance, we generate a network of which students are sitting close to each other. Over time, we can catalog this data and analyze recurrent student clusters. Do students flagged for plagiarism routinely log one another's ID during attendance? Does a struggling student not attend with a consistent cluster of other students? Does a particular student produce grade trends in students proximal to them during attendance?

"What did you mean by that thing about proximity not necessarily being physical?""

Look, this system is designed to strike a balance between efficiency, data collection, and accuracy. If a student texts another non-attendant student a session QR and their temporary ID, they can forge attendance. However, because of how we collect data, a valuable insight emerges in our graph: Students cheating the attendance mechanism will regularly log in with the same students. If these students engage in other academically dishonest behavior (for instance, they are flagged by a MOSS report), then their attendance networks can be correlated for a stronger case against their actions. In other words, if they're skipping class and lying about it, it'll be easier to catch them cheating in other capacities.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published