Sunday, June 2, 2024

STEM Lab 23_24 Round 7 - Wind Whipped Edition

STEM Lab year 9 is coming to a close, and we are definitely finishing on a high note. For kindergarten and 1st grade, this round was a chance to apply their programming skills to a multi-day project. Second grade planned and programmed their first project in the full version of Scratch. In third grade we explored the connections between the fine arts and creative coding. The 4th and 5th graders had their first experiences with text-based programming using the Python language. 

As I have begun thinking about the 10th anniversary of the Sinclair STEM Lab next year, I have also been thinking about how the lab got started. When the task of creating the lab was appointed to me, I was given an extraordinary amount of freedom in terms of lessons, projects, and content. It has been a great deal of work to develop a curriculum for 7 grade levels, and there has been a fair amount of trial and error over the years. Looking back at posts here from the early years of the lab what stands out most to me is how this space has evolved and grown. Credit for that development goes in large part to the students. It is thanks to their ideas, their enthusiasm, their creativity, and their feedback that the STEM Lab is the place it is today. 

Kindergarten & First Grade

I had a number of project ideas that I was considering for this final round, but ultimately my love of incorporating literature into computer programming won out. The students used Scratch Jr to create an animated retelling of a self-selected story. First, I read the class a book and modeled how they would create their story plan. We reviewed the elements of a story, including characters, setting, and plot. Then the students chose a story and created a plan. When the plans were finished, they began working on their projects in Scratch Jr. Most of them had to use the drawing tools to create the characters and settings for their stories. Next they programmed each scene using the broadcast commands to ensure the characters spoke in turn and that the scenes advanced automatically. I was really impressed with how well the students persevered through the challenges. 


Second Grade

In round 6 the second graders made the transition from Scratch Jr to the full version of Scratch. In that round each day was its own project. The students completed a different tutorial every day selected to give them time to practice with the most commonly used commands and structures of Scratch. In this round the students applied what they learned in round 6 to the planning and creation of a multi-day Scratch project with the theme "All About Me". In the final program when the letters of the student's name are clicked the letter changes its appearance and shares a piece of information about the student. First the students made a 3 column chart to plan what each letter would change into and what it would say about them. After that they went to work in Scratch. They wrote a script that set each letter in the correct place and with the correct appearance at the beginning of the program. Then they wrote the scripts that cause the letters to react when clicked. As with the K and 1st grade project, many students needed to draw their own sprites because the thing they wanted to change into is not one of the sprites preloaded into Scratch. 

Third Grade

One of the most important parts of the STEM Lab is making connections between the elements of science, technology, engineering, and mathematics, and subjects like language arts, literature, history, music, and visual art. (The siloing of subjects into individual, unrelated units is one of my greatest frustrations with the way so much of the modern school curriculum is done.)

For this unit, the 3rd graders explored the intersection of art and computer programming. As always we used Scratch. The music extension allows students to compose music, while the pen extension turns sprites into drawing tools that can be programmed to create images on the background. We started with a day of exploration for each extension. Students were provided with a brief step-by-step guide and some starter code that they were expected to tinker with until they had something original. Following that, students designed and programmed a project that included both the pen and the music extensions. I gave them a checklist with a few elements that had to be included (though these were deliberately open end to allow for individual student creativity), but they were encouraged to personalize their projects as much as possible. The studio including all the projects can be viewed here.

Fourth Grade

The 4th graders have done a fair bit of work this year building physical circuits and writing programs to control the behavior of those circuits. To wrap things up, the students were introduced to the Raspberry Pi computer. The Pi is about the size of a credit card, costs as little as $35, and was designed as a tool to make programming and physical computing accessible to all. 

We started the week building circuits with LEDs and buttons on a breadboard. For this step students powered their lights with batteries, so no programming was done. Their previous circuit building experience was evident as the students needed very little guidance to get the lights glowing. By the end of class most groups were asking for more LEDs and resistors and also wanting to know if I had larger breadboards they could use. 

The next day students started with a brief overview of the Raspberry Pi and how to connect their circuits to the input/output pins. The micro:bit used earlier this year has i/o pins as well, so the students all grasped this quite quickly. The Raspberry Pi includes a version of Scratch with a set of command blocks that can be used for physical computing. First the class used a diagram to build a simple LED circuit connected to the Pi. Next they built a short program to blink the LED at 1 second intervals. From there, the students bowled ahead adding LEDs to their circuits and additional commands to their code to create a dizzying variety of blinking patterns. The next day students continued working with their circuits, adding a button, and adapting the program to respond with blinky lights when the button was pressed. 

All of this was a lead-in to introducing the students to text-based programming. With the students feeling comfortable programming circuits in Scratch, I showed them a Python program side by side with a Scratch program with the same output: blinking an LED at 1 second intervals. We discussed which part of the Python code corresponded to the Scratch command blocks. Students returned to their computers with a packet of circuit diagrams and Python starter code. I was, as I often am, truly impressed with how quickly the students picked up on this new skill. Before long they were adapting the starter programs to blink more LEDs using more button inputs than I would have imagined.

Fifth Grade

The 5th graders finished their STEM lab careers with a full unit of text-based programming with Python on the aforementioned Raspberry Pi computer. They split their time between using the Python Turtle Art and Minecraft Pi Edition. The Turtle library is a set of tools for programming drawings and is also used to create games with Python. The Raspberry Pi used to include a version of the game Minecraft designed to be a virtual world students could manipulate with code. This feature is no longer available since Microsoft acquired Minecraft. Fortunately, it is still available to us because we are working with an older version of the Raspberry Pi operating system. As with the 4th graders, I gave the students a packet of sample programs to familiarize them with the basics, and then encouraged them to adapt, alter, and experiment with the programs to create their own unique outputs. They did not disappoint. Their screens were filled with kaleidoscopic Turtle drawings and Minecraft worlds awash in towering pixel art sculptures, lava waterfalls, and TNT produced craters. 

And then came the wind...

I had this final post about 70% written, just needing a few final notes and a few more pictures, when the storm blasted our campus. Suddenly I was back on my pandemic era cart pushing into other people's classrooms and trying to maintain at least some vague semblance of my plans. Mr. Zogg's 2nd grade class was moved to the lab and so to make room for them I was obliged to pack up the Raspberry Pi kits. Some of the projects described above I have been able to implement as planned for the most part. However, I have had to switch gears entirely for the 4th graders. The worst part has been missing out on seeing the last two 5th grade magnet groups and the awesome things I know they would have created with Python. 

It is too early to say at this point what the beginning of next year will look like. I am hopeful, and trying to be optimistic, that I will be housed in the STEM lab once more when August arrives. In a very real sense my class is the STEM Lab's physical space, and when I cannot have class there, some elements of the class are lost. (I would never have students engage the kinds of beautiful, creative chaos we get up to in the lab, with its attendant cardboard scraps and drippy glue, in another teacher's room.) Whatever the situation may be in August, we will meet it with perseverance, creativity, and playful, personally meaningful projects.

Have a wonderful, safe summer.