Drawn from Fields, D. A., Lui, D., & Kafai, Y. B. (2019). Teaching computational thinking with electronic textiles: Modeling iterative practices and supporting personal projects in Exploring Computer Science. In S. C. Kong & H. Abelson, (Eds.) Computational Thinking Education, Singapore: Springer Nature, pp. 279-294.
Example 1. One key teaching practice we observed that made classroom implementations successful, was when teachers shared their own mistakes, errors, and less-than-perfect projects in front of the classroom. When introducing a new project, for instance, teachers would show their own sample creations (which were made during teacher professional development for the e-textiles unit). This not only served to give students ideas but also allowed the teachers to showcase their own experience of revision and iteration, and coach students on tips for dealing with this process. Consider the way Angela shared her work in her introduction to the LilyTiny project in class, as highlighted within our field notes–
“So let me tell you a little story. When I was working on one of my projects, I didn’t think I needed a plan. “I’ll just do this,” I thought.’ Angela went on to explain that she worked for two days on her project and then eventually had to take most of it apart because it didn’t work. ‘If you don’t plan, it’s going to take you more time to take things out and fix it than it would to do it right the first time. So you’re going to draw it all out, and you’ll use that blueprint and then you’ll have your little map. (160405 field notes1).”
Here Angela told a self-deprecating story of her process of creating her project. She highlighted how not having a predetermined plan for her e-textiles project—specifically, mapping out circuitry connections beforehand—meant that she ended up making numerous mistakes while crafting and eventually had to redo her entire project. She framed the circuit diagram as a way of creating a well-thought out plan for implementation, a skill which is helpful not only with regard to crafting but also within the context of creating a complex computational artifact that encompasses multiple modes (i.e., sewing, circuitry, programming). It serves as both a time-saving measure to prevent costly mistake fixing, but also to help students structure their construction time more efficiently. Note that the knowledge Angela shared was very pragmatic; she did not ask students to trust her on her authority alone (i.e., “have a plan because I said so”) but rather because of her personal experience.
Example 2. Same teacher.
On a different day, Angela showed students her project and passed it around. As they held it and turned it over in their hands, she spoke to the class:
‘Look at my stitching. There are some good stitches and some bad stitches. Where are the bad ones?’ Angela asked.
‘The long ones,’ a student replied.
‘The long ones. These are me being lazy. If these are long ones, I’m going to come and pull on them and if it comes out it comes out. The long ones are easier to snag on something. You are not lazy like me, you are efficient, so you’re going to make smaller stitches.’
Note that while making the project (the one that she passed around to students), Angela made a decision not to re-do the poor stitching that she began with. Once she realized that the stitching was poor, she decided to keep it so that she could show students her mistakes. This lowered the stakes for students themselves to share things that went wrong. Every mistake shared is a learning opportunity, not just for the person who made the mistake but for everyone who hears about it.
Formative Classroom Assessment for Teachers is a “PD-in-a-Box” created by Dr. Shuchi Grover and Bryan “BT” Twarek. Session 4 on Programming Project-Based Formative Assessment shares ideas on how to ensure students are learning in creative coding / project-based CS classrooms.