This summer was the Processing Foundation’s seventh year participating in Google Summer of Code. We received 112 applications, a significant increase from previous years, and were able to offer 16 positions. Over the next few weeks, we’ll be posting articles written by some of the GSoC students, explaining their projects in detail. The series will conclude with a wrap-up post of all the work done by this year’s cohort.
When I was in 8th grade, I stumbled upon an amazing documentary on the Discovery channel called Into The Universe With Stephen Hawking: The Story of Everything. It completely altered my perception of the world we live in. It made me realize how wonderful and mysterious our universe is. I started admiring the people who’ve strived to shed light upon its mysteries: the scientists. I wanted to become one, but life took a different turn. I couldn’t fulfill this wish because of the problems I faced in assimilating the knowledge of science and math in school. Eventually, I pursued a career in computer science.
I have always wanted to do something to help students who were like me, those who loved science but faced difficulties learning. I found out that interactive visualizations can significantly enhance the comprehension of STEM subject concepts, because they make complex concepts visual and interactive. There are plenty of lessons available on the web, which use interactive visualizations, that beautifully illustrate how various STEM subject concepts work. However, the problem is that not only are most of them scattered across the web, but few of them let you see the source code for yourself, to experiment in creating your own modified versions of the simulations.
So I changed my plan. I decided to create an environment in which teachers and creative coders can collaborate on creating lessons that would include interactive visualizations. With the help of my friend, Anupam Asok, I started working and developed a web app called Dynamic Learning, which was accepted into Google Summer of Code 2018, under Processing Foundation.
Here are the core features we hoped to include in the app:
1) Teachers are able to create, save, present, and share lessons which make use of interactive visualizations;
2) Teachers are able to collaborate with creative coders to produce new simulations;
3) Students are able to use the interactive visualizations simultaneously as they watch video lessons.
These features were implemented with the help of the functionalities in the app listed below.
I decided to integrate the online p5 text editor project into Dynamic Learning, because it allows you to prepare your simulations in the online text editor and import them into Dynamic Learning using the iframe share feature. One of the coolest things about this is that if a user wants to see the code of a simulation, they can immediately view it and even edit it in the online text editor.
Additionally, if a teacher wants to illustrate a feature which is not in a simulation, with a single click, they can move to the online text editor and create their own modified version of the simulation, which can be used in the lesson plan.
Creating dynamic lessons
Students can use the simulations at the same time they view the tutorials. This is done by splitting the screen. On one side we have the video tutorial, and on the other, the interactive visualizations. This feature gives the students the ability to experiment with the simulations and gain more insight about different cases that have not been discussed in the lesson. The students can also see the code of the simulation and experiment with it to further their understanding of the system under study.
The collaboration of teachers and creative coders
Teachers can create forum posts requesting new simulations or modifications to existing simulations. These requests will be visible to the other users, and if they want to, they can participate in the discussions and help the teachers to create or modify simulations.
Please note that the above two features (dynamic lessons and collaboration) have not been fully implemented yet. They are still under development.
Organizing lesson plans, lessons, and simulations
The app helps you to neatly organize the contents by creating nested file structures.
The main objective for our participation in GSoC 2018 was to lay down a basic structure of the app, to act as a foundation for future developments, and to introduce the idea to teachers and future contributors. I’m happy that the project has had an excellent head start because of the guidance from the Processing Foundation and the creators of p5. I’m now looking forward to continuing the development, in particular by improving the overall user experience and design of the application by sharing it with teachers and hearing their feedback.
I’d like to thank my mentor Saber Khan, my friend Anupam Asok, and Cassie Tarakajian, Lauren McCarthy, Daniel Shiffman, Casey Reas, who have helped me. If you are interested in contributing to the project or giving any sort of suggestions, feel free to contact me.
My email is firstname.lastname@example.org
Web app — http://dynamiclearning.io
Github repo — https://github.com/JithinKS97/dynamic-learning-app
If you are a teacher, please set aside a few minutes to fill out this questionnaire, which would help me improve the app.