GSoC 2023: Join the Processing Foundation as a Summer of Code Contributor!

Hi Jithin!

Thank you so much for taking the time to provide feedback! As you mentioned, I’m looking forward to drawing upon my teaching experience. Also, @jesi-rgb is actually working with me on the proposal now, which I’m super excited about!

We have complementary skill sets, and actually, we’re both YouTubers. My main personal motivation for developing this library is that I need it in order to start uploading again to my YouTube channel Higher Math Notes. I want it to be easy for beginners so that the learners watching my channel can use it too, and this will also make it easy for other creators to use.

We’ve also met with a couple of leaders in the science community, to learn more about their needs. They run initiatives that aim to incorporate p5.js into math and science courses at secondary and post-secondary institutions.

I totally agree that the first priority is to develop a list of features and to determine whether we can build on existing work like p5.teach. We’re working on that now, and I’m hoping to set up a meeting with @two.ticks once we have more precise design specs; I’m sure there’s a lot we can learn from each other.

Since you asked, I’m happy to share the library I built! Here’s the library and demo. Alongside the demo, you’ll see code for the library and the demo scenes, all in one file. Inline documentation is included.

Caveats:

  • The demo is pixelated in Firefox for some reason. It works in Chrome and Edge.
  • I wrote it in ProcessingJS years ago, on the Khan Academy platform.
  • I wasn’t able to use modern JavaScript or MathJax/KaTeX.
  • I used a design that’s simple for new programmers (no object-oriented constructs).
  • For the p5.js library I’m proposing, we’d use modern design patterns.

I originally named the library visualODE, since the functionality was geared toward ODEs (ordinary differential equations), which are a standard part of the curriculum for most math and engineering majors. However, as it turns out, the library was useful for a range of subjects. Here are some additional animations and interactives I made with my ProcessingJS library:

And here are some prototypes I’ve made in p5.js with features we may want to incorporate:

Thanks again for your feedback! If you have any other suggestions or would like to talk more, please let me know!

Best,
Greg

3 Likes