Data Structures for non developers, GSOC 2020

I’m Pedro, an software engineer student from Brazil, I’m also really in art. I’ve been thinking of of developing an interactive guide to Data Structures using p5.js. The objective is to teach data structures in the simplest way possible so that everyone, developer or not, could learn how to use them. My idea was to explain what is each data structure, using an interactive canvas, so that it becomes easy to visualize what’s the difference between them and show examples of how each data structure could be used in your sketch.
I would really like to know your thoughts about this project.

  • Do you think this would help people?
  • Do you think there would be better ways of achieving this?
  • Do you think it is a good project for GSOC?
  • Any other thing you would like to add?

Thanks for sharing this idea!

What kinds of data structures do you have in mind, specifically, and would there be a sequence / priority?

Given that p5.js is JavaScript, would you be focusing on “JavaScript data structures”, or trying to teach a simulation of general data structure principles in JavaScript? I ask because JavaScript has some pretty specific limitations on primitive data structures.

Would it be based on sequences / example sets that already exists in JavaScript, and porting them into interactive p5.js sketches? e.g.

I was thinking about focusing on introducing general data structure principles, focusing on how to use them and why would you use it by making a really begginer’s introduction to it. I was thinking about starting with, Arrays, Linked Lists, Doubly Linked Lists, Stacks, Queues and Priority Queues since they are simpler.
I was thinking that each one could have a page that explains their principles and have a interactive p5.js sketch, to make it easy to visualize how they work and then having at least one example with an explanation and a sketch of an application of that data structure.


Hi @phe0 I wonder in the Dynamic Learning, an older GSoC, project might help with this project idea.


I think this could be a very interesting project. @Jithin, the lead developer of Dynamic Learning, was also thinking about data structures and creative coding recently (see below).


sorry, what project? This link sends me to the internationalization documentation