Our team leader was an Economics teacher, who felt classrooms were in need for some innovation. Nowadays teachers have several classes to teach at the same time, each with a considerable number of students. It’s a lot of students, with totally different needs and tastes, to care for. The solution? Hire more teachers and reduce the number of students per class. End of the pitch.

   Our solution? Using technology to facilitate the personalisation of tasks given to the students by the professors. Bringing technology to classrooms and using applications to create flashcards or questionnaires is no novelty, and there are a lot of great products out there. Yet, ours offers something unique, by allowing the professors to adapt the tasks assigned to the students at an individual level. In this way, the professor can give extra questions on a previous topic which is still not well captured by some of the students or provide extra material to students particularly interested on a subject. The idea didn’t end here. By monitoring the progress of the students and showcasing it in easy-to-read infographics, a more advanced version of the platform would also help the professors to be more aware of the level of his class and apply that knowledge to the planning of the class. A smarter future version would even give suggestions on how to personalize the homework for certain students. Yet, the professor would always have to accept these suggestions, and nothing would be done automatically in the backstage, as pedagogy is a complex subject that humans still have to fully unveil. The whole idea was far too much sand for four students to tackle in a two weeks project. So what does the website actually do in the end?

   The website functionality depends on whether the user has an account as a teacher or a student. As a teacher, one can select the subjects they teach and create topics within that subject, to then create flashcards to those different topics. After creating a flashcard set, you can assign it as homework to your students. This is the point when personalization comes into play: you can add, edit or remove flashcards for specific students. Once a student has submitted their homework, you will receive a notification and you can then read your student’s answer and provide feedback. As a student, you can join a class and, of course, do your homework! You will receive a notification every time a professor sets homework or provides feedback to some of your work. You can watch our presentation at our batch’s demo day in this video.

   We learned how to work as a team during our first project, Top Shots, and this time around we implemented some simple good practices which improved things a lot, the most important being changing our repository on Github settings so that we could not merge our code without someone else’s approval. So basic. So simple. But not everyone does that in their second project, I can tell you that. With this simple measure, we were more aware of the code the other members had written, which sometimes had different solutions to similar problems we had faced, and sometimes allowed us to spot and correct mistakes.

   The first big challenge we faced was the creation of our database schema. For some time we wondered if we should create two separate user tables, one for those signing up as teachers, the other for the students. Eventually we figured out the easiest way would be to have a table for users, one for teachers and another for students. Depending on which option a person chose while registering, different information would be passed to devise (the Ruby gem we used for managing logins) user’s controller, which would then either pass it on to the teacher’s or student’s controller. Another issue which demanded for proper brainstorming was how to deal with the flashcard’s personalization. We decided to have the base flashcard and flashcards set as completely different models from student’s flashcard and student’s flashcard set. Every time a teacher uses a flashcard set to create a homework, a student’s flashcard is created for each flashcard per student, even if the flashcard is not personalized for that student. I was involved in the different steps of the project, with a bigger focus on the back-end. We learned a lot by doing throughout this project, and developed ourselves while developing this website, which still has space to grow. And so do we.

Continue exploring my projects