Tuesday, November 14, 2017

Micro:bit = Macro:awesome!

Thanks to the the generosity of some wonderful people and Donors Choose, the lab now has a set of BBC Micro:bits. These tiny, programmable boards were first tried by our 5th graders during the first cycle of magnet classes. They only had a week on account of the late start to school. This cycle, the 4th graders are getting a more in depth experience with the Micro:bit.



I wrote about the Micro:bit in a previous post so I won't go on about it here. Suffice it to say that it is a marvelously user friendly board for students. It provides them with the opportunity to learn about a variety of inputs and outputs using a block-based programming language with which they are already familiar.

The unit started off with a scavenger hunt of sorts designed to help students become familiar with the most commonly used blocks in the palette. The Micro:bit is capable of some highly sophisticated programming and I wanted to steer students away from the more advanced block until they were familiar with the basics. So far, the classes I have seen so far have done a great job working through the tasks and connecting the work to their previous programming experience. Once the teams complete the scavenger hunt, I provide them with a guide to making a "rock, paper, scissors" game where the Micro:bit shows your choice rather than using the traditional hand gestures.



The next part of the unit incorporated the Micro:bit into a design and making challenge, the "micro:pet". Students worked in teams to design and build a pet with the Micro:bit playing some part in bringing the pet to life. At this point, only half of the 4th grade classes have completed this, but so far the results have been amazing. We have had all manner of creatures, both real and imagined, and some incredibly clever programming to go along with them. The wide variety of inputs available on the Micro:bit means students can create a number of behaviors for their pets.

The final part of the unit is for student teams to create a program with as many different inputs and outputs as possible. This is the point when I have given them more or less free reign to explore the palette of blocks and make use of whatever they can make work. Needless to say, most groups have gravitated towards the "Music" menu and there has been a lot of bleepy noise at the end of week two. Good times!




It has been great to the see the excitement students have for the Micro:bit. Personally, know all that is possible with it, I am excited for all the projects to come!












Saturday, October 28, 2017

How Fast Can the LED Blink?

This highly unusual school year has settled down to the point where things feel more-or-less back to normal. So I will be going back to my rough schedule of one post every couple weeks, each highlighting the work of a particular grade level. This post starts at the top with 5th grade.

Physical computing refers to using a computer to control the actions of physical objects. It is a chance for the 5th graders to combine their computer programming skills with their knowledge of electrical circuits. The computer gives them more control of their circuits than a typical switch. For this unit, students used the Raspberry Pi computer. It is a low cost, single board device that has all of the functionality of a typical desktop, but with a set of 40 input/output pins that allows users to connect and program components like LEDs, buttons, buzzers, and motors. The Pi operating system includes a number programming languages for students of all levels. We started with Scratch, a block- based programming language with which students are already familiar.




The unit began with an overview of the Raspberry Pi itself, with attention to how it is similar to and different from a traditional PC. Following that, we reviewed the use of components like LEDs, resistors, jumper wires, and breadboards. This group of students used these parts last year, but it was necessary to explain how their use differs on the computer. Over the course of the first week, students worked with partners to build increasingly complex circuits controlled by Scratch programs. The final "test" was to build an LED traffic light and program it to run the sequence from red to green to yellow and back to red at the push of a button. The teams quickly realized that this simple sounding task is not quite as easy as it sounds. Getting each part working in the correct order took more planning than they expected, but each group got their lights going eventually. Then, as usual, they set the wait time to a decimal and competed to see who could get the LEDs blinking the fastest.




Once they were feeling confident with physical computing using Scratch, I introduced them to Python. This is a professional level programming language that is user friendly enough for 5th graders. We repeated the same circuits they had built for their Scratch programs so that they could compare programs that achieve the same end with different means. After a couple of days, most students say they prefer Python to Scratch for physical computing. Some say that it's faster to type the Python than to move all the Scratch blocks around, while others feel like Python is more real. In any case, everyone has done well with their taster lessons on text based programming.




For their culminating project, the student teams returned to Scratch to create some kind of quiz game that incorporated the electromechanical components studied. Most of the teams in this block opted to make multiplication games, and one decided to make a world capitals quiz instead. This was the first of the 4 groups that will come through the lab for this unit and I am excited to see how it goes with the others!


Sunday, October 8, 2017

Time flies when the year starts 2 weeks late!

What a year it has been, and we are only 4 week into school! It certainly has been a whirlwind, and for me, it feels like we have been marching double time to get caught up on the days we missed. Usually, students spend a 2 week block in the STEM lab which allows for great project based learning. Starting the year on hurricane time has meant cutting that block back to 1 week for the first grading cycle. It took some creative adjustments to my plans, and overall things have gone quite well.

My typical STEM lab updates focus on a single grade level. However, with the last week of this first rotation set to begin, I am going to give an overview of what each grade has been up to for the start of the year.

Kindergarten, first, and second grades have started the year with Code.org coursework. For Kindergarten, this is their introduction to computer programming. They have learned about algorithms and programs. Some have taken to coding so well that they have gotten to the point where they are learning to use loops. We have also talked about the importance of persistence, not just in this unit, but in all STEM lab projects. 

For first and second grades, this unit has been a review of the computer programming principles that they learned last year. I was actually considering not having second grade of Code.org this year since it would be the same course for a third year. However, the Code.org team performed a massive upgrade to their course structure over the summer which made the second grade course a perfect bridge between the early reader puzzles and the more advanced work I will have them doing later in the year.

The third graders spent the first couple of days this rotation learning about digital etiquette and cyberbullying with Brain Pop. They watched the movies while taking notes in their journals. When they were done, they worked in small groups to make graphic organizers with Brain Pop's "Make-a-Map" tool. This was a set up for the second half of the week when I introduced them to their Scratch accounts and to the Scratch commnity. Scratch is a block based programming language developed at MIT to allow children to use coding as a means of creative self expression. Scratch is also an online community that allows the students to collaborate on projects with helpful feedback and encouragement. The students were so excited to make their first projects and share them to the class studio.

Fourth grade also spent some time studying good digital citizenship habits and getting reacquainted with Scratch. Their main project however was creating cardboard automata, a project inspired by the Tinkering Studio at the Exploratorium in San Francisco. These simple devices use two cams and axles to change the direction of rotational motion. Students built their machines using reclaimed milk cartons and cardboard. Once they managed to get the rotation working, they unleashed their creativity and decorated their work. We have had a sea of spinning butterflies, dancers, rocket ships, banners, and more! I have been amazed with the work and attention to details that I have seen, and I am looking forward to what they create in their second rotation through the lab.




The unit I originally had planned for fifth grade absolutely requires 2 weeks, so I pushed that back to the next grading cycle. Thanks to the generosity of several marvelous people and Donors Choose, the lab now has a class set of BBC Micro:bits to program. These tiny microcontrollers have a 5x5 LED matrix, 2 built-in buttons, input/output pins, an accelerometer, and Bluetooth communication. All that, and they can be programmed using the Blockly language with which the students are already familiar. The fifth graders have had the opportunity to be the first students at Sinclair to use these fantastic boards. They have a have a great deal of programming experience at this point and I have been so impressed with how they have been able to adapt their previous learning to a new device with little to no trouble. Among other things, groups have made "rock, paper, scissors" games, animations, "mood badges", and a host of silly, though nonetheless impressive, projects hilarious to 5th graders but bemusing to me.



Finally, this past week saw the beginning of the various after school digital making and robotics clubs. There was an overwhelming amount of interest this year, far more than I could accommodate. I am working to be able to expand the reach of these programs so that more students are able to participate. More information on that will be forthcoming in the next month or so.






Sunday, August 20, 2017

Welcome to Another Year of Amazing

The summer just flies by doesn't it? It seems like just the other day I was putting everything in boxes and locking the cabinets. Now I am trying to remember where I put everything as I set up for the coming year.

For those who are new to Sinclair, welcome! For those of you returning, welcome back! I am looking forward to another exciting year in the STEM Lab. This will be the STEM Lab's 3rd year and I feel pretty comfortable saying that it is going to be the best yet. I have a wealth of projects planned that will challenge the students to think in new ways and to build things they never thought possible.

Testing the Scratchboard with
Mitch Resnick of MIT
OMG! It's Colleen Graves!
I hope that everyone had a great summer. I sure did! A definite highlight was getting the chance to attend the International Society for Technology in Education (ISTE) conference in San Antonio. It was an exciting chance to meet and learn from some some of my educational technology heroes, and to see what is new and upcoming in the field. I attended a pair of workshops led by Mitchell Resnick, one of the creators of the Scratch programming language. I met the amazing Colleen Graves the inspiration behind so many of the projects we did last year. I finally got to meet the team from ScratchEd, Willa and Karen, who wrote an awesome article about the work Sinclair's students have been doing in the STEM Lab with Scratch. I presented some of the work students did last year on the Raspberry Pi computers we have in the lab at the ISTE Raspberry Jam. Also, as part of the conference, I got the chance to become a Certified BrainPop Educator. There were so many amazing things to see and people to talk to that I cannot possibly list them all. Suffice it to say that it was a truly awesome experience.
The ScratchEd Team, Karen & Willa

I spent big part of my summer visiting family and taking my daughter to visit colleges. It was great to spend some time traveling (which many of you know is a big part of my summers) and seeing new places.

It's Moby from BrainPop!
It is going to be an incredible year in the lab! Sinclair will once again have Schlumberger sponsoring our after school coding clubs. We will continue to participate in HISD's UIL contests. The robotics club will venture into uncharted territory with Dexter Industries' GoPiGo robots. Watch for information on these opportunities in the next few weeks. As always, let me know if you have any questions. Be sure to drop by the lab during Meet the Teacher on Friday, August 25, from 4:30 to 6:45. Check the Sinclair website for more information.








Sunday, May 21, 2017

Made with Scratch, and with Scratch Jr.

For the final rotation of the year, I decided to introduce the 2nd graders to full size Scratch. I had done a few lessons with them using Scratch Jr. which is a programming tool for early readers. These lessons focused on how to use the various commands to create different movements and actions. The great successes the students had with Scratch Jr. led me the decision to take them to the next level. In doing so, I hope to have them ready to use Scratch as a means of expression in their work next year.

During the first week of the unit I had students work through the built in tutorial lessons found in Scratch. After a brief introduction to the user interface, drawing their attention to the various palettes and drawing tools, I set them to work on the "Animate your name" lesson. Students worked in partner groups as pair programmers, taking turns as drivers and navigators. This partner work helps by lending each project 2 sets of eyes to read the directions and to watch for mistakes. Over the next few days, the students made a number of different games that employed a variety of programming techniques including different kinds of loops and conditional statements.

The second week began with an introduction to using broadcasts to control the flow and action in the programs. I started with a whole group example program using a knock knock joke. In the program the sprites each say their portion of the joke at the appropriate time. This is accomplished by coding each statement the sprites say as separate script, each initiated by a broadcast. The first task I set the groups was to program a simple conversation. Many elected to copy the knock knock format, but others decided to try to create an original conversation. Keeping their broadcasts in order proved challenging to many students. As the conversations grew in length and complexity (thanks to the addition of more sprites), the number of broadcasts also grew. They worked on programming conversations and stories all week. There was some frustration when all of the sprites started talking over each other. However, there was a lot of excellent debugging practice as well. By the end of the week, most groups had succeeded in creating a story with conversations, movements, and scene changes. No two stories were alike, which is the most wonderful thing about Scratch, the amount of creative freedom students can have while still working on the same assignment.


As I had done with second grade, I also taught Scratch Jr. lessons to the kindergarten and first graders. The focus was on using the various tools and giving the students time to explore and experiment. During this final unit, I wanted to begin to teach them how to use Scratch Jr. to show what they have learned about a topic similar to what the 3rd and 4th graders have been doing. So each day we started by watching a Brain Pop Jr. movie about a different topic; parts of a plant, frog life cycles, the seasons, etc. and made some kind of illustrated foldable paper display for the information gathered. The next class, after reviewing the previous day's topic, student pairs then worked in Scratch Jr. to create a program that shared what they knew about that subject. I offered some guidance about getting started for each topic, but most of the creative choices were left to the students. They had to learn about drawing their own sprites and backgrounds. They also had to master the Scratch Jr. version of broadcasts to initiate scene changes and sprite conversations. The most truly wonderful part of watching the students work on their programs was the moment each day when a student made a discovery and called to his or her neighbor and said, "Look at this!". The neighbor would inevitably ask, "How did you do that?" at which point the first student would teach what they had learned. In this way, discoveries spread across the room from all directions like ripples in a pond.

In the end, I am so proud of the amazing work these young coders have done and I am so excited to see where they will take this learning next year.


Friday, May 5, 2017

Makey Makey-ing Interactive Displays

For the final STEM Lab rotation I wanted 3rd and 4th grade to employ all of the skills they developed this year. They constructed cardboard arcades and costumes for robotic story retells. They created a variety of Scratch projects, some to share content area knowledge, some just for fun. So I planned a unit that would require both their physical and digital making acumen. Enter the Makey Makey.

The Makey Makey is an input/output board that allows students to create circuits that act as keyboard presses. Using the programming language Scratch, students are able to create projects with an interactive dimension. The end product of this unit is an interactive poster or display that responds to the user's touch to activate the different parts of the program.

Students were organized into pairs and then used the project selector to be assigned a topic. This was the first introduction to Makey Makey for most of them. The project selector is a Scratch program I created with several lists of topics. Students pressed one of 4 foil switches left over from our STEM night, and the project told them their topic. (Third grade received a science concept, 4th was assigned an influential woman from history.) This was followed by a day of research. Student teams recorded their information in journals and then planned their Scratch projects. They grouped their facts plotting what images or animations would be on screen at the time. The teams also had to plan their physical display pieces. I showed the classes a few half done versions of the projects to give them a starting point. Most groups ended up far exceeding  my ideas in terms of creativity and skill.

With their research and planning finished, the teams began creating their Scratch projects and displays. Students learned how to insert photographs and other graphics from their research into the program. They also learned about proper citations of sources and images. The Scratch presentation required students to build scripts around key press events. For example, when the space key is pressed the background changes or an animation begins and a sprite tells a piece of information about the topic. Other key press events cause different things to happen in the program. The displays could be anything from posters to paper sculptures. There was a wonderful variety of display pieces; posters like protest signs, a 3D submarine, a model of the UNIVAC, and a diorama of the jungle.

Once both parts, digital and physical were complete, the groups used copper foil tape with a conductive adhesive to "wire" their projects. Metal fasteners were used as buttons on the outward side of the display with the wires on the reverse. The Makey Makey uses alligator clip wires to connect the contacts on the device to the copper foil wires. Each contact is designated as a particular key, space, the arrow keys and 6 letters. The user touches a ground point on the display with one hand and one of the buttons with the other, thus closing a circuit. Makey Makey signals the computer that a key was pressed. The act of wiring and testing that touching the display caused the correct response in their program was an excellent exercise in basic circuits and debugging.

As always, I have been deeply impressed with the work the students produced. Now that they are familiar with using Makey Makey I cannot wait to see what they do with it next year!












Tuesday, April 11, 2017

That is so cool! Physical Computing with Raspberry Pi

Last year I added Raspberry Pi computers to the STEM lab. My main reason for doing so was to have more computers available for my after school coding club. The more familiar I became with these amazing devices, the more I wanted to teach a whole Raspberry Pi unit to my regular classes. The problem was that I was not quite sure where or how to start. Then I was fortunate enough to be selected for the Picademy training held in Austin this past December. (I wrote about that amazing experience here.) This unit is the result of what I learned there. It is a work in progress, a "first attempt in learning" as they say at Picademy. I will take all of the lessons from this unit, including student feedback, and use that to plan Raspberry Pi units next year for at least 3rd, 4th, and 5th grade.

I decided to put the focus of this unit on physical computing, using a computer to control or respond to events in the real world. During the previous rotation in the lab, 5th graders learned to use a breadboard to build circuits using LEDs, buzzers, and buttons. These circuits were battery powered, so the set up was a little different. (That was the first thing I learned in fact, be explicit about the differences between wiring a circuit to a battery and to a Raspberry Pi.)

We started our physical programming adventure with an overview of the Raspberry Pi, paying special attention to how it differs from a "normal" computer. The Raspberry Pi was designed specifically for teaching computer programming and digital making skills to children and comes loaded with a number of programming tools and languages. One of those pre-loaded languages is Scratch. The students are already quite familiar with using the "broadcast" blocks in Scratch to tell stories and control the action of their projects. These same blocks are used to configure and control the GPIO pins that make physical computing possible. I started them off with blinking LEDs and then button operated LEDs. As red and green LEDs blinked to life, the room was filled with surprised gasps and exclamations like, "It worked!". It was one of these beautiful teaching moments when you know for certain that every student is engaged and genuinely excited about what they are doing. After their initial successes, students went wild adding LEDs and tinkering with the blink speed. The final challenge was to build a traffic lights arrangement of LEDS, operated with a button. This is a fairly complicated task, not because the sequencing of the lights is difficult, but because of the large numbers of broadcasts that are needed. I am proud of how the students I have had so far have persevered and succeeded. This part took a day longer than the two that I thought it would take, but that has not been a problem as it allowed the students extra time to experiment with their code.

.From Scratch, we moved on to Python which is text-based, unlike Scratch which uses blocks. I set them essentially the same tasks, blinking LEDs, buttons, and traffic lights, but this time they had to type everything. This took the necessity of careful attention to details to a whole different level. Python is extremely user friendly for students, but syntax and indentation does matter. At first, there many error messages. Once again, I had reason to be proud as my students, albeit with much grumbling about commas and capital letters, stuck to their work and overcame the challenges. Students having an understanding of the two languages also provided an excellent opportunity to compare them to highlight their similarities, and to dig deeper into computer science concepts like abstraction.



The final two days of the unit are a mini project in which students apply what they have learned to another program. The first group created a multiplication quiz game in Scratch with LEDs that light when the player answers, red for an incorrect response, green for the correct one. This the end of the second rotation and the students are just starting these final projects. I am experimenting with giving them a choices of final product. A few selected the multiplication quiz (those with a pronounced preference for Scratch), but most elected to work through a tutorial on programming Minecraft Pi with Python leading up to combining physical computing with events in the Minecraft world. I am so excited to see how these projects turn out, and to see what the next 2 groups achieve.







Sunday, March 5, 2017

Building Creative Confidence in K-2

The first two units of the year for kindergarten, first, and second grade were focused on computer programming and algorithmic thinking skills. They started with a unit of Code.org computer science, and then worked with robo-mouse and a bit of Scratch Jr. programming. I wanted their 3rd unit to move away from the computer for a while to do some hands-on building and making. I decided to divide the unit into two mini projects, the first focused on guided/directed building, the second much more open-ended.

The theme of week one was architecture. We began by reading the book "Iggy Peck: Architect". It's the story of an architectural prodigy whose singular passion for building at first causes friction with his classroom teacher, but ultimately saves the day. For this portion of the unit, the building materials were drinking straws and chenille sticks. My plan was to have students start by building basic 2D shapes, and then connect those shapes to make more complex figures. However, a number of classes (1st and 2nd grades) had students who independently discovered the technique of using 2 chenille sticks in one straw end to construct 3D figures. This led me to differentiate the builds a bit to account for the different levels of building acumen. For kindergarten, we focused mostly on 2D shapes and identifying their attributes. Kinder did try their hands at 3D building, but for some the fine motor coordination was too much. With first and second I stuck to my original plan of a 2D day, a 3D  day, and 2 building challenges.

Building challenge number 1 was to construct a tower that would hold a ball several inches off the table top. This challenge provided an excellent lesson in keeping one's focus on the intended function of the structure. In each rotation I had groups that built amazing towers over 2 feet tall, but that did not manage to elevate the ball because their focus was on building up, not for holding the ball. Another teachable moment from this challenge was that triangles are more stable than squares. Many groups built structures that could hold the ball, but that twisted and fell due to a lack of support when the ball was added. Some teams kept building past the point that was necessary because they did not think to test what they had built. That said, each class had teams who managed to build something to hold the ball.

The second building challenge was a bridge the could span a 12 inch distance between 2 boxes. Again, there were groups who lost sight of what they were building for and dismantled workable models because they did not take the time to test their structures. Some teams built simple beam structures, while others built triangular supports and overhead trusses.The most impressive part of the bridge challenge was seeing the students use what they had learned from failures in the first challenge to avoid making the same mistakes. As usual, with this and the first challenge, the students surprised me with their abilities and creativity.


The second part of this unit was themed on animal adaptations. We started by looking at a variety of animals and discussed their various adaptations and how they were suited to survive in their environments. Students were challenged to design an animal that was a mash-up of two or more animals, incorporating both animals' adaptations. They had to explain how each adaptation contributed to their imagined animal's success in its particular habitat. First, students drew and labeled pictures of their animals highlighting the adaptation they thought were most important. Then they built a 3D model of their animal based on their drawing using a variety of upcycled materials. Finally, they constructed a model of the animal's habitat using a file folder and the same upcycled resources they used for their animal models.

This portion of the the unit was hard on those students who are not yet fully comfortable with the creative freedom I strive to provide in the lab. They kept asking questions that started "Can I..." and "Is it OK if..." and so on. Building my students' creative confidence has been one of my personal goals this year and this unit has shown me that, while things are not yet where I would like them to be, we are moving in the right direction. From the beginning of the year to now, there is a noticeable decrease in the number of students holding their work up to me and asking, "Like this?". And that is what I call progress.












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.