Hi i have a question related this topic.
which one of these 2 tools would you recommend for educational porposes for high school 15/18 years old students.
I think that p5j could be easier but i’m afraid there is not real language.
what is your experience?
Thanks in advance
Hi i have a question related this topic.
The library p5js is a flavor of Processing targeting the JS language.
Processing’s flavor p5*js got the biggest upper hand b/c it runs inside browsers.
Although if we use just the bare Processing API we can deploy sketches coded on its Java Mode to run on a browser too via Pjs (which is another flavor targeting JS btW).
The strongest advantage Processing’s Java Mode main flavor got is debugging.
Debugging in JS is much harder than debugging in Java.
My preference for teaching is Python Mode for Processing (Processing.py). Python is an excellent language for anybody learning to write code for the first time. It reads more like English, and you can avoid having to explain smaller details (syntax, strict types, etc.) that are important in other languages.
But – you’re likely to get different recommendations depending on who you ask. Any Processing variant works well for educational purposes; you’ll have to determine what best suits your students and particular learning objectives.
I plan to teach creative coding in one of my high school CS classes using Trinket. They let you run a variant of Python Mode for Processing in the browser, so maybe the best of all worlds. Their free tier is solid.
Here is an example sketch.
I’ve thought about mimicking their approach to wrapping Processing.js (which is archived) so that I can teach with Python + p5.js moving forward. Curious if that would be of use to anyone else.
def setup(): createCanvas(500, 500) def draw(): square(50, 50, 50) ...
There’s no full-featured editor yet (for saving sketches, a debugger, etc.). Early days. But exciting to see!
Whoaa this is awesome! p5.js with NumPy and friends is a dream for my math classes.
This is great! I particularly liked the repl.it version. I had to use the browser console to view
print() lines in Glitch? Please let me know how it goes with the students.
Hi everyone! Thanks for mentioning and experimenting with pyp5js! For me it’s really an honor to know the project is being used and handful to other people.
As the project’s creator I know I’m a suspicious person to talk about it, but pyp5js future with pyodide support looks promising. @villares has been very helpful testing this demo and making sure that it works. We’ve already tracked down a few bugs that will be fixed after the final pyodide support implementation.
You can follow this PR to keep update about this new feature. Today we’ll have an open sprint with a few friends from DojoRio (Rio de Janeiro’s local Coding Dojo community group) to keep on with this work. We’ll be online in this Discord server.
I decided to tinker with an editor for pyp5js today and… several cups of coffee later… got a slightly modified version of the p5.js Web Editor running at https://editor.computiful.org.
Here is my fork with the changes. I haven’t enabled all functionality yet (i.e., no Google/GitHub login or media uploads). Also need to open an issue about updating the Heroku deploy process to use MongoDB Atlas.
What do y’all think about a Python Mode for the p5.js Web Editor?
that would be wonderful!
- Can easily run on a browser, no setup or wrappers required like is needed for Python.
- Great tools like https://mathjs.org/ https://d3js.org/ https://www.chartjs.org/ that easily integrate
Well aware Python could be considered more beginner-friendly so keen to hear challenges to my points above.
- inconsistent behavior for the beginner, much of it related to implicit type conversion
- too many silent errors, harder to debug than Python (maybe I’m not skilled enough to use it?)
Caveat: I’m also probably biased by my teaching interests and communities that I interact with. For Architecture, Digital Fabrication, Type Design, there are many tools with Python built in, few with JS, as I tentatively tried to map on this 2017 paper: Python on the Landscape of Programming Tools for Design and Architectural Education
Really good and fair points. It’s awesome that you have published a research paper looking at the Python ecosystem for education.