COVID-19 has left an indelible impact on the world, in every aspect. One of the facets that's been the most affected is education. Virtual learning/teaching has become the norm for millions of students and teachers across the world, fostering strong feelings of disconnection, isolation, and anxiety. Being students ourselves, we recognize this issue and the lack of engagement and interaction that consequently ensues. But we also see the solution; and it all starts with assisting teachers and educators in effectively supporting their students through these challenging times. Our application, EduTracker, allows teachers to identify and track key metrics pertaining to students and their engagement during online classes.
What it does
EduTracker provides teachers with an interface to upload transcripts of online classes/lectures (whether it be via Zoom or Google Meet), after which it will extrapolate and sort informative, powerful data for each student. This includes overall word count, duration of speaking, number of questions asked, responsiveness (how many of the teacher’s questions the student responded to, as a percentage), as well as key phrases/topics that the student spoke about. This gives the teacher a solid understanding of how well each of their students are staying engaged throughout class. The teacher can then also reach out to students who are consistently unengaged in class, and have an open discussion with them about how they’re doing and ways that the teacher can support them better. Furthermore, this tool can greatly assist teachers in calculating aspects such as learning skills, in the creation of report cards.
How we built it
This project leverages multiple technologies to help teachers analyze data regarding their students. The technologies we used are listed below:
Microsoft Azure: Web services were unfamiliar to everyone on the team. Nevertheless, this hackathon gave us a good opportunity to learn how to use Microsoft Azure to identify key phrases from a class recording transcript. We use the key phrases obtained from Microsoft Azure to remind the teacher of how each student contributed to the class when preparing grades.
NodeJS: To upload transcripts and to get student data we used NodeJS. The frontend communicates with our NodeJS backend to upload the transcript file to be analyzed for student participation and then request those statistics from the teacher's portal.
HTML/CSS/JS: To build our frontend we used the classic trio of web development.
Challenges we ran into
1) Microsoft Azure was giving us trouble when we tried to use it's speech to text services. It turns out we needed to specify how our .wav file was 44kHz stereo. After implementing the fix in the code, our team burst into celebration when we saw the spoken words print in the terminal.
2) Printing out the key phrases after they were returned from the Microsoft servers was a little bumpy. We didn’t realize that the calls to the Microsoft servers were asynchronous so we weren’t awaiting for their completion so our array with the key phrases was empty. Once we noticed that we had to wait for the Microsoft Azure functions to complete we added the ‘await’ keyword and our array filled up like we wanted it to.
Accomplishments that we're proud of
Putting a product like this together in less than 36 hours is something worthy of being proud of. Our idea is solid and our implementation (considering the time limit) is solid. We are most proud of everything we learned and taught each other.
What we learned
Not only did we learn a lot from the documentation we had to sift through, we learned much more from each other. We learned how to put together a NodeJS web application, create a REST API for our web application, how to send a file to Microsoft servers to be transcribed, and how to extract key phrases from text with Microsoft Azure. And that’s only from working on this project. We’ve learned a great deal from the workshops hosted at this hackathon too! From soft skills to technical skills, we learned how to negotiate literally anything on a job offer to deploying our own smart contracts on the Ethereum blockchain.
What's next for EduTracker
In the future, we hope to build on what we made with EduTracker by developing a larger sample size of data so that we can display graphs of student participation statistics over time, rather than as a plain average. We would also keep building on the aesthetics of the website, trying to find new ways to make it more appealing to the user. In the long term, once we finish adding to EduTracker and perfecting it, we hope to present it to various education officials and teachers to ensure that this is something impactful in the education sector.