Teaching Python Coding with the Four P's of Creative Learning
Apr 24, 2023
In early 2023, Kelly Powers, the Director of K-12 Computational Thinking at Cornell Tech, spearheaded a no-cost 7-week pilot program along with two other educators to offer students an opportunity to learn Python coding.
Kelly is a firm believer in tools that help students think creatively and encourage the “Four P’s of Creative Learning: Projects, Peers, Passion, and Play,” an approach first coined by Dr. Mitchel Resnick, who was a founder of the computer programming language, Scratch. Resnick’s research has shown that when students are engaged in purposeful projects that they are passionate about and can work in collaboration with peers in a playful, creative, experimental way, the learning will be deeper and more meaningful.
Through her experiences teaching Python with imagi Edu, Kelly shares how she incorporates each of the “Four P’s” of creative learning to make learning Python coding project-focused, collaborative, connected to students’ interests, and playful.
Projects: Learning Python through Creating Pixel Art
The experiences during the first class brought both playful joy and rigor as evidenced by the level of participation and as seen in every child's designs.
For the launch of our Python Programming with Pixel Art Camp, twenty students joined me and two other educators to learn Python coding while pursuing their own projects - in this case, creative pixel art designs. The two educators who supported us had no prior knowledge of Python, but were delightfully surprised at how comfortable they were learning and teaching Python coding with our students. The experiences during the first class brought both playful joy and rigor as evident in the level of participation and as seen in every child's designs. Powerful computer science concepts that we introduced included: variables, data types, float, integers, and RGB colors. Kids defined their own colors, made their designs blink, and shared their work in our localized classroom community for their peers to see.
Peers: Creating a Culture of Collaboration and Problem Solving
It’s been so fulfilling to see that we can consistently create a love of debugging in a collaborative fashion. Students don't fear sharing their bugs and welcome the support from their peers.
During the second week of our Imagi Python Programming with Pixel Art Camp, I saw how powerful learning can be in the presence of peers, as students created animation objects, defined functions, called functions with arguments while showing their creativity with pixel art animations. I am noticing that the best part of every session, however, is having kids learn how to ask for help to debug their programs and inviting their peers to help them debug. It’s been so fulfilling to see that we can consistently create a love of debugging in a collaborative fashion. Students don't fear sharing their bugs and welcome the support from their peers.
During our third week, we purposefully structured the class using the pedagogy of "Semantic Waves", which refers to a simple way to visualise how we build knowledge, with both functions and developing students' skills to decompose a "problem", or “the turtle”, into smaller parts: the head, the body and the feet. By the end of the session, students were leading the debugging of each other's projects, showing us how they used decomposition, updating their functions to receive "data", values, colors that they can change on each function call. I had many favorite moments from this class, but one particularly beautiful moment was when a grandma and her grandchild met me in the "help" breakout room to decompose some bugs with their turtle. The grandma exclaimed, "Oh I get it now. I understand functions!” It was a true testament to the power of learning in community.
Passion: Tapping into Student Interests to Inspire Creativity and Innovation
The creativity that has been awakened in the students is amazing!
During our Week 4 session, students had their thinking caps on, as we introduced for loops in Python to help us iterate over a matrix to create pixel art. The creativity that has been awakened in the students is amazing, as their creations range from owls, Dumbledore from Harry Potter, lightning bolts, and their favorite "plushies" or stuffed animals which kids brought to our virtual camp, just to name a few designs. We used both "read code" first pedagogy and "use, modify, create" CS strategies to build student content knowledge of for loops.
In Week 5, we jumped right into for loops again with our students and challenged them to look at their code for their “plushy” stuffed animal art to see if there was an opportunity to use a for loop structure. We had a range of projects, showing their progress, understandings and misconceptions. Our ability to look at student work (both drafts in progress and final shared projects) via the Imagi Edu platform provides us with a window into student thought processes and helps us spot opportunities to engage in conversations with our students and assess our success in delivering the content.
Play: Allowing for Iteration and Experimentation with Peers to Deepen Knowledge
As educators, we must allow space for students to play, ask questions, and experiment...
In Week 6, students continued learning for loops, nested for loops and an intro to conditionals. Our students practiced reading code, using functions that call other functions, and exploring how to use for loops to design lots of Nordic Flags. To our surprise they loved this challenge. We ended with an intro to conditionals and one student even asked a question about how to create the right diagonal. He was able to determine how to create a conditional for the diagonal in the Scottish flag using a collaborative think-aloud. What a surprise to himself and to the educators on the call, and a reminder of how knowledge deepens when as educators we allow space for students to play, ask questions, and experiment.
As a culminating project in the camp, another student gathered many of his projects throughout the course and combined them playfully into one - his "Everything" project as he called it - full of those loops and function calls. He also turned the microphone over to his younger sister, a 3rd grader, who had been sitting by his side learning and creating too. To our surprise, she had also made a large collection of projects. She titled her project "The MOST." To see how such playful and experimental learning had already extended beyond our virtual camp was truly a wonderful way to end our time together.
Interested in leading a similar coding program? Sign up for imagi Edu to try out our coding platform and the first 3 lessons for free.
About Kelly Powers
Kelly's teaching and learning transcends to those whom she works with including students, teachers and colleagues nationwide. She enjoys the challenge of creating an engaging curriculum aligned to the national CS standards. Her teaching philosophy is that learning should be engaging, drive creativity from those we serve, demand inquiry and discovery, while ensuring equity and access to all students. Kelly's background in teaching and motivation to be a lifelong learner to advance the practice of teaching to include computational thinking, problem solving, and creativity allows her to provide a rigorous and joyous experience in computing to all students!