Sunday, April 24, 2022

Springtime in the STEM Lab


I has been a busy few months in the lab with projects galore at every grade level. I have obviously fallen a bit behind in my posting, but I will do my best to recount the highlights here.

Kindergarten & 1st grade

After a year in the closet, our friend Robo-Mouse was able to come out to play once more. The arrows used to program Robo-Mouse are quite similar to the command blocks students use in Code.org, so it is very much like a physical version of the Code.org puzzles. Students really enjoy designing a building their own mazes to solve with their mouse.They have to keep careful track of their program steps because they cannot see the program on a screen as they can in Scratch Jr and Code.org. I love watching them collaboratively problem solve the intricae mazes they build.




First grade and Kindergarten also completed a unit of origami models. The first graders did an origami unit last year, so this year's models were a step up in difficulty. Each day had a different model and students had the opportunity to build it a few times ("it's not practice if you only do it once"). Sometimes students mounted their models to paper and drew backgrounds for their builds. Even when the models were the same, individual creativity shone through as everyone personalized their projects. Another element of this unit was the 2 frame animation. This is not origami of course, but is a fun creative storytelling project.

Kindergarten and 1st grade also returned to their Code.org courses. They focused on learning to use loops effectively to write more compact code. Loops generally take the students a little time to get used to, particularly when there are multiple commands being repeated. We reviewed the protocols for pair programming and students usually worked with a partner and collaborated on solving the puzzles. I have been truly impressed with the progress the students have made throught the Code.org course this year. Several students have nearly finished their grade level course which is something of a rare occurance most years.



2nd grade

The 2nd grade began the spring semester with a Scratch Jr project made to share their learning about an animal. We call this the digital diorama. First, students selected an animal from the Nat Geo Kids site and took notes about it. They recorded information about what it eats, its adaptations, and what threats it faces. Next they drew scientifically accurate pictures of their animal and its habitat. These were photographed into a Scratch Jr project and used as the characters and backgrounds. They coded their digitized characters to move around the habitat and to tell the viewer facts about the animal. The final result is a mini nature documentary.



The digital diorama project was followed by an introductory unit in which the students began the transition from Scratch Jr to the full version of Scratch. Each day focused on a Scratch tutorial. I selected the tutorials to highlight connections between the Scratch Jr command blocks the students know to show them what those commands look like in Scratch. The tutorials were all fairly short leaving students some time each day to explore and experiment in the new coding environment. I started introducing students to Scratch at the end of second grade a few years ago and have found that it is so helpful for them to have had that initial exposure before they get to third grade. With Scratch Jr still fresh in their minds, the step up to Scratch does not feel so overwhelming. 

Second grade also returned to their Code.org courses this semester. While Scratch Jr and Scratch emphasize the creative side of programming, it is important that students have opportunities to practice applying their skills to a specific task. The puzzles in the higher levels of the second grade Code.org course challenge students to combine a number of programming concepts into their solutions. In particular, I like that there are frequently multiple solutions to a puzzle which reinforces the lesson that there is almost always more than one way to write a program that achieves the desired output. 

3rd grade

The third grade spent their first round of the semester learning to program the Micro:bit microcontroller. A microcontroller differs from a regular computer in that it can only remember and run one program at a time. These devices are all around us, turning on the AC, openning the door a the supermarket, and turning off the lights when a room has been empty for a while. The Micro:bit has a variety of inputs including buttons, an accelerometer, light sensor, and more. Its outputs inlcude a 5x5 LED matrix, a speaker, and a set of I/O pins. Each day they practiced writing programs using the various inputs and outputs. At the end of the week they built a 2 dimensional animal and incorporated the Micro:bit into the build to make the model interactive. 




Next the students returned to Scratch and learned to use the pen and music extensions. These extra block palettes allow students to explore the connections between programming and the arts. The pen blocks turn the sprite into a drawing tool. First students worked on drawing basic shapes and changing colors. Then they moved onto creating more complex figures by drawing multiple shapes and experimenting with randomness. The music extensions allows students to compose music using an assorment of instruments and percussion. These blocks differ from the sound effect blocks in that students can adjust the tempo, insert rests, and play several ocatves worth of notes. The unit began with a one day introduction tutorial for each extension. Then students were prompted create a project that used both extensions. There was a wonderful variety of final projects, Some leaned more heavily on the music while other were more about the drawing. That kind of creative freedom is so important for students to have as they are able to make something that is personally meaningful. Here's the studio where their projects were shared.



Earlier in the year the 4th grade built cardboard controllers that they used to control their own Scratch music project. I wanted to see how 3rd grade would do with a similar project, so that is what they did after the pen and music project. Each day they completed a phase of the build. Measuring, cutting, and decorating the board and the keys is first. They the copper tape is added and the keys glued to the board. On the third day the glue is all dry and the students tested their keyboards using Makey Makey's "plug and play" apps. The rest of the week they made simple Scratch programs to use with their keyboards. I was quite impressed with how well the building went nad I think it bodes well for being able to do more complcated constructions next year with this group.



4th grade

I think I have mentioned before that the transition from 2 week magnet blocks to 1 week has taken some getting used to. There are several projects that simply cannot be completed in a single week, in particular those done by the upper grades. My workaround has been to break projects into two parts. These projects generally have a digital element and a physical one. Students complete the digital parts in one round and then do the physical part during the next round. One such project was the biography bottles project done by the 4th grade earlier this semester. This project starts with research into the life and contributions of a significant scientist. Students take noted and then plan a Scratch project that uses key press events to share information about the topic. They added images from online resources and checked to be sure that they included biographical data and told about their subject's important contributions to society. The projects went into a studio at the end of the week for peer feedback. When the students returned for the next round of STEM lab they went to work building a model of their person using a repurposed plastic bottle as the base. This model was attached to a cardboard base punched through with metal fastners. Using the Makey Makey the model and base were connected to the Scratch project. The metal fasteners served as buttons to trigger the key press events that opperate the program. At the end of the building week, each 4th grade class got to present their projects to a visiting class of 2nd graders. I have missed being able to invite lower grade classes to the lab to see the upper grade projects. I think it helps the younger students see where their STEM lab skills are leading, and it is important for the older students to have an authentic audience to share their work with.



After completing such a long form project, the 4th grade moved on to something a bit shorter. They were introduced to the Raspberry Pi microcomputer and how it is used for physical computing. The Pi does just about everything a regular computer does, but it also has an array of 40 GPIO (General Purpose Input Output) pins. These make it possible to build a variety of circuits that can then be programmed with Scratch, Python, and several other languages. Before getting to the Raspberry Pi, students learned to build circuits on a breadboard in order to become familiar with the proper handling of the components. Next they had some guided practice using the components with the Pi. They started with one LED and programmed it to blink using Scratch. Then they were challenged to add more LEDs and to program different blinking patterns. Later in the week they learned to use buttons to generate outputs both on screen in Scratch and on the breadboard circuits they had built.



5th grade

One of my favorite projects in recent years has been "hacked art" in which students take a digital version of a famous painting and use Scratch to make it interactive with movement, sound, and hidden surprises. Even when students work on the same painting they end up with wonderfully different final products. They have their choice of about a dozen different images that I share to them in a Google folder. They have to include 5 elements that react when they are clicked by the user. The only other constraint is that the starting screen of the project must be just the painting they started with. The students use the Scratch drawing tools to crop the elements they want to make interactive and make them sprites that can be clicked. They learn a lot about initialization with this project because as sprites move, they have to be programmed to go back to where they started. The projects are in this studio. Check them out.

In keeping with the fusion of programming and fine art, 5th grade's next project was called interactive artworks. In this case, rather than adapting the work of a famous artist, the students created their own artwork. First they drew/painted an image, planning which elements would be sprites and which would be part of the background. Next, they drew that image as sprites and a background in Scratch using the digital drawing tools. They used key press events to animate the sprites. Their physical image was wired with copper tape and metal fasteners so that, with the help of the Makey Makey, it could be used to trigger the key presses that govern the digital elements of the project. Full disclosure: many of these projects did not achieve the state of completeness I would have liked to see. This seems like one of those projects that needs to be split into two parts.




Most recently the 5th grade got their own taste of the Raspberry Pi. They were introduced to text-base programming with the language Python. We started with a side by side comparison of the Scratch and Python programming environments. I highlighted what the Scratch they know looks like in Python. First they used the turtle art module to program drawings. I gave them starter code which they were encouraged to tinker with to create their own outputs. The Raspberry Pi OS includes an educational version of the digital sandbox known as Minecraft. Students can run around in the world building just as in the full version of Minecraft, but all of the most interesting things in this world happen with programs. Again, the students had starter code, but were encouraged to creatively adapt the programs to generate original outputs. It will surprise no one that a great many of the programs the classes created involved lava flows and TNT. Students were generally excited about the move to text-based coding. They said it felt more like "real" programming. No matter how often I remind them that Scratch is a real coding language, they idea that it is less than because it is block based remains hard to shake.





So there you have it. We have about 6 weeks of school left, so be sure to check back for one last update as we close out the year.