Google Summer of Code’16 with Oppia

- 6 mins

Every year, Google invites open source projects from various organizations so that students across the globe can contribute to them as a part of Google Summer of Code program. I was fortunate enough to be a part of GSoC-16 under the organization Oppia. Before I go on and detail my journey, let me tell you something about myself: I am Avijit Gupta, a Computer Science undergraduate who loves to contribute to Open Source. I primarily like to work on Frontend related technologies.

My journey with Oppia began as a contributor within the first few days after the announcement of selected organizations in GSoC this year.

About the Project:

Oppia is a community of learners and teachers to help anyone learn anything they want in an effective and enjoyable way. Being a community based on education, it’s absolutely important that the quality of content is not compromised at any cost. Content being the primary focus leads us all to believe that content creators play a pivotal role in the learning pipeline. The learning experience can be better enhanced with improvements in the so-called “explorations” (lessons) created. To accomplish this, the creator must be made aware of the current state of his/her exploration(s), so that each step forward is towards the improvement of the quality of content.

The project “Creator Dashboard” aimed at implementing a dashboard that allows lesson creators to see common statistics like total plays, average rating, common student misconceptions, and student-submitted feedback for the lessons they own – and to make it easy for creators to take action on this information.

Revamping the existing “Creator Dashboard” aimed at implementing a dashboard with the following goals:

  1. Allow lesson creators to see common statistics like total plays, average rating, common student misconceptions, and student-submitted feedback for the lessons they own – and to make it easy for creators to take action on this information.

  2. Prioritize the explorations in the dashboard which need action, decided on the basis of different parameters like number of new feedback and number of unresolved answers.

Final Work:

Markdowm Image

The new dashboard page allows creators to view their explorations in either the default view as shown above (card view) or in a tabular format (list view). Users can switch to the list view to see a more informative version of the dashboard.

The statistics shown in the top white row are values calculated across all the explorations of a user. In the default card view, explorations may be clicked on to open up a dropdown which provides statistics for that exploration. However, if the exploration is private then the user will be taken directly to the editor. The explorations can be sorted using the select dropdown and even by clicking on the table headers in the list view. In order to ease the process of popularizing the content created, there are options in the dashboard to share explorations on popular social media platforms like Google+, Facebook, and Twitter. Lastly, to provide an equally appealing experience for the users browsing the dashboard through mobile devices, care was taken to ensure the new dashboard be almost as well equipped as it’s desktop version. Here’s how it looks on smaller screens:

Markdowm Image


Weekly progress logs:

Week #1:
Week #2:
Week #3:
Week #4:
Week #5:
Week #6:
Week #7:
Week #8:
Week #9:
Week #10:
Week #11:
Week #12:
Week #13:

Future of the Project:


Conclusions:

To conclude, I would like to thank Google for enabling students to participate in open source development through GSoC, the whole of Oppia community for accepting my project proposal and letting me embark on this fantastic adventure, and most importantly my mentors - Sean Lip, Xinyu Wu and Allan Zhou for being there to help me.

Well, during this 3 months of GSoC, I learn a lot. I did the best that I could do with my knowledge and help from the community. And though I can say that most of my work is concluded, there’s still a PR left unmerged, a few ongoing PRs involving work unrelated to GSoC and some more code I’ve promised to write. And I’m happy to do that!


rss facebook twitter github youtube mail spotify instagram linkedin google pinterest medium vimeo