We are about to switch to a new forum software. Until then we have removed the registration on this forum.
I'm Rafael, a second-year Biomedical Engineering student from Instituto Superior Técnico in Lisbon.
Motivation: I, as many more people, am just a self-thought coder that tries to take the most fun out of it! I still remember the first steps I took towards the great adventure that is coding almost eight years ago! A small chat with a cousin woke my interest and on that same day I installed PascalZim and started trying out things. It wasn’t easy at the beginning. But I know for a fact that without all the examples that came with the IDE I would have just surrendered and had never known this amazing world! That’s why I don’t think Examples are less valuable than Tools or Libraries! They're as important! Because of that, I wanted to create some example set as my first GSoC participation. Two years ago I was a participant at IOI'15 so I had to learn a bunch of new efficient algorithms. I spent 2/3 months learning them and I want to share the fun I felt while doing so.
Project idea: After some thought, I came up with the idea of creating a set of Examples explaining, in a fun way, some of the most fundamental and interesting algorithms that exist and that rule the virtual world nowadays, from game development to social networks analysis.
Algorithms such as: Graph related algorithms (BFS, DFS, radius calculus, ...); Sorting algorithms (the main ones); Pattern searching (text patterns, ...); Geometry algorithms (graham scan for convex hull, sweep line for lines intersection, ...); And so on... there are plenty of exciting algorithms to teach!
Extra touch: Besides writing well documented, light and clean examples about very specific algorithms I also had the idea of creating animations as part of the examples. Sometimes people that are new to coding feel demotivated because they can't see the product of what they've been doing. The code is somehow working under a giant black veil. Other times people just need to visualize what's happening to fully understand the concept of the algorithm. Quick example: John is a new adept of coding and after some weeks he's trying to learn how Depth First Search works. After learning the concepts related to the algorithm (graphs, queues, ...) wouldn't it be great to see a graph being traversed? Certainly! I'll apply this concept to every example created!
Please, could someone give me feedback about the idea! How could I improve it? What could I add? Thx in advance :D
P.S.: Hi @shiffman, not sure you're going to read this but since you've been answering to some other people I don't mind taking a chance. Just wanted to thank you for your extraordinary work! I've been using Processing (initially as a complement to Arduino) for probably 2/3 years now. Although only recently I've come to know who "Daniel Shiffman" is (through The Coding Train youtube channel), I've been using stuff that you created to expand my knowledge ever since I started programming on Processing as many of your Examples or your book Code of Nature (this one was really amazing)! Also, your online tutorials are awesome, really! Continue the great work and keep inspiring more people!