We were inspired to create Viral Learning from our experiences with the secondary school hybrid learning model - two subjects, 4 quadmesters, half of the week online learning and the other half in school, each class separated into two cohorts with opposite schedules. We noticed a number of problems from both the teacher and student perspectives that made this learning model particularly difficult:
a) Teachers are not well equipped with handling online learning due to their lack of familiarity with technology. Students spend too much time studying and can lose track of some important things.
→ Teachers generally aren’t good with technology, which when adding many different new platforms to learn, it is counter productive
→ Increase in summative assignments makes me lose track of where I should be with other courses as I have to spend a lot of time studying
→ Lack of knowledge to be able to create lessons online (video recording, uploading)
→ Lack of community aspect, people will generally stick to the friend groups they have formed already and don’t get chances to socialize with others, many friend groups have been split up because of the 15 person limit
b) There is a large gap between in-person normal learning and online learning
→ Delay in communication between students and teachers (teachers can be spam emailed)
→ Student to student collaboration is hindered because of social distancing rules and there is no alternate platform that is intuitive for online student to student collaboration
→ Teachers have difficulty planning for two cohorts to be learning at the same pace
→ Classes are much less stimulating online
→ Lack of “class” participation (e.g. just teacher talking or one person responding)
→ No environment to connect with new friends
When we thought about what we could do to solve these problems we were having, we came up with the idea of creating a third party distance learning communication platform - compatible with Google Classroom and Brightspace- for teachers and students. We wanted to make sure to solve the main problems of a)long delays in communication with teachers online and b) enable students to form study groups on a dedicated education communication platform to improve collaboration and productivity.
What it does
Viral Learning is an web-based ticket-response and instant messaging service built with Node.js that allows students to create topic-specific “tickets” to ask questions to their teachers. Students will see all of their classes on the side and clicking on each class shows them their active “tickets” and group chats for that class.
Ticket Creation and Response
Instead of unfocused e-mails, students can now send tickets asking about specific material to teachers. Students can easily keep track of which questions they’ve asked about on their ticket dashboard to prevent duplicate questions. To prevent teachers losing questions due to clutter, each ticket they receive is sorted by class, subject and material. Teachers simply need to open up a class to see, at a glance, every question that’s been asked in that class and even the material that the question refers to, all in one place. This is made possible by sorting each ticket object into various nested keys in the backend (show example). This streamlines the answering process by filtering the messages based on content, preventing teachers from having to continually refer back and forth between different materials for each question. The teacher can also choose to respond to all tickets of one type with one response if he/she feels that their response fits all of the questions. To ensure that tickets are always resolved quickly and not forgotten about, a notification will be sent to the teacher outlining all unanswered tickets that are more than two days old.
Group Chat Creation and Management
Students will also be able to create group chats with their peers to collaborate on projects or ask for help with the help of socket.io. From comparing notes to working on group assignments, these chatrooms not only allow students to get in touch with classmates who they otherwise cannot contact, it also keeps conversations only relevant to them separate from the rest of the chat, both for the comfort of the students in the chat and in order to not disturb the other students in the rest of the class.
How we built it
We first built out a ticketing system with tags for assignment specific questions to teachers. These tickets, as well as their current group chats are displayed on their dashboard. These tickets are organized for the teacher to reply easily by sorting each ticket based on the tags that the student places on the question. This streamlines the answering process by filtering the messages based on content, preventing teachers from having to continually answer the same questions and refer back and forth between different materials for each question. Students can also create study groups with classmates to collaborate, and discuss solutions - this was created using socket.io. The entire platform was built using HTML, CSS, and node.js.
Challenges we ran into
We had a lot of features that we would've wanted to implement but because of the time limit of the hackathon we weren't able to. These features included:
Creating a video lesson tutorial for new users with templates to create video lessons
A productivity dashboard for students - classes, lesson times, work, etc...
A teacher planning dashboard - content, classes, lesson times...
Better visualization for scheduling lessons to keep cohorts in line
Push notifications for teachers (teachers get notified of student q’s and reminded to answer them after a given time frame)
Learning new languages was another challenge that we all worked through and helped each other with. Previously Ben had never coded a website in HTML and CSS before and this was his first project and hackathon, Johnny was unfamiliar with syntax for node.js and using git. Matt also was unfamiliar with syntax for node.js and using git. We had difficulty in coming up with a design for the website since this was a learning process for everyone, there wasn't a lot focus that was able to be dedicated for the UI/UX.
Accomplishments that we're proud of
Being able to push out our MVP and completing our first hackathon! Also proud of ourselves for not relying on any crutches -- everything was coded by us :)
What we learned
We were all able to learn a new language and figure out how to work together well :D
What's next for Viral Learning
We plan on revamping the dashboard for students so that they can plan and see deadlines on a calendar. We also plan on introducing a similar feature to teachers so they can plan for their different classes to progress at the same pace. Furthermore, the filtering system for student questions could be improved by using NLP to assist in grouping questions. Finally we plan on making the software with already existing platforms (Google Classroom, Brightspace) and prettying up the UI/UX.