Discourse Topic Organizer

HBCSE, Mumbai | May - July 2019

The Homi Bhabha Centre for Science Education

I spent the summer of 2019 interning at the Gnowledge Lab of the prestigious Homi Bhabha Centre for Science Education, a national centre of the Tata Institute of Fundamental Research, under the tutelage of Dr. Nagarjuna G.
During my internship I was part of a 4 member team making a plugin for the STEMGames platform designed by the Gnowledge lab team, built on Discourse.

STEMGames

STEMGames was conceived with the idea of an experiential pedagogy towards science education, backed by the ideals and experience of Dr. Nagarjuna in the same field.
STEMGames seeks to inculcate "STEM habits" and a lasting avidity for scientific knowledge while achieving meaningful creations made by the participants themselves.
STEMGames will serve as a great platform connecting mentors and students all over the country. It will also create a very good knowledge network in terms of both content and people. This is where my plugin comes into the picture. The plugin, in it's broadest essence, seeks to strengthen the knowledge network that STEMGames seeks to create. My plugin will provide an interface for the platform admins and staff to link topics to other existing topics in such a way as to create a chain of content. One can imagine how this could prove to be useful in a platform with educational content. For instance, a topic on Cryptography could be linked to another topic on Number Theory as a prerequisite. This would encourage the user to read up on Number Theory in the topic linked and then come back to Cryptography. In essence, this will allow the education process to be streamlined and, moreover, it will enable STEMGames (and Discourse) to be used as a Learning Management System.

The plugin: Topic Organizer

The Topic Organizer plugin places an additional button in the topic admin menu which opens up a form with a search bar to search for topics to link to the current topic from which the plugin is being used. After the desired topics have been searched an selected, a submit button on being clicked will add the topics to a postgres DB. Subsequently, every time a topic page is opened which has other topics linked to it, the data is fetched from the DB, parsed and the appropriate hyperlinks to the linked topics are displayed in a widget space created below the current topic title. Thus, this will enable STEMGames users to navigate the platform with ease and in a manner curated by the subject matter experts to ensure a structured learning experience.

Tools used

  • Docker
  • Ruby on Rails
  • Ember.js
  • CSS
  • Handlebars (as a templating tool)
  • In conclusion...

    This was a new and enriching experience for me. I have never worked in the field of web development before and there were a lot of new things I had to learn before I could get started on making the plugin along with my team. For instance, the languages. I have never worked with Ruby on Rails or JavaScript before.
    I might also add that it was challenging at times, frustrating even. But therein lies the beauty that I have come to associate with the process of software development. It has it's ups and downs, but one has to learn to battle through it and push forward. And in the process I accessed a wealth of knowledge and was able to learn a lot from my mentors and my teammates.
    And on that note, I'd like to thank Dr. Nagarjuna G. for giving me the opportunity to work on this project. Mr. Siddhu Dhangar, for for being an able and helpful mentor. And lastly, my teammates, for sharing the workload of this project with me and for teaching me new things.
    This experience has been quite holistic. I have also learnt a great deal about what this prestigious institution stands for. Science Education. And I am glad to have had a hand in bettering the process and in doing so, a service to society.


    Check it out