My son was my inspiration and helped with the actual development of this project.
Education is all about access to information. With alexa, we can learn through voice, as if we were talking to another person. This enables us to get information in a way that is much more natural to most people. I wanted to extend this to vital information that students require on a daily basis: their homework. With more and more schools posting homework digitally, students don't know their homework until they sit down at their computer and start to work on it. This makes it difficult for them to properly manage their time. Assignment assistant solves this problem by making it easy and intuitive to check your homework at any time, regardless of what else you are doing.
Assignment Assistant has a number of different functions. It integrates with google classroom in order to bring you information including (but not limited to)
Which classes have homework which is due soon
What homework you have for a specific class
Due dates and specific details about each assignment
This allows busy students to be able to check their homework even when they are otherwise occupied and aren't sitting at a computer. Being able to check your homework earlier in turn allows them to better manage their time and think about their homework in the back of their mind while they complete other tasks, thus helping them fight procrastination.
Assignment Assistant was built with a number of different of different components. First, I built the seamless voice interface with which users interact directly in order to guarantee that however users phrased their request, assignment assistant would fulfill it. The next step was to build the Google Classroom integration, allowing Assignment Assistant to fetch information about your classes. This information had to be stored somewhere, so I used DynamoDB to take care of user accounts and homework information. In addition to the database, I created the website www.assignmentassistant.net to allow first time users to create an account.
One of the challenges I encountered was how to gather information about classes with nonstandard names. Since my algorithm initially just accessed the class with the exact name, issues would occur if you asked for your Bio homework for a class named Biology. This led me to instead use a closest match algorithm to determine which class most closely matched what the user inputted. Now, regardless of what abbreviations you use, assignment assistant will immediately tell you your homework.
Assembling all the different parts of assignment assistant into a simple coherent piece of software was no easy task. But in the end, I am proud to say that assignment assistant is one of the smoothest and most intuitive skills I've ever used. When using assignment assistant, it really feels like you are talking to a classmate about your homework, except that assignment assistant never gets it wrong.
Working on assignment assistant taught me a lot about how alexa works and its vast capabilities. Building with alexa was surprisingly straightforward (even when it came to a fairly complicated voice interfaces) and I plan on continuing to use the skills I have developed with alexa to develop more skills!
I'd love to expand assignment assistant to other platforms aside google classroom in order to provide all students with access to assignment assistant, regardless of what particular system their school uses. I could also add special features such as reminders or tips as students complete their homework, helping them through the entire process of completing their work.
Thank you for looking at assignment assistant, I hope you find it interesting!