Category Archives: Computer Programming

Ozobot :: Lesson Extensions :: Maps

This past summer, I introduced these Ozobots to my young campers (ages 7 – 10). They were excited at the idea that this little robot would follow a hand-drawn line. There’s something about combining “high tech” and “low tech” that they find baffling – and that instantly draws them in. They know markers. They’ve been working with them for years, so the barrier to entry is very low. It’s the perfect way to introduce them to these tiny bots and to enforce (or introduce) the idea of computer languages.

A student is testing out the programming codes for an Ozobot.

A student is testing out the programming codes for an Ozobot.

While I think computer programming is a great skill to have (or at least be aware) for this next generation of children, I place a greater value on being creative and persistent. These little bots can encompass both of these skills. As I’ve said before, the paper and marker language is not always consistent and thus, children (and adults) need to have some grit to be able to solve their problems. Sometimes the bots need to be re-calibrated, sometimes the marker line is too thin, etc.

So, how to help them move forward after the initial play period has worn off? Maps.

Making a map of places for an Ozobot to visit.

Making a map of places for an Ozobot to visit.

Once they understand how the Ozobots work and how they read their color-coded computer language, I asked my students to create a map of places for their little bot to visit. The instructions were open-ended, but I ended up asking lots of questions about their favorite places to visit. The task seemed a bit overwhelming at first, but after asking them to draw one place that they would love to visit, they took off.

There was a lot of giggling and hastily-drawn buildings as the Ozobot would randomly choose paths to take. Some of the students had deliberately added lots of fast food restaurants to their map and they were delighted when the Ozobot would “eat out” way too much. It prompted an additional doctor’s office and hospital on the hand-drawn maps. What a fun way to teach the concept of moderation.

Each student’s map was different and they varied based on age, ability and interest level. For some of the younger, “less-art” kids, I sat with them and helped them to stay on task – asking questions and wondering where their Ozobot might want to go next. Did they like to visit the beach? Would they like to find work as a tractor on the farm? Maybe they wanted to visit a friend’s house?

In addition to helping them develop their creative muscles, this activity also helped students to see various paths to creating. Would they choose to create the Ozobot’s path first…with various color codes? Or, would they want to create places to visit first…and then add a path later? The decision-making was sometimes intense and there were lots of opportunities to think about how to plan out (or not) their Ozo-village. None of the children I worked with suggested using a pencil first, but this might be a great concept to introduce to an older crowd. Either way, they had fun, they learned something and hopefully, they feel confident knowing how a line-following robot works.

Hand-drawn maps hit all sorts of skills - planning, handwriting, spelling.

Hand-drawn maps hit all sorts of skills – planning, handwriting, spelling.

 

 

Part One :: Using Ozobots in a Classroom

These tiny line-reading robots have caused quite a stir with my younger students. They love the idea that they can make them “do” something, and they learn a little bit about automated guided vehicles (AGVs) and different program languages in the process. If you missed last week’s post about these little guys, read here before continuing with this article.

Planning to use Ozobots in a classroom

Planning to use Ozobots in a classroom

Since purchasing these robots, I have been in a constant “test and observe” mode when they are being used by young children. First, my own children and I played with them when they first arrived at our house. Armed with nothing but markers and a large sheet of paper, my boys (ages 6 and 9) and I enthusiastically drew lines and waited for the robots to obey our commands.

Random line drawings...that eventually became connected to see how far the Ozobot would go.

Random line drawings…that eventually became connected to see how far the Ozobot would go.

Next, I did a little research on how everyone else was using them. The educator community for Ozobots isn’t as extensive as it is with Scratch or Littlebits, but they have a few ideas on their web site. Finally, I came up with a general plan of action for my campers (ages 7-14), but ended up throwing out some of those plans as I watched and observed how they enjoyed using them. As a teacher, I am always changing my lesson plans, but here is my general guideline for using the Ozobots to assist young children with these programming concepts.

1. Have fun. Catch their interest.
My first rule of thumb with any new material is that it should first gain a child’s attention. If you have to explain ten rules on how it works, then that might not be the best way to start. You can add those lessons in later, but begin as simply as you can.

My first lesson demonstrates how they work. Grab a black marker and draw a line (in front of the students) and show how the robot follows it.

IMG_0773Of course, you need to calibrate your Ozobot each time since it compensates based on light and its sensors, but the teacher can do that before the lesson. Or, if space and time are tight, do it for the kids, but don’t make a huge deal about it. Calibrate it and then draw the line. You can point out the thickness of the line (since Ozobot doesn’t read skinny lines), but most likely they will pick that up in the next lesson.

2. Don’t explain. Just give them a large piece of paper and a black marker.
There’s something about using a very large piece of paper that makes an activity extra special. For now, hold onto the Ozobots. As a teacher, you will be delivering small group instructions to each group.

Keep an eye on the small group (3-4 students per table or paper) that you think will finish drawing first. Go over and tell the students about the Ozobots.

3. Keep it Simple. Safety.
These little robots cannot hurt the students, but the student can damage them by accident. And, at $50 a piece, you want to keep your Ozobots as safe as possible. Talk to each group about how the Ozobots read the line (color sensors at the bottom). These sensors are very sensitive. Just like our eyes, we wouldn’t want to poke our fingers into them…same thing goes with the Ozobots.

Before placing the Ozobot down, run your hand over the paper and be sure the marker is dry. Do this lots of times before you place the Ozobot on their paper. This will teach the students that we also want to keep the Ozobots from getting any ink them. Keep the sensors safe.

Place your Ozobot on their paper and gleefully watch as their bots follow the path they made. Take the Ozobot with you and ask the kids to make a connecting line between each child’s drawings. Or give them another sheet of paper. Tell them you will return in a few minutes. Move onto the next group. Repeat the lesson.

4. Play.
There is a lot of research on how humans actually learn and much of it is related to our ability to play. At this point, we’re only introducing the Ozobots as a plaything. We’ve talked about the idea that they are robots and they have sensors, but that’s it. Let the kids draw lines, test out new markers, write their names with connecting lines and see what else you can make them do. Do not move onto the next step until you see kids running their hands over the paper to ensure the marker is dry.

Stand back and enjoy the pictures that they create. Ask the students to explain in detail how and why they drew what they did. Ask questions…what would happen if you added a line here? Would the Ozobot always choose that line?

A student's drawing - that also tells a story.

A student’s drawing – that also tells a story.

Stay tuned for Part Two: Introducing the Color Codes.

 

 

Ozobots and Computer Programming Concepts

Black Ozobot with color-reading sensors.

Black Ozobot with color-reading sensors.

Earlier this year I came across this new and interesting line-following robot, Ozobot. After looking over some general reviews (here and here), I decided to order four of them for my summer camps. In the past few months, I have used them with a number of children and I have noticed that they have a definite appeal with the younger set — kids who are younger than age ten. I think here’s something about using a marker and making the robot do what you say. It’s very empowering for young children. They all know how to draw with a marker!

Ozobots follow thick lines drawn on paper. They user sensors to detect the line.

Ozobots follow thick lines drawn on paper. They user sensors to detect the line.

Most of the students I’ve worked with have had some experience with the notion of computer programming and sensors. Using these robots is another way to stress the concept of “talking” to a computer through it’s language. Ozobots have their own color-coded language which sometimes works…and sometimes doesn’t. Just like “real” computer programming.

At first, I found this annoying, but eventually realized that this was the best way of learning. Yes, even adults need reminders to have a growth mindset.

While working together, we have to figure out why the coding didn’t work…was it that particular color of marker? Did it have too much white in it? Did we remember to calibrate the Ozobot? All of these questions mimic the questions a computer programmer needs to consider when trying to find the bugs in his or her program. Once the kids understood this concept, they were remarkably understanding. They were very willing to try and figure out the problem…and quite accepting of the fact that they might have to start over.

Next week, I’ll lay out my “plans” of introducing Ozobots to children. Stay tuned!

 

Book Review :: Help Your Kids with Computer Coding

In an effort to utilize my librarian background, I am embarking on a series of book reviews, to be published every Friday. These reviews will cover computer programming books aimed at children, as well as reality-based children’s books.

IMG_0264
Ages 10 and up
Priddy, Sam. (Editor). Help Your Kids with Computer Coding: A Unique Step-by-Step Visual Guide from Binary Code to Building Games. DK Publishing: London, 2014.

While some of the topics in this book could be handled at a younger age, I think the format and “busyness” of the layout may make it more appropriate for an older child. As with all DK books, the full-color, enlarged pictures make it easy to visualize the topics. Unfortunately, I think the editors tried to cover too many points on a page and it is too easy for a child, who is new to programming, to be overwhelmed.

Layout aside, the progression of topics (from defining programming to introducing the programming languages, Scratch and Python) makes this one of the most comprehensive kid’s computer programming books on the market. I am especially pleased with the visual connection between blocks in Scratch and the programming commands in Python.

IMG_0266
For a child who has been playing with Scratch and is ready to move on to the next level, this book is great. It helps to make programming connections as he moves from a concrete field of play (Scratch) to the more abstract (text-based coding with Python).  I would want to make sure that a student is encouraged to delve deeply into Scratch before moving onto learning Python.

A large part of computer programming is about problem-solving and I think playing around with Scratch is a great way to get kids used to the idea that nothing is perfect. To be a good programmer, you have to have a growth mindset, and know that you may need to try a few different ways to solve a problem…and then a another way…and possibly one more solution. The ability to directly see their results (and then change them) is a big part of Scratch’s appeal to young students.

That being said, I would recommend this book to parents who are interested in learning more about Scratch and how it relates to text-based programming languages. It’s another great reference book to have on hand for your interested programmer.

Book Review :: Learn to Program with Scratch

In an effort to utilize my librarian background, I am embarking on a series of book reviews, to be published every Friday. These reviews will cover computer programming books aimed at children, as well as reality-based children’s books.

scratch_book

Ages 11 – adult
Marji, Majed. Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science and Math. No Starch Press: San Francisco, 2014.

The premise of Marji’s book is not to learn how to use Scratch, but rather to teach core computer programming concepts using Scratch as a medium. The pages are full of colored samples and lots of fun challenges, but this is not a book I would recommend for a beginner. For example, Marji doesn’t get to the sprite and background editor until chapter three and I have found that I can hook my young students with these two tools. Rather, I think this book is great for those who have learned how to make a lot of animations and interactions with Scratch. Especially with regards to young children, I think it’s more important to have them realize the interesting things they can make before getting into the how and why of what makes it function. For advanced (or older) students who want to learn the language of computer programming, this is a fabulous textbook. Altogether, the book’s focus on traditional programming concepts makes it a handy reference text.

Book Review :: Super Scratch Programming Adventure

In an effort to utilize my librarian background, I am embarking on a series of book reviews, to be published every Friday. These reviews will cover computer programming books aimed at children, as well as reality-based children’s books.

 

IMG_0240

Ages 9 and up
The LEAD Project. Super Scratch Programming Adventure! for Scratch 1.4. No Starch Press: San Francisco, 2012.

Scratch is an educational programming language designed by MIT’s Lifelong Learning Kindergarten Group. Its purpose is to get kids involved with computer programming without worrying about missing a line of code. This book lays out how to use this language. With short comics at the start of each chapter, this book looks and feels more like a graphic novel. The pages are full-colored and the story “adventure” will appeal to aspiring programmers. There is a lot of information in this book, but through the various projects, children will learn to manipulate their own creations. If your child played with Scratch and then lost interest, I recommend starting with this book. It will get one started with instant projects so a child can see the potential of the programming language. As your child progresses, they can use the provided programs as a way to make them their own by changing the commands.

Note: There are two versions for this book – Scratch 1.4 and Scratch 2.0. Until recently, Scratch 1.4 was the only version available as a download. I prefer the downloaded version for young children as it is too easy to be distracted by all of the cool projects on the Scratch web site. As students become comfortable with their projects, please introduce them to the amazing shared projects. They will be inspired to create and make them their own.

IMG_0239