The Computational Thinker’s Project
In a recent ISTE blog by Julie Randles, computational thinking (CT) was named the #1 hottest topic in edtech! Being a firm believer that students learn best experientially — I incorporated CT into a project-based learning (PBL) experience — called The Computational Thinker’s Project!
When I introduced the project to students I told them that they would be using the familiar edtech tool — littleBits — in which they immediately jumped at the chance to show me that they already understood how electronic circuits work to make cool inventions. One of those students was my daughter — Anisa!
While discussing the learning objectives of the project, I then told them that this project would be different than previous work and that now they would be adding computational thinking (CT) and coding to their Student Creativity Toolbox. Anisa asked me, “Isn’t coding ONLY used by highly intelligent “computer programmers?” Sensing some apprehension, I replied in the affirmative that coding is a skill utilized by computer programmers. However, CT is a process that can be understood by both machines and humans — and learning it would help make me a better coder.
To further reassure her and her peers, I said, “Don’t stress about coding — let’s focus primarily on learning and applying CT as a systematic approach to solving a problem(s) — but within the familiar context of a STEAM design challenge using electronics.”
To provide context and clear indicators to CT, I introduced them to the ISTE Standards for students and more elucidation about CT as a problem-solving skill.
The ISTE Standards for Students
Anisa attends a very edtech savvy school system (CCPS) and although she was already familiar with the concepts of being an innovative designer and digital citizen — she hadn’t ever seen a One-Pager of sorts (similar to what many kids are now making in many schools) made by educators — BUT especially for her and her classmates !
To ensure that our computational thinker’s project would be the vehicle for the intended learning of CT and coding — I facilitated the process in the 4 following steps.
Step 1: Introduce the design challenge, driving question and learning targets
Anisa’s goal is to study botany — and in her spare time, she loves to help her peers with their schoolwork. She even honed her teaching/tutoring skills by volunteering as a teaching assistant at the MathScience Innovation Center. I therefore framed this project around her interest of helping peers understand their subjects and incorporated a STEAM design challenge as one of the products.
The driving question (DQ) for the project was “How can we as Computational Thinkers design a children’s game that teaches younger peers foundational coding skills and the use of electronic circuits?“
Not new to the process, they highlighted any new vocabulary (topics) in the driving question and underlined the items they already knew. My goal was to now have them focus on new learning and how it connects to any previous knowledge for the game design.
Sample: “How can we as computational thinkers design a children’s game that teaches younger peers foundational coding skills and the use of electronic circuits? “
The students were given a short list of game design ideas to choose from and Anisa settled on Hot Potato.
Some of the learning targets I designed to help aim their understanding were:
I can decompose each step of the coding process into minute details so that I can explain to others.
I can recognize patterns (similarities or common differences) that will help me make predictions about which Bits (input, output, power, etc.) are appropriate for my game design.
I can abstract any unnecessary information while coding my program.
I can develop a step by step algorithm for a personal task of my choosing (getting my hair, painting my nails, walking my dog, etc.).
I can develop a step by step algorithm(s) of code for the Hot Potato program
I can define and apply loops in the Hot Potato program.
I can use variables to store data to be referenced for the Hot Potato program.
I can define and apply conditional logic in the Hot Potato program.
I can apply the remix step in the littleBits Invention Cycle to create new code for my Hot Potato Game.
Note for teachers: The learning targets (LTs) used for this work were the rewriting (unpacking) of some indicators listed for the CT strand in the ISTE Standards for Students, the Hot Potato of Doom lesson, and also the Bloomfield Hills Schools student CT learning objectives.
LTs should be written in student-friendly language and are an excellent strategy for helping students aim learning, build vocabulary and request specific feedback. I highly recommend knowing the dos and don’ts when designing learning targets for students. Here are a helpful rubric and videos by EL Education to get started.
Step 2: Support Understanding of CT
To begin addressing the LTs and to scaffold learning of CT, I introduced the essentials to them with a catchy video by JULES. The video supported their understanding because it provided a tangible visual of both the key concepts (the 4 elements of CT) and their application (with and without computers) — but within contexts that they were already familiar with.
To further support their understanding of CT, I introduced Anisa and the others to the work of the very AWESOME Dr. Shuchi Grover. Not only did they now have another point of reference to refer back to while working on the STEAM design challenge but also now have another female role model for me to look up to — like Oprah, Ellen, Ayah Bedhir, Dr. Kim Lane Emma Gonzales and Tarana Burke (among many other inspiring women)!
Now that she and the others had a better understanding of CT, it was time to begin coding my game!
Note for teachers: I believe it’s good practice to inspire and compel students to get more involved in computer science (CS)/STEAM activities when they learn about people who are and look like them, engaged in highly collaborative and groundbreaking work. Inspiring students with excellent role models shouldn’t be limited to the edtech or CS worlds either. Champions of movements that give voice to underrepresented populations (i.e., girls, African Americans, Hispanics, and others) both civilly and technically often tell very relatable and compelling stories for many of our young people.
Step 3: Guided Practice: Design Time (work time)
To transfer her new computational thinking skills and also help others, Anisa put her own spin on the popular kid’s game (Hot potato) by designing a model that would help younger children understand the importance of electronic circuits, coding, and technologies encountered in everyday life while enjoying the familiar game.
Using the littleBits Code Kit, she built the foundation of her game based on instructions and tinkered with an original design (by littleBits). This enabled her to recognize patterns, function(s), and purpose between the interaction of both the hardware and code.
Upon mastering the new technology and various coding principles (apply loops, use variables to store data to be referenced, and conditional logic ), she developed her problem (game) and step by step solution (algorithm) that she coded using Google Blockly-based code. She used her code to control the timer, message and image display on the LED matrix of her Hot Potato game design. Before deciding on a final automated solution, she tested and redid her algorithmic design several times to make it to her liking.
Note for teachers: During work time, it’s essential for you to facilitate learning. When working with groups of students, it is important to be well versed in the use of the Code Kit (or whatever edtech is being used in your lessons/projects) and its app. Use the app to help you conduct mini-lessons and scaffolds of the coding concepts your learners need most (either individually or in groups).
Don’t forget to engage students in a design process. In this project Anisa used the littleBits invention cycle and the invention log checklist on page 16 of the Code kit Invention log to assess her work. I also highly recommend having the debugging checklist and the feedback chart. Also, use feedback protocols and the LTs for helping your students request and receive feedback for improving their work.
Step 4: Reflection for metacognition
I always stress to Anisa and my students the importance of reflecting for metacognition by providing them opportunities to think about their thinking and to develop a better understanding of how they learn best for becoming lifelong learners. For this purpose, I incorporated reflection throughout the various steps of the entire design challenge (both in my invention log journal and in our debriefings).