p5play Case Study: MIT, The Educational Justice Institute
p5play is being used in a volunteer initiative to introduce adult incarcerated students to coding!
Hi I’m Quinton Ashley, creator of p5play v3 and the upcoming q5.js v3 (currently in beta).
In addition to my usual development logs, I’m starting a new series of interviews with people who are using p5play in inspiring ways.
Today let’s hear from Karishma Chadha and Andrew Fishberg!
Karishma is a graduate student in the Lifelong Kindergarten research group at the MIT Media Lab. She also worked on Scratch.
Andrew is a graduate student in the MIT AeroAstro department.
QA: How do you plan to use p5play?
KC: We’re going to use p5play in a volunteer initiative to introduce adult incarcerated students to coding through 2D video game development.
QA: That’s awesome! How did you start teaching incarcerated students?
AF: About three years ago I started teaching through The Educational Justice Institute (TEJI) at MIT. Needless to say, it’s a great mission and you can really feel the impact you’re having in the classroom.
KC: I started collaborating with Andrew and a few other friends last October on adapting the materials for this course to a virtual teaching environment.
QA: What sparked your interest in p5play?
AF: The ultimate goal of this class is to get our students excited about taking an introductory coding class, and we chose to do that through 2D arcade-style video games, since they invite a visual and exciting way to introduce coding!
I’ve taught several versions of this class in the past and have tried different software environments each time: Game Maker Studio, Pygame, Unity, Processing, p5js, etc. They’re all great development environments, but they weren’t quite the right fit for our unique classroom circumstances.
Teaching in incarcerated classrooms presents a lot of unique challenges, and p5play seems to strike a balance between our practical goals and logistical constraints.
QA: Karishma, you mentioned that you worked on Scratch. Did you consider trying it out for these classes?
KC: Scratch is a really wonderful resource designed to support young people in expressing themselves through creative projects, and it’s a project that’s really close to my heart.
However, it currently only supports saving and sharing projects on the web through the online community, and communication platforms like this are often a non-starter in correctional facilities.
Working with adult learners, we also wanted to be conscious that introducing a tool designed for a younger audience could potentially end up being demotivating when they encounter the natural challenges that come up when learning to code for the first time.
QA: Yeah Scratch is great for a younger audience, but I felt that p5play could be used by a broader range of students: from middle school to college and beyond. Making it appealing to users of all ages was something I put a lot of thought into.
I’ve also recently removed the phrase “easy to learn” from p5play.org because if students start thinking “dang, this is supposed to be easy” that can be demotivating when they inevitable face some learning challenges. Now it says “designed to be beginner friendly”.
How’d it go with Unity?
KC: Unity offers many advanced features that are essential for professional development. However, these same tools can be overwhelming for students when learning to code for the first time.
Our students have varying levels of comfort and prior experience with computers, so navigating Unity’s complex UI and context-switching between Zoom and Unity was overwhelming.
AF: We also faced resource constraints working with the computers these facilities have, which don’t meet Unity’s ideal system requirements. When learning something new and challenging, nothing is more frustrating than laggy and unresponsive development experience constantly interrupting your flow. Unsurprisingly, a development environment that provides more immediate feedback is better for fluid teaching and rapid exploration.
QA: What about Game Maker Studio, with its “no-code” drag-and-drop approach?
AF: Learners in this context are highly motivated to build marketable skills that may lead to finding jobs or pursuing further studies post-release. While Game Maker Studio is an awesome tool, its custom scripting language is just for making games. p5play enables students to gain experience with JavaScript, which is widely used in a variety of applications beyond just games: websites, servers, apps, etc.
QA: So what happened with Pygame? Python is a widely used general language.
AF: We also tried PyGame, but Python’s handling of whitespace can be confusing and frustrating for beginners. Installing any binaries on facility computers often requires additional approval and assistance from the IT staff at each facility. Additionally, many facilities share computers between students. Students sometimes had to wait 15 minutes on a TA to help them fix Python packages that got deleted or modified by someone else.
The fact that p5play can be used entirely in the browser is ideal. Every computer already has a web browser and unblocking a single domain is understandably a much smaller logistical lift than getting approval to install a bunch of executables. We’ve been trying to make it as easy as possible for the IT staff to give our students access to the class materials.
QA: Sounds like p5play might be the perfect fit!
KC: Yes and I’ve also been a longtime fan of p5.js. We tried it out with students during our pilot and immediately saw that they became engaged and enthusiastic about creating their own animations with simple shapes and emojis. We saw their initial hesitations transform to pride in their creations and we felt the energy shift in their interpersonal dynamics. Soon enough, they were also collaborating and helping each other out.
We learned about p5play while searching for game extensions for p5.js. From our initial explorations, we think this could be a wonderful way for the students to go even further in exploring their own creativity!
AF: Although it depends on the facility, some students also have computer time outside of class. We’re excited to give students access to the Learn p5play interactive textbook so they can continue to learn in a similar “hands-on-style” outside of class.
KC: We appreciate the less “instructionist” (Seymour Papert, 1998) approach you took with Learn p5play. It offers bite-sized examples that students can tinker with, allowing them to explore concepts in a hands-on and iterative way rather than through step-by-step lessons designed for everyone to create the same specific project.
QA: Thanks! I found that when I used to teach step-by-step style lessons, it got stale cause there’s little variation between student work and you as the teacher have similar interactions with students each time. Teaching CS more like an art class was key to getting out of that rut.
KC: Yes! That’s exactly why we're so excited for our upcoming iteration of this course! We’re really looking forward to seeing how p5play can support our goals for this creative learning experience.
QA: I’m stoked to hear how it goes! You’re both doing amazing work. It was great to meet with you and hear about it.
AF: Thanks!
KC: Thank you again for your generous support in allowing us to use p5play! We're excited to see how it goes with our students!
I’ll be checking in with Karishma and Andrew in a few months for a followup interview, so if you’re interested in that please subscribe! :)