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.