Saturday, May 12, 2018

Games 5th Graders Play

Last week was Teacher Appreciation Week. Along with with the delicious food, thoughtful cards, and other gifts, I received a number of notes from 5th graders thanking me for their time in the lab and in various after school activities. One expressed gratitude for teaching "programming and how make cool things", but also stated it was time "to move on to bigger and better things". Yes it is, and I fully expect to see great things from this group of 5th graders.


Before moving on though, the 5th graders got one last chance to the test case for a unit. (I usually experiment with new ideas and units using the 5th graders because they will be gone the next year, and they can mostly be counted on to give good feedback.) So for their final rotation in the lab 5th grade has been engaged in video game design with Scratch.


We started by making some familiar games and adding new elements like timers, bonuses, lives, and power ups. They experimented with different ways of controlling sprites to find the best one for their designs. Game elements that they take for granted like scores and backgrounds resetting when a new game is started had to be coordinated. Several wanted to make 2 player games which provided a host of challenges to overcome.


The second part of the unit required them to make a game that teaches or provides practice for a skill. I deliberately left this requirement open so that students could follow their interests. For the most part it worked out, but I did get an unnatural number of math fact practice games, probably because it is something they have done before. Still, many branched out making American history quizzes, a piano playing memory game, German language trainers, and one curiosity that purports to teach good tooth brushing habits. A few projects are embedded into the post, but the studio can be found here. There is one more group of 5th graders who have not completed the unit, so there will be more games in the next couple of weeks.



Come Fly With Us

The fourth grade project for this final rotation is out of this world! Students were challenged to create an advertisement for a vacation to one of the natural objects in our solar system. To ensure that I did not end up with nothing but projects about Uranus (ha ha), I created a topic randomizer in Scratch with 3 lists, the planets that are not Earth, moons that are not the Moon, and dwarf planets. When students pressed the switch, they were presented with 3 objects to choose from. 



First came the research. Students gathered basic data about their object like size, distance from the Sun, composition, and temperatures. While researching the basic information, they were also on the lookout for interesting facts and sights one might see there. They had to think about how they could use all of that information to to persuade their audience to choose their object for a vacation. I did not assign any particular product, so long as it was persuasive. I did give them some ideas and reminded them of projects they have done in the past. 



The most challenging part seemed to be need to be persuasive. As the groups and individuals worked, many needed to be reminded that they were not making a presentation to teach about their object. While some groups took to the idea of selling a trip into space easily, the majority needed some coaching in order to turn their raw information in to arguments in favor of making a trip. Another struggle for some students was making sure that their product was interesting to look at and that it could hold the viewer's attention. 



The freedom of choice I allowed in terms of work product yielded, for the most part, excellent results. There were dioramas showing the view from the surface, interactive posters leading virtual tours, a few wonderful skits, some excellent Scratch animations, and one that used a Lego tilt sensor and Scratch. 

This project is adapted from one I did with my class when I was teaching 3rd grade. Sadly, in the lab I do not have time to do the other part of that project with each class, learn to sing "Space Oddity" by David Bowie.



Teaching Environmental Protection

Third grade's final project of the year centers on the environment, specifically what students can do to help keep it clean. They then had to develop a way to teach what they had learned to others, specifically regarding how, say a first grader, could contribute to solving the problem. I allowed them to have a bit of choice in their product selection. These choices included an interactive poster, a game (digital or physical), or a skit/song.


We started with a discussion of what exactly is meant by pollution and what problems it causes. This was also to outline the difference between solutions and practises available to all people (even students), and those that are for adults and businesses. In one class, the suggestion was made to buy electric cars, which I had to point out was probably beyond the ability of most elementary school students.

Some students worked on their own, but most worked with a partner. They took notes in a T-chart with "problem" on one side and "solution" on the other. As they conducted their research, I number of excellent questions came up. These included, how air pollution becomes water pollution, how plastic gets recycled, and which of the three R's is the best one to do. All of these questions gave the students the chance to dig deeper into the information to find the reasons why they should carry an reusable water bottle or pass on the straw at a restaurant.

The students created, as usual, a number of awesome projects. When the end of the unit came along, each group got to share their work with a visiting first grade class and receive feedback from other students. They reflected in their journals and in a Google form about their work and how it could be improved for future iterations.








Tuesday, May 8, 2018

Stepping up to Scratch

This rotation sees the second graders transition from programming in Scratch Jr. to programming in Scratch. This is a pretty big step. Scratch introduces students to concepts like coordinate pairs, negative numbers, and variables well before they are covered in math class. This is the second year that I have finished with second grade learning Scratch, and I have not been disappointed in how well they have handled the change. In addition to the upper grade math and the need for increased vocabulary (Scratch blocks have text on them, not images, to indicate their function), there is the sheer number of blocks the students now have at their disposal. Their natural curiosity leads them to try everything. This is fine, but it can quickly lead to frustration when they discover that they do not know how to undo the effects they have created with their experimentation. Still, by and large, the students have accepted the challenge with a wonderful enthusiasm. I am excited to see what they will be ready to make next year when they will have their own accounts and are able to participate in the Scratch community.





And on something of a personal note, my wife and I will be presenting a workshop at the Scratch Conference being put on by MIT this summer. Scratch was developed by the Lifelong Kindergarten Group at Massachusetts Institute of Technology Media Lab and this conference brings together educators, developers, and researchers to discuss and collaborate. Work by a number of our Sinclair Superstars will be the focus of our workshop.

Sunday, April 8, 2018

The Youngest Programmers

The first post of a grading cycle usually ends up being about one of the upper grades. I'm not sure why, but it is what I have noticed after a short browse through my older posts. So for the final grading cycle of this most peculiar year, I will start with the early grades and work my way up to the 5th graders who will soon leave us for the exotic lands of middle school.

I wanted to finish up the year by introducing the kindergartners to Scratch Jr. and to start training the 1st graders to plan their digital projects before diving into the programming. Scratch Jr. a programming environment like Scratch, which the older students use, but it is suitable for pre-readers and beginning readers. It is an excellent introduction to creative coding for young learners and sets them up to begin working in the full version of Scratch (which is what the 2nd grade is doing this cycle.)




Before I do anything with kindergarten, I give them a day to explore Scratch Jr. I give them a brief introduction to the blocks (which they are familiar with from code.org) and the drawing tools and then set them free. It is awesome to see the excitement as they make discoveries and share them with each other. The unit activities start with a BrainPop Jr. movie about a particular topic. I start with parts of a plant because that is one of the topics they are working on in their classrooms this time of year. After watching the movie we make a digital anchor chart to review and to reference later. Then I guide the students through the making of a 4 flap foldable version of the anchor chart so they each have the experience of making their own plant model. The next day we start by reviewing the anchor chart and how to draw characters before I show them how to use the "when character touched" event block to make the characters do things. In the case of plant parts, I have them draw each plant part as a character and then program each one to say what it is when it is touched.



The rest of the lessons follow a similar pattern. The second topic is the seasons which I use to give them practice using the "switch background" block. They use the "when touched" block again, but add the "switch background" command so that the scene changed to the next season after the character names the current one. From there I change the topic for each class for the sake of variety and to see how the students represent different concepts digitally. I have used (or will in the coming weeks) states of matter, habitats, and weather. The students transfer their learning from Code.org to Scratch Jr. so quickly and are so excited to discover all they are able to do.



Most of the first graders have not done much with Scratch Jr. this year, so I start this unit with a pretty open ended assignment, though not a free explore like kindergarten. We watch the BrainPop Jr. movie about ancient Egypt and talk about some of the things they learned. I then give student pairs an Ipad with the instructions to make a Scratch Jr. project about ancient Egypt. The only requirement, aside from the topic, is that the characters have to say what is going on in their scene. Obviously there are a lot of pyramids, but it is interesting to see them draw hieroglyphics, people fishing in the Nile, and mummies. I leave a few minutes at the end of the class for them to share with the other groups which they always enjoy. The next day, I show how I would plan a Scratch Jr. project on paper. I draw a background and characters, then I add what the characters will say about the topic. We watch another BrainPop Jr. movie (insects, fish, rain forests, or something) and then the students go to the tables to plan a project about the topic. They have to detail the backgrounds and characters as well as what will be said by each. As they work I move around and talk to them about their plans and what code they will need. Once the plans are complete, the students begin working in Scratch Jr. to bring their plans to life. Again, sharing and collaboration is key to success. We move from there to a compare and contrast project based on animals or habitats usually which requires them to plan 2 backgrounds worth of characters and information. The final project deals with even more steps and a topic like life cycles of plants or animals. A project that complex requires them to use all of the programming skills they have developed and so far they have done some amazing work.




Saturday, March 24, 2018

STEM Lab Menagerie

Here goes another post that must begin with the lament that I have fallen behind in my posting. So many amazing things have been happening in the lab. The 3rd grade learned how to use the Micro:bit and made their own Micro Pets. Second grade conducted research about different habitats and then built museum displays to share what they had learned. Meanwhile Kindergarten and 1st grade extended their programming skills with our friend Robo-Mouse. With this animal theme in mind, I've decided to consolidate these grade level units into one post and to vow, yet again, to stay on top off my writing schedule in this current grading cycle.

So let's begin at the beginning, Kindergarten and 1st grade worked with the Robo-Mouse, though they used the robot in different ways. Kinder learned to assemble the tiles to copy mazes from the task cards and then to program Robo-Mouse to navigate to the cheese at the end. As they became more proficient, they began creating their own mazes, recording these on grid paper, and recording their algorithms as well. They worked in groups that changed each day so that they could learn to work with different people and experience multiple perspectives. Teams built mazes to challenge other groups and learned a lot about debugging in the process.



Most of the first graders used Robo-Mouse last year and so only needed a short refresher lesson before they were ready to go. I started them on a series of building challenges related to their mazes. "Build a maze in which the robot must turn left 3 times to get to the cheese" and "build a maze in the shape of a letter" were just a couple of them. They also worked with the algorithm cards to plan their solutions before programming the robot. The cards are a big help when debugging programs for the long and winding mazes they like to build. Flexible groupings were an important part of the unit for 1st grade too as they created lengthy algorithms, often with multiple solutions. At the end of the unit with first grade I brought out Scratch Jr, which they had not used much in class yet this year. I challenged them to create mazes and then to write a program that guided the character through that maze. Touching the walls was not allowed, so they needed to run their code through many iteration before it worked perfectly.
On to second grade now. I started with an overview of note taking practises on Brain Pop Jr and a scavenger hunt for information on Britannica School. I am working on building them up to the point where they can choose how to share their learning at the end of a unit and part of that is helping them to become more independent learners. After learning to use these resources, teams selected a habitat and one of the animals from that habitat to be the topics of their research. They took notes in their journals and then planned what their display would look like. Then using everyone's favorite building material, cardboard, they executed their plans. As they were building, I made a point of teaching best practises for attaching pieces of cardboard to one another. (I have instituted a ban on tape in the lab, but that is a rant for another time.) Each display was accompanied by a card describing the habitat and listing facts about the animal. I was impressed by the attention to detail so many of the groups put into their projects. Another part of these sustained builds is helping students become better long term planners. I often see them hurrying to be done in a 45 minute class period which never results in the best work.
Finally, third grade was introduced to the Micro:bit. I've written about that in previous posts this year, so I won't go on about it again. I spent a lot of time this unit working on the differences between inputs and outputs. I likened it to cause and effect which they are familiar with from the ELA lessons. At first, we focused on using a particular input each day to create different outputs. They learned to use the buttons, accelerometer, and I/O pins to scroll text, create pictures, and show animations. We also got out the alligator clips and LEDs to do some physical computing which everyone found really exciting. The final project was creating a model pet with the Micro:bit adding a layer of interactivity to their builds. I was really excited to see all of the different was the different teams used the Micro:bit. On most it was the face or mouth showing the different moods of their creatures. Some learned to use the music blocks to add sounds to their animals and several used the Micro:bit to animate flapping wings and wagging tails. It was a fun unit to teach and I am really looking forward to next year when this group starts using the Raspberry Pi now that they have this grounding in physical computing.











Sunday, February 18, 2018

Circuit Masters 2: In their Own Words

I meant to include these Scratch projects that some of the 4th graders made to share what they had learned during this unit.

For this first one, first click the green flag. When the Pi finishes talking, press the space bar, then the up arrow, and then the down arrow.


This one just needs you to click the green flag.



Same here, click the green flag.



One more.



This is a wrap up activity for the unit. I created a studio for the class with a project containing 4 sprites, a Pi, an LED, a resistor, and a breadboard. The directions were to remix my project to share what they had learned about the Raspberry Pi and pyhsical computing. The only limit I placed on the projects was that they were not allowed to delete the 4 provided sprites.