Saturday, February 18, 2017

We Need More LEDs!

We have had a busy start to the new year for the 4th and 5th graders in the STEM lab. Between half weeks, holidays, early dismissals, rain delays, and 5th graders going to camp; we have had to make some adjustments. However, we have persevered and filled our time with flashing lights and 3D design.

This unit has a two part focus, electric circuits and 3 dimensional design and printing. My goals for the electricity portion were to give the students more hands-on practice building circuits and to teach them to use bread boards and LEDs as a lead in to the physical computing unit coming up in the 4th nine weeks. As for the 3D design/printing, these classes have spent the year so far engineering and building with their hands in the physical world and I wanted them to have some exposure to designing objects in the digital realm.

We began our work on circuits by reviewing what students already knew about the topic. The students are all well versed in the vocabulary of electrical circuits, conductor, insulator, open and closed circuits, switches, and so on. We discussed the various components that we would be using and how they fit into the students' existing knowledge. New terms included resistor and breadboard. Most had heard of an LED but were not familiar with what it stands for, light emitting diode. We examined the breadboard and sketched out how the different sets of holes are connected. Then I talked the students step by step through setting up a complete circuit. The best part of this unit so far has been the loud "oohs" and "aahs" that have accompanied the moment that first LED begins to glow. From there students build circuits using the remaining LEDs and resistors. In the next lesson, students are introduced to adding a button that turns their lights on when it is pressed. This exercise provides a great teachable moment in debugging circuits because there is always a group or two that wires the button in such a way that it turns the lights off by creating a short circuit when it is pressed. Once the students master the button, I have them add a buzzer. (Truth be told, these buzzers are much louder than I thought they would be when I ordered them.) The final challenge is then to connect all 5 LEDs and the buzzer to the button. Because of the small size of the breadboards we are using, the students must figure out how to use both halves of it in order to connect all of the components.









The materials for this part of the unit were provided by the generous individuals who supported my Donors Choose grant earlier this year. I cannot thank them enough.

The other half of this unit centers on the principles of 3D design and 3D printing. Students use a series of lessons provided by Project Ignite to learn hoe to use the tools in Tinkercad. This elementary computer assisted design program allows students create 3 dimensional objects digitally. These can then be printed on the classroom 3D printer. Students must complete the lessons and demonstrate mastery of the vocabulary and tools before being allowed to design and print an original object. One issue that keeps cropping up is that students get distracted designing some truly amazing things mid lesson and lose track of what they are supposed to be doing. (I suppose they are staying true to the spirit of tinkering.) A number of students have been able to print so far, and many more have completed the lessons and will be able to design and print during the next rotation. Moving forward, this year and into next, I will have students design and print objects not for their own sake, but as parts of other projects.








Sunday, January 1, 2017

Tales of a Third Grade Robot

Frankly, I debated a bit about which robots to use with the 3rd graders this cycle, the robo-mice or the Ozobots. In the end I decided that, though the programming would be challenging for many of them, to go with the Ozobots. These smaller-than-a-golf-ball robots have 5 optical sensors in their undercarriage. The robot uses these sensors to follow dark lines against a light background as well as to read color codes that initiate a variety of pre-programmed behaviors. The Ozobot can also be programmed using blockly (as in Code.org), but I opted not to introduce that with 3rd grade.
Students began with an introduction to the Ozobot and how to handle it correctly. Then I gave them some time to explore its use with the games and code stickers in the starter kit. The second day I distributed markers and a guide to all of the color codes that Ozobots can read. Teams practiced drawing good lines and neat codes on the back of scrap paper. This hand drawing was where I anticipated students having the most difficulty and that concern was not unfounded. Ozobot is sort of flexible about lines and codes, but not too much. The sensors lose sight of lines that are too thin, and color codes that are not uniform do not register as codes. Students with a natural inclination towards neatness were creating great codes in no time, while others needed a bit of practice. Eventually everyone was able to create a line with several embedded codes that worked.

Once the classes had gotten to know the Ozobot and the codes, I assigned puzzles for them to solve. At first these were printed and placed in a plastic sleeve and student teams used the code stickers from the kit to test their solutions. This saved paper and made debugging a much simpler process. I gradually increased the complexity of the puzzles, some of which had multiple solutions. Finally, we conducted an experiment to determine if the turn choices made by the Ozobots were indeed random.

To conclude the unit, students were challenged with a language arts themed project. Their task was to use the Ozobot and a team created story map to retell a familiar story. I showed a couple of examples and lead a discussion of how different codes might be used in different stories. For example, use the "nitro boost" for Goldilocks running from the bears, or "tornado" when the wolf blows down each little pig's house. Each team was allowed to choose whatever story they wished and used the design process recording sheet to brainstorm, plan, and document the creation of their map and pathway codes. Groups had 3-4 days for this project, so they had to make the most of their time. 

Not every group was able to get a polished story map and presentation created within the time constraint. Some teams were overly ambitious and took on too long a story. Others got carried away with background details and neglected to adequately test their lines and codes so that when it came time to present, the Ozobot did not behave as intended. Regardless, of exactly how much they got done, each team did an amazing job of working through the parts of the design process. Time may have prevented some from finishing, but everyone learned something about project management which I saw in the unit reflections they submitted. 








Sunday, December 11, 2016

First Attempt In Learning = FAIL: Picademy Reflections

I spent last Thursday and Friday failing repeatedly, and it was the best teacher development I have ever had! The facilitators encouraged us to fail, they expected it, and were not in the least dismayed when we did. All 40 of us failed over and over, and rejoiced in the freedom we had to do so. However, over the course of the 2 days, all of our failures added up to enormous success. This was Picademy, where F.A.I.L. stands for First Attempt In Learning.

If you are not familiar with the Raspberry Pi, you can check it out here. Basically, it is a small, but versatile computer designed by the Raspberry Pi Foundation in the UK to introduce children to computer science and coding. It comes pre-loaded with several coding languages like Scratch and Python. It also has accessible input/output pins making it possible for students to experiment with physical computing; controlling lights, sounds, and motors using code. We have 6 of these in the STEM lab which have heretofore mostly functioned as extra computers. I knew that I had not been using the Pi to its fullest, but as it does so much, I had no idea how or where to begin with the students. Then I learned about Picademy.

In September I found out that there was to be a Picademy in Austin at the Texas Advanced Computing Center (TACC), I applied immediately and then crossed all of my fingers and toes that I would be accepted. Frankly, my hopes were not too high. Only 40 educators are selected for each session out of hundreds of applications. I was pretty sure that my tremendous lack of experience with computing, educational technology, and digital making would get me a very nice "Thank you for applying, but..." letter. To my immense surprise and joy, on Halloween, I received an email that I had been selected to attend Picademy.

I spent the 5 weeks between that email and this past Thursday and Friday pondering just how out of my league I would find myself when I arrived in Austin.


Day one started with that most Texas of teacher training traditions, breakfast tacos. After a brief overview of the coming days and introductions all around, our facilitators taught us the Picademy motto: FAIL. They warned us that we would make mistakes, that we would feel overwhelmed, and that we may feel uncomfortably out of our depth. However, a fail, we were constantly reminded, is just a first step in the learning process. Assured that we had the freedom to fail, and that we would have the support to keep trying, they lobbed us into the deep end of computing with Raspberry Pi. We blinked LEDs with Scratch and Python, first one, then a set of traffic lights. We made music (or in my case discordant noise) using Sonic Pi. In Minecraft Pi we teleported, built towers, and turned everything we touched to gold with Python. With the Pi Camera we took pictures and movies, we used the Explorer HAT to drive motors and control more LEDs. And, and, and!


PiCamera photo booth

That afternoon, we toured the Texas Advanced Computing Center which was amazing. It is part of the University of Texas and is home to some of the fastest computers on Earth. Most are used to run simulations and forecast models of events like hurricanes, black hole collisions, and chemical interactions between materials. They have projects dealing with machine learning, public health issues, and genetics. It is a fascinating facility.

PiCamera photo effects
Our final assignment on the first day was to brainstorm project ideas. The second day of a Picademy is largely devoted to applying what one learned on day one to a project of some kind. This proved to be a tough task as I was in the throes of a full scale information overload. I was trying to think of a project that I could work on that would, in some form, be within the abilities of the the students I teach once they were more familiar with the Pi. Still, I did what I could to think of ways to apply my learning and hoped that I would be able to remember enough of it to use on Friday.

Day 2 started with some amazing speakers. Marc Scott talked about the open source educational resources movement. Amanda Haughs discussed using Raspberry Pi in the K-5 classroom. We heard more about the work done at TACC from the director, Dan Stanzione. Finally we heard from a 14 year old entrepreneur from Houston, Ethan, who started his own computer company, PCs for Me. He sells Raspberry Pi starter kits and accessories. Ethan talked about some of the projects he is using Raspberry Pi for in his classes this year.

After that healthy dose of inspiration, it was time to form a team, select a project, and get started. Matt, our lead facilitator, likened it to one of those cake baking competitions they have on TV. Teams would have 4 hours to work. At the end of that time, they would have to transport their project to the auditorium and present their work to the rest of the cohort.

Whiskers ready to dispense teaching wisdom
I was lucky to have my partner in all things also be accepted into Picademy (something that we never thought would happen). We had worked out an idea that morning as we drove to TACC. Our aim was to build a robotic virtual teaching coach who could dispense advice any time a teacher might need it. When they gave the word, we grabbed some art supplies, an Explorer HAT, a couple motors, and a handful of jumper wires and got started.

We elected to use Scratch as our programming language because it is something with which we and our students are very familiar. The Explorer HAT was selected because it can be programmed using Scratch, and can control both LEDs and motors simultaneously. To summarize the process, there was much failure. Our code needed a fair bit of debugging before it functioned to our liking. We needed help from just about every facilitator in the room and several cohort members as well to find the correct commands to light our lights and move our motors. Then there was the actual construction of Whiskers and his mountain top temple of educational wisdom. We did not have time to get all of the sound effects in that we wanted, but in the end we were pretty happy with our work. Whiskers asks for the user's name and then offers them a chance to ask a question. He then thinks for a moment and says helpful things like, "Let's talk about that in PLC next week", "You're an amazing teacher, you've got this", and "Have you tried Donors Choose?".
Set up and ready to share our project

The other presentations were great! There were several projects that used Twitter. One tweeted when a program monitoring temperature reached a certain level. Another took a picture and tweeted when a student left class for the nurse, office, or restroom. There was even a motion activated classroom pet movement camera that sent tweets. There was a Minecraft project that used the Sense Hat to search for gold underground so that the player would know where to dig. Another Minecraft project used the Pi Camera to take a picture and then rendered it in Minecraft blocks. One group built a station for creating audio books, another gutted a stuffed bear and fixed it to play lullabies and take pictures when shaken, and one built an Explorer HAT controlled scribble-bot. It was truly inspiring to see so much success after all of our first attempts in learning. Frankly there were too many amazing things to describe them all here. You can watch them all here. FYI, the movie is about an hour long.

After all teams had presented, we were officially recognized as Raspberry Pi Certified Educators. We took turns walking to the front to be presented with our certificates and pins to the stately strains of Elgar's "Pomp and Circumstance". Then it was time to pack up and head for home. I cannot say a big enough thank you to the whole Picademy team. Matt, Marc, Amanda, Matthew, Courtney, and Venus, along with the wonderful people from TACC, made this one of the absolute best trainings I have ever had the pleasure to attend.

My brain is still a little bit overloaded with ideas that will need to be tamed and organized over the coming days. I am already working with other participants from the Houston area to have a get together in January so that we can continue to inspire and help each other to move our Raspberry Pi plans forward. The people were pone of the best parts of Picademy. There are so many dedicated, brilliant, and inspiring educators out there that I am so excited to learn from. For the classroom, I am working on Pi lessons for my after school clubs having gotten so many great ideas about where to start. I am working on developing a unit to teach to my 5th graders during the 4th nine weeks. Lessons learned from that experience will help me to adapt the unit for 3rd, 4th, and 5th grades next year. Doubtless more ideas and plans will follow as I continue to reflect on Picademy and engage with the wider Raspberry Pi community.

If you are a teacher looking for the best STEM training around, go to the Picademy USA website and register your interest. They are hoping to hold 7 or 8 Picademy USA sessions in 2017.







Sunday, November 27, 2016

Rise of the Robo-mice

While 4th and 5th grade have been engineering arcade games and programming in Scratch, the kindergarten through 2nd grade students have been taking the programming skills they learned during the first rotation into the physical world. The Code.org puzzles are an excellent starting point for students to learn how a computer program is constructed and to practice the algorithmic thinking needed to accomplish a task. I moved these classes to programming robots for two reasons: first, so they could see their programs play out in the real world rather than on a screen, and second, because robots are cool.

Students begin the unit by being introduced to the robo-mouse. It is about the size of half a grapefruit with 7 buttons on its back. There are 4 directional buttons shaped like arrows, a "run" button, a "clear" button, and a button that makes the mouse perform a random special action. Each kit comes with a set of large tiles that can be linked to create mazes for the mouse to navigate. Day one I taught the classes how to properly operate the robots and how to build the mazes. Then I let them explore and build whatever kind of path they wanted to program their mouse to run. We used the next few days working through the "Challenge Cards". This required students to build a pictured maze, use a small set of "algorithm cards" to plan their program, program the mouse, debug as needed, and finally record their program on paper. It took some practice, but eventually everyone was doing a marvelous job. I was particularly impressed with the teamwork displayed by so many of the student groups.

The second week of the unit varied a bit by grade level. Kindergarten and 1st grade used the robo-mice to retell a story, while 2nd grade created their own Challenge Cards. To tell their stories, students first drew a small story map showing important scenes and traced the path they would have their robot travel. The next day, teams were given a piece of chart paper to draw and color a story map large enough for robo-mouse to navigate. They then programmed their mouse and practiced telling their story as the robot scurried around their map. Students quickly discovered that talking while the mouse moved around the canvas took more practice than they thought. Many also had to overcome the challenge of the mouse moving to the different points of the map faster than the teller could speak. They persevered admirably and produced excellent work.

Second grade employed the design process and spent the week creating original challenges for their classmates to solve. First, they had to build a maze complete with obstacles, the robot's starting point, and the cheese that is the goal. They had to draw the maze on grid paper as accurately as possible. Next, students planned, tested, and recorded programs to move the mouse to the cheese. In cases where there was more than one correct path to follow, the teams had to record these multiple solutions on the back of the challenge cards they created. Students enjoyed creating the most complex mazes they could and challenging their friends to complete them.

So far, I am very pleased with how the students are adapting their prior knowledge from Code.org to programming the robo-mice. Some have been challenged by writing programs in 3 dimensional space, some have struggled with building the mazes pictured on the cards. The biggest adjustment students have needed to make to their thinking is in the use of the left and right arrows on the mice. In Code.org Course 1 the arrows used to build programs all correspond to the cardinal directions and move the characters north, south, east, or west on the screen. On the mice, the arrows represent forwards, backwards, turn left, and turn right. The turns do not move the mouse to a new location, just rotate it in place. Initially this difference lead to programs full of mice spinning in circles. However, the students adjusted quite quickly. That will help them when the move on to Course 2 in Code.org where the programming blocks for movements and turns are similarly differentiated.

The 3rd graders are also learning to program robots, but using a different device to do so. More about that in a couple of weeks.








Sunday, November 13, 2016

Step Right Up to the Sinclair Cardboard Arcade!

Games are serious business in the STEM Lab. For the second rotation of the year, 4th and 5th grade students are extending the engineering skills they learned in our first unit by constructing a cardboard version of an arcade game. The inspiration for this came from the short film "Caine's Arcade" about a boy in Los Angeles who turned his father's used auto parts store into an arcade filled with games he built with scrap cardboard.

Students began by creating a design journal that will be used for the remainder of the year, as this and other upcoming projects will require extensive planning and notes. Furthermore, the journal will allow them to reflect on the work they have done over the course of the year. Next students discussed in groups the characteristics common to all games and these were recorded on an anchor chart. They noted that games should be fun, games require strategy and skill, they have moving parts, and that they should not be too hard or too easy.

At this point, students watched the "Caine's Arcade" movie and were introduced to the particulars of their design challenge. I showed them examples of real arcade games like one would see at Dave & Buster's as well as some homemade versions like those in the movie. I also shared with them some "half-baked" prototype games of my own. Mine were deliberately unfinished (half-baked) in order to facilitate a discussion about improving a first draft of a project.

With the guidelines and rubric in hand, student teams got to work planning their games. Diagrams were drawn, materials lists were created, rules were drafted. As construction began, I was most impressed to see how students persevered through challenges by working together and helping each other out. Not only did the teams work well, but students were eager to help other teams with construction problems and ideas for improvement. I was also happy to see students being more thoughtful about their use of materials so that very little waste was generated.

As Sinclair is a STEM magnet school with a communications focus, students finished up their projects by inviting another class to play their games. The 5th grade hosted Ms. Tritico's 2nd grade, and Ms. Flores' 4th grade hosted Ms. Salzman's 1st graders. The visitors were invited to leave feedback about the games they played. Several teams went over the top with their games giving out tickets and prizes which I thought was a nice touch.

Another thing going on in the lab this rotation is getting the 3rd - 5th grade students started working in Scratch. The 4th and 5th graders used Scratch last year to program games and create animations that illustrate science concepts. However, this year, the wonderful people at MIT (where Scratch was born) have created teacher and student accounts that facilitate all of us working together on projects. Below are a couple of games made by a 5th grader and a 4th grader, respectively. (Both use the left and right arrow keys to move the catcher. Press the green flag to start.)




Check back in a few weeks another STEM lab update. It will be about robots! Also, I will put up a slideshow of the amazing games created by the classes who have not been to the lab yet.


Sunday, October 16, 2016

So Many Lines of Code!

Like my Kindergarten classes did, first, second, and third grade also began the year with Code.org. (A computer programming introduction in which students move blocks on the computer screen to build programs. Each block stands for a line of actual text-based computer code.) While, this program was completely new to K, most of the older students participated in a similar unit last year. First and second grade continued picked up where they left off in Course 1. The third graders, many of whom completed Course 1 last year, graduated up to Course 2. Both courses are introductory in nature. The primary difference is that Course 1 requires very little reading so students can focus on the thinking process and solving the puzzles. Course 2, is geared towards students who are reading and incorporates some of the higher level programming concepts.

I have found that teaching these programming skills helps students to develop their algorithmic thinking and problem solving skills. Often, students' only consistent practice with these is in math class. The Code.org courses provide a series of computer-based and "unplugged" lessons in which students work on their thinking skills in across the curriculum. Science, art, history, and literacy are all part of the Code.org program. Logical thinking and a creative approach to problem solving are vital in all subject areas.

I have been impressed with how much more skilled the returning students are in approaching the puzzles in Code.org. While some of the vocabulary may have escaped their heads over the summer, the concepts and knowledge have not. Even the 3rd graders who were starting a new level of the program were much more capable than the 3rd graders who started fresh last year.

Going forward, these students will continue to work in Code.org, but they will also  learn to apply their knowledge of programming to other tasks. The 3rd graders will move on to Scratch, a block-based program that is completely open-ended. I explain it to the students this way: Code.org is a workbook and a pencil to help them learn the basics, Scratch is a blank sheet of paper and all the paint, makers, crayons, and colored pencils they could want so they have complete creative freedom. All of the students who have been working in Code.org this rotation, will be introduced to robotics next time. The algorithmic thinking skills that they have been honing will take on a physical dimension as they learn to program a robot to perform different tasks.






Saturday, September 24, 2016

Prekindergarten Building Stars, Kindergarten Programmers

Last Saturday I spent the morning at the School Choice Fair, and enjoyed the opportunity to share some of the amazing things that go on at Sinclair. A great many of the people who stopped by to talk to us were looking for Kindergarten and Pre-K programs. That got me thinking about what I have done with these grades in the past, and what I have planned for them going forward, so it seemed like a good week to write about the youngest engineers and computer programmers that I teach.

I will begin with Pre-Kindergarten. My schedule last year did not include them, so this is the first year that I have seen them in the lab. I teach each Pre-K class once a week (rather in than in a two week block as with the other grades), so they are not working on a themed unit like other grade levels. Instead, during each class period I guide them through a set of activities in which they have the opportunity to practice their creativity in a variety of ways. It is important to start children early with creating and making things so that it becomes a habit. There is also a great deal of research that children, especially the young, learn best when they are given the opportunity to explore and build, to "construct knowledge".

We start each class with a song or two. The first was "Twinkle, Twinkle, Little Star", which many students knew. Few of them, however, were familiar with the idea of a song that had hand motions. That was perfect because it allowed us as a class to imagine our own. I asked questions to get them thinking like, "What does something look like if it twinkles?" and "How could we show 'up above' with our hands?". After a few good minutes of conversation and practice, we had student generated hand motions for "Twinkle, Twinkle." (I was most impressed a couple weeks into the year when one of the students noticed that "Twinkle" is set to the same tune as "The ABCs".) We have repeated the process of creating hand motions now for "London Bridge" and "This Land is Your Land".

Next, we move on to some kind of hands-on creating. So far, this has included drawing images from the songs we are singing or activities we have talked about. Also, I have had them building with Unifix cubes. We are 5 weeks into the school year now and I am amazed at how much more complex their structures have become with a little encouragement and guidance. The first week, every student built the longest stack of blocks they could. Standing up, it was a tower, on the floor, it was a snake or a train. After a short class discussion about what bridges looked like, they began building some very exciting structures. It has been wonderful to watch them break away from the one dimensional train of blocks. In addition to bridges, they are now building houses, cars, and animals.

Kindergarten, who I see two weeks at a time, by class, began the year learning the basics of computer programming. They use a resource from Code.org designed for early readers in which students solve a series of puzzles using blocks that represent lines of Javascript code. The students create algorithms that navigate characters through sets of mazes or that draw pictures. The goal is to get them thinking logically about the steps needed to accomplish a task. As they progress, the students learn about concepts such as looping and debugging. Another important part of this unit is what is called "pair programming". In this, students work in teams of two with one acting as the "driver" and the other as the "navigator". The driver uses the mouse and keyboard while their navigator watches for mistakes and offers suggestions. A great part of this program is that both students are able to login as a team, so that both are earning credit for the puzzles they solve together.

I started using Code.org with my 3rd graders a couple years ago (when I was still a regular classroom teacher). They are now 5th graders entering their third year of computer science instruction. While it is anecdotal evidence at best, those students seem more skilled in algorithmic thinking than they might otherwise be. I have had subject area teachers tell me that they have seen the students make connections between the computer science skills I have been teaching them and the work they do in their classrooms. All of which is to say, I am excited to see what my current kindergartners and first graders will be capable of by the time they get to 4th and 5th grade. I suppose I am just hoping that I am able to keep up with them.