Scissors-Paper-Rock your classroom with differentiated projects

I recently gave a talk at PyCon AU 2018 in the Education track about creating differentiated projects that allow you to engage a broad range of abilities levels in the same classroom, with a look at how we create content at the Girls’ Programming Network (GPN) and how you can do it too.

Accommodating a range of different experience levels in a group of students, finding a project that won’t bore some and obliterate others can seem impossible. While setting completely different projects for “newbies” and “pros” might seem like the best option, it can demoralise “Slow Sam” when he realises he can’t keep up with the pros and leaving “Fast Fran” with nothing to do when she chooses a project below her level. Having one project that allows Sam and Fran to move between levels easily without having to start from scratch would be ideal.

A graphical representation of my talk courtesy of Amanda Hogan of the Australian Computing Academy.

In this talk I go through how we created content with our “Scissors-Paper-Rocking” method for creating multi-level projects that can dynamically change in difficulty to challenge all students, whilst giving everyone a sense of accomplishment. We’ll take a look at our canonical project suite: Scissors Paper Rock (hence the name of the method!) that will keep your class in sync for the purpose of delivering lectures, but challenges advanced students by shifting them sideways.

You’ll also get a chance to see the GPN Python Project Calculator in action and you’ll see our approach to playing “code golf” for creating achievable and extendable projects. Showing you how we measure the effort required for students of different levels to work through a project, enabling you to set achievable projects for your classroom.

Hope you enjoy the video! You can get a copy of the slides here.