GSoC 2015: Additional Educational Libraries

Skip to first unread message

Al Mo

Mar 24, 2015, 6:47:09 PM3/24/15

I was reviewing your GSoC 2015 Ideas and found out this one.

I happen to know NodeJS and HTML/Javascript very well, while at the same time, I have plenty of experience doing things with Processing and p5.js (also, D3, Paper, Raphael and other similar ones). Perhaps I can be of help for that project.

I'd like to ask you more specific details about what do you expect. Regarding processing, for instance:

Do you expect PencilCode to be able to load a p5.js canvas and implement blocks for doing many of the things p5.js already does?

or to use p5.js as another front-end for already existing PencilCode logic? (draw the turtle and make it behave the same, but on a p5.js canvas).


David Bau

Mar 24, 2015, 7:41:05 PM3/24/15
to Al Mo, pencilcode-development
The "additional libraries" idea is open-ended, and you would need to scope the ideas as part of the project proposal.

Here are a few questions to think about:

- Programming model questions for the common libraries, for example:
  * Can you use p5 at the same time as a turtle library?  Would they draw on the same canvas?
  * Right now we have checkboxes on a "gear menu" to pick libraries.  Is that the right model as we generalize to other libraries?
  * Alternatively, we should consider adding "ES6-import"-style features to coffeescript?
  * There are lots of library idioms - like require.js; ES6 libraries; etc.  Can students use all of them?
- Questions about how UX should work when adding additional libraries.  For example:
  * if a student selects both the turtle library and p5, should it include block palettes for both libraries?
  * how should students discover, choose, and add a new library?  A finite choice or choose from a large set?
  * how about new students?  should students be able to go into a "mode" where they use certain libraries by default?
  * how do we keep it from being confusing?  If you're using a different library, how do you know?
- Infrastructure issues.
  * Do libraries need to be refactored to generalize pencilcode beyond the turtle?
  * What to do about dependencies between libraries, everybody using jquery, coffeescript, etc.?
  * How can teachers package up lessons that use other libraries?


You received this message because you are subscribed to the Google Groups "pencilcode-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To post to this group, send email to
For more options, visit

Reply all
Reply to author
0 new messages