Showing posts with label robotics. Show all posts
Showing posts with label robotics. Show all posts

Tuesday, December 12, 2023

STEM Lab 23_24 Round 3

We have had another awesome round in the STEM lab. From storytelling with robots to miniature museums, the students have created outstanding projects. 

Kindergarten & 1st Grade

Our youngest Superstars returned to computer programming this round. This time however, there were no screens involved in their coding. Rather, the students wrote programs for a pair of robots; the perennial favorite, Robo-Mouse, and exciting newcomer, Bee-Bot. Students built mazes of increasing complexity for Robo-Mouse to navigate. With the Bee-Bots, students creates sets and costumes and programmed the robot to act out the main events of a story. 

There is a saying of uncertain origin among computer programmers that goes something like this: the good news about computers is that they do exactly what you tell them to do, the bad news about computers is that they do exactly what you tell them to do. Of all the coding activities I do with students, none evokes the spirit of this aphorism more than this robotics unit. The number of times I have heard some variation of the phrase, "I programmed it right, but it's not working" from the students during robot week is beyond reckoning. However, I do not think any unit in the whole of the STEM Lab curriculum I have created more completely drives home for students the importance of clear, orderly commands when coding than this one. 


2nd Grade

One of the best things about being the STEM lab teacher is the mandate to create learning opportunities that allow students to discover the connections between the different content areas. The Math Stories unit is a favorite of mine for a variety of reasons. One of those reasons is that thing I miss about being in a regular classroom is getting to teach books on a regular basis. Another one of the reasons is chance to let students play with and explore math concepts which is sadly not a regular part of the standard issue math curriculum. The books I chose for this year's 2nd grade math stories unit were: A Remainder of One, One Hundred Hungry Ants, Grandfather Tang's Story, and Perfect Square. The first 2 titles explore ideas related to multiplication and division while the other two are an opportunity to play with geometry. 


3rd Grade

Third grade also returned to computer programming this round. This was the first half of a two part project that will combine both digital and physical elements. Inspired by my National Geographic and Lindblad Expeditions Grosvenor Teacher Fellowship this past summer, students researched an arctic animal, taking notes on its habitat, behaviors, and the challenges it faces. They created a Scratch project to share what they learned from their research using pictures from Britannica and National Geographic to illustrate the facts they included. 

This is the first project that I have the students do in which they use Scratch to create a product with a specific purpose. It is when I teach them to add pictures to their Scratch programs and when they learn about key press events. In the next round they will create a poster about their selected topic and wire it to a Makey Makey that will allow users to control the Scratch project by touching different parts of the poster. When everything is complete they will share their projects with a visiting class and administrators. 

The Scratch projects are in studio that can be viewed here. Please note that some of these are works in progress.


4th Grade

The fourth grade classes wrapped up their biography projects this round and presented their work to visiting 2nd grade classes. Previously the students researched the life and contributions of a chosen historical figure. They had a variety of choices ranging form artists and composers to inventors and scientists. In this round the students put the finishing touches on the Scratch projects they created last time in the lab and built a model of their subject using a plastic bottle, cardboard, and construction paper. At the end of the week they connected their models to their Scratch projects with our old friend Makey Makey and presented their finished products. Not only was I proud of the amazing job the 4th graders did explaining their work to our visitors, but I was so impressed with how the 2nd graders grilled their hosts with questions about the historical figure, the working of the Scratch project, and how the model was constructed. 


5th Grade

The 5th grade also completed the second half of a larger project this round and presented their learning. This project too was inspired by my Grosvenor Teacher Fellowship expedition. Students researched the arctic ecosystem and the issues facing the natural and human communities of the region in the previous round and programmed a digital museum room using Scratch to share what they had learned. In this round they constructed a miniaturized physical version of their digital museum exhibit. The door to this model was wired to a Makey Makey so that opening it triggered the Scratch project to begin narrating the contents of the museum. At the end of the week the students shared their work with visiting first graders and administrators. 



Tuesday, February 4, 2020

I, Robo-Mouse

It's a new year and the beginning of a new rotation in the STEM Lab. The third grading cycle finds our Kindergarten and first grade students discovering the joys of programming robots with our old friend, Robo-Mouse.

This is Kindergarten's first robotics experience in the lab. It builds on the introduction they had earlier in the year to computer programming via Code.org and Scratch Jr. The first day involves an overview of the proper care and handling of the robots. The Robo-Mouse is quite affordable, but it is not terribly robust and the axles can be stripped a little too easily if students are too rough. Over the years I glad to say we have only lost a few robots to this kind of abuse. Following a brief introduction, students break into groups of 2 or 3 and build mazes and practice programming.

After an exploration day, the students spend a day working with the challenge cards. These two-sided card have a drawing of a maze showing the position of the mouse and the cheese as well as the walls and tunnels. Part of the challenge for students is cooperatively building the maze according to the picture on the card. Once the maze is assembled, the teams work on the programming. The biggest stumbling block I have found in the transition from the Code.org puzzles to Robo-Mouse is that with the robot a turn and a move requires two commands. In the Code.org puzzles, at the Kindergarten and 1st grade levels, students only program movements. Turns as separate commands are not introduced until the 2nd grade.

Once students are comfortable with programming the Robo-Mouse, I introduce them to the algorithm cards. These cards have arrows corresponding to the buttons on the robot that are used for writing programs. Continuing to use the challenge cards, students have the added task of creating their algorithm using the those cards and then programming it into the robot. This helps the teams debug their programs as them can follow along step-by-step and identify where they went wrong.

For 1st grade, the unit begins in a similar fashion, with an introduction to the proper handling and a review of the programming. This is partly because it has been about a year since most of the students used Robo-Mouse, and partly because there are inevitably a few students in each class who are new to Sinclair and have no prior experience with robotics.

They too get a few days to explore and then to practice with the more complex challenge cards. First grade also reviews the use of the algorithm cards. As the students become more comfortable with programming the robot, they seem to become less interested in using the algorithm cards to show their work. I keep on them about it though as it forces them to check and recheck their programs. Otherwise their programming successes look more like trial and error rather than a result of deliberate choices.

The 1st grade only spends a couple of days on the challenge cards. Their real project for this unit is to use the Robo-Mouse as part of a story retell. Students create a story map of a tale of a familiar tale. They then illustrate the important points in the story and place these along a path that they build for the robot. The robot gets programmed to move along the path and as it passes each illustration, the students recount that moment in the story. I model every part of this process using a book that I read to them at the beginning of this phase of the unit. This year I have been using I Want My Hat Back by John Klassen. The story the students have been retelling this year is The 3 Billy Goats Gruff. In most things I give the students choices about this kind of thing, but I have found that for this kind of project, with 1st graders, a choice of stories leads to overly ambitious choices and students do not have enough time to complete the story they want to tell.

So far this rotation, the best thing I have overheard is a couple of first graders struggling with a particularly complex maze of their own design. The student whose turn it was to program groaned, "Ugh! This is so hard!". Their partner agreed, "Yeah, it is," and then added, "but it's fun too." The first student replied, "Yeah, I know" and then they both went back to work debugging their program.











Saturday, February 16, 2019

Robo-Mouse Runs Again

For Cycle 3 in the STEM Lab, our friend Robo-Mouse returns to play with our kindergarten and first grade classes. This is a new experience for the kindergarten, while first grade was introduced to Robo-Mouse last year. In either case, this is a chance for students to apply their computer programming skills without the screen.

For kindergarten, the unit started with a review of the skills and concepts they have learned so far this year using Code.org. They are reminded of the difference between and algorithm and a program. We go over the strategies they use for debugging their programs. After having their memories refreshed, they worked in their Code.org courses taking turns as the driver (person operating the Ipad) and navigator (person who watches for errors and offers advice).

Next, students are introduced to the Robo-mouse and how to appropriately handle it. (This is an important lesson as the Robo-mouse lacks in durability what it gains in affordability.) This first day is, for the most part, an exploration and discovery kind of day. Their only assignment that day is to build an L shape with the mouse at one end and the cheese at the other, then to program the mouse to the cheese. It's simple and it gives them a feel for assembling the maze pieces and understanding the difference between the turns in Code.org and on the Robo-mouse. In Code.org "turn" and "move" are accomplished with a single command while on the robot "turn" is one command and "move forward" is another. This is a bit of an adjustment for them, but they have mostly figured it out pretty quickly.

After a day of exploration, students practice building mazes from cards and programming the solutions to those mazes. The mazes become progressively more challenging as their skills improve. One of the challenges of the cards has nothing to do with programming, just building it to match the picture. I have found over the last couple years of teaching with Robo-Mouse that this is good for their spatial reasoning. A couple days into this, once they are comfortable using the cards to build their mazes, I introduce the algorithm cards. These are a way for them to keep track of the steps of their programs as number of steps in each solution increases. In a Code.org program every step is easily visible on the screen. Using Robo-mouse, however, once they enter a step into the robot, it is invisible. They can only see if a step is correct when the machine executes it at the intended time. When they watch the cards while the robot runs the program, they are able to see where the program breaks down and make adjustments at that pint rather than returning to square one.

As for the first graders, the unit starts in a similar fashion. Students review programming concepts in their Code.org courses before having an exploration day with Robo-mouse. They are reintroduced to the algorithm cards and debugging strategies. One thing I have them do is record an original maze on grid paper. Basically they are making their own maze cards. I have them record a solution to their maze on the card using arrows like those on the algorithm cards.

First grade's big task with Robo-mouse was using it as an element of a story retell. This started with them creating a story map for a fairy tale or story they like. (I used "This Is Not My Hat" as my example.) The then quartered that paper so that one part of the story was at each corner of a square. Students programmed the robot to go around the square, telling the main events of the story at it traveled from one corner to the next. They found that it is is not as easy as it sounds to tell summarize a story in the 30 seconds it takes Robo-mouse to run the perimeter of the square. It was fun to watch them practice finishing what they were saying before the mouse turned the next corner. I think that in the next iteration of this unit, I will let them design pieces to be the setting and costumes for the robot so that it can act as a character in the story.











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, 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, 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, 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.