Category Archives: Computer Programming

Is learning to code a bad idea?

A picture of a computer with Scratch on the screen.

Icon-based programming tools, like Scratch, help to make writing code more accessible…and fun.

Last week I read an article that made me worried for the future.  I was afraid for my children’s future, for my own future and for the future of everyone in the United States – which was probably the emotion the author intended to invoke. Will there be enough jobs for everyone? How will the less fortunate children thrive in this new digital economy? What’s that going to mean for the peace of our nation?

Quite a way to start the weekend, no?

After the fear came annoyance and anger. Then, I stopped to consider the evidence provided by the author. There were a few links. I followed them and researched others that he didn’t directly cite (this review suggests another side to the research by the MIT professors). Yes, I don’t doubt that he has some credentials (so do I), but ‘predictor of the future’ does not seem to be one of them.

No one knows what the future can hold. Yes, we can make some assumptions based on past evidence and yes, we should have important conversations about the future (hello, global warming).

According to the 1999/2000 Occupational Outlook Handbook, there was going to be a glut of master-degree librarian jobs available. The need was going to be much bigger than than the current graduates coming out of school. And then the Internet grew and grew (and grew). The housing bubble collapsed and it affected the local tax market and now librarian jobs are hard to come by these days. Why didn’t anyone see that coming?

Frankly, it was an article such as this one that dissuaded me from learning more about front-end web development during my librarian years. Almost everyone was using Dreamweaver and it was said that no one would need to learn how to write HTML because computers will be doing it for you. Well, how wrong were those people? From what I’ve been reading, a lot of professional web developers still manually code their web pages since those software programs inevitably have bugs and problems. Even though I love my WordPress-powered site, I could do more if I had a deeper understanding of the code.

Besides, do we really know what type of jobs are going to be available? In what city? In what town? Certainly, it’s good advice to not take on too much debt while a learning a new trade, but learning something new, even if you don’t use it for more than a few years, is very, very valuable. It will still be valuable if all of the jobs disappear and you have to become an urban homesteader just to survive. At least you’ll be able to build your own automatic, Arduino-powered watering and lighting system. Your vegetable garden will be the most productive one on the block. All thanks to the empowerment you gained from learning a new skill. Even one that you don’t use anymore.

Book Review – Mindstorms

In an effort to utilize my librarian background, I am embarking on a series of book reviews, to be published on Fridays. These reviews will cover science education books for and about children, as well as reality-based children’s books for a Montessori lifestyle.

A picture of the book, Mindstorms, by Seymour Papert

As relevant today as it was 35 years ago…

Target Audience: Adults (especially teachers, parents)
Papert, Seymour. Mindstorms: Children, Computers and Powerful Ideas. 2nd ed. Perseus Books: Cambridge, Massachusetts, 1993.

Mindstorms

It’s taken me awhile to write this review, partly because I have so much to say and yet, I’m not sure how to organize everything I’ve read. Quite frankly, I really need to read the book again, but I had to return it since I borrowed it via interlibrary loan. It was as if I found myself at an amusement park, but only had an hour left before it closed. What would I do and what was the most important thing that I wanted to see? Sometimes, you just need to sit and think about it. That being said, I am going to attempt to provide an overview, but wanted to throw it out there that I could have used a little more time to digest the information.

A picture of the Table of Contents from the book, Mindstorms, by Seymour Papert

I do think I understood the overall point of his book, namely that students should be learning with more real-life experiences, thus constructing their own knowledge, and computers can be used to help them reflect their learning. However, he seems to differ in his educational thinking from the Montessori method because he acknowledges that interest plays a big role in how well a student learns. For example, in a primary Montessori classroom, students are encouraged to explore their own interests, but there is a limited prepared environment from which they can explore. Papert seems to advocate for an open-ended, real-life curriculum where a student can explore their own interests in daily life, but still be guided by a facilitator.  I thought it sounded a lot like project-based learning with a little bit of homeschooling thrown in.

But ‘teaching without curriculum’ does not mean spontaneous, free-form classrooms or simply ‘leaving the child alone.’ It means supporting children as they build their own intellectual structures with materials drawn from the surrounding culture.
– p. 32

Throughout the book, he uses his own interests – gears and mathematics – to make the case for creative computer use in schools and learning. In chapter one, he discusses the culture of computers and the hopes (and fears) teachers and educators have for their use in school. He mentions that there is indeed a potential for students to only consume computer programs, to use them to idly fill up their time, but that others will use them to make further explorations. It might allow children to tackle complex subjects at an earlier age because physical barriers, such as handwriting and spelling, will be eliminated by the use of computers.

Though the book was originally published in 1980, this second edition was published in 1993. So, how can a book on ‘computers in schools’ still be relevant more than 20 years later?

A picture of the opening screen of a Scratch project.

A mini-project on the country of Greece. Programmed completely by R, age 9.5.

Sadly, it’s incredibly relevant because computers are still primarily being used to transmit information. It’s top-down learning where a teacher dictates what a student will learn rather than using the computer to help a child to express the concepts that they learned and make their own changes. Papert advocates for using computers to help students see what they are learning, for them to construct their own knowledge based on the programs they are running. While the topic they tested included geometry concepts, he acknowledges that computers could and should be used in other ways.

A picture from the book, Mindstorms. It shows simple line drawings that could be made withthe robot turtle.

A sampling of projects that students could make, and while doing so would learn key math concepts.

He and his colleagues created the LOGO computer language and used it to teach geometry. Since Papert’s background, training and interests are in mathematics, he uses math as a backdrop to explain his theories and his desire to see our thinking made visible. This is especially relevant to me as I am always on the look out for more reality-based ways of using math with my own children. I will admit that he sometimes lost me during his mathspeak (it has been 25 years since I took geometry), but it really isn’t about learning geometry, it’s about learning how to make learning visible so that the students can recognize their mistakes, fix their “bugs” and learn how to learn. He was definitely an advocate of a growth mindset before it became a ubiquitous term.

Our children grow up in a culture permeated with the idea that there are ‘smart people’ and ‘dumb people’…as a result, children perceive failure as relegating them either to the group of ‘dumb people’ or, more often, to a group of people ‘dumb at x.
– p.43

Teaching fifth graders how to program with the simplified text-based language of LOGO was not meant to teach them to be programmers, but rather to help them express their ideas of geometry. Papert wasn’t talking about specific programs (or apps), rather he was discussing learning in general, thinking about thinking, and using computers to express that learning. In fact, he meant for the LOGO turtle to show them where they made mistakes so that they could learn to fix them – in context. No teacher required, thus making the learning more valuable and sticky.

A sample project of how a student fixed their own "bug," by noticing that the line drawing was not going out (to form a triangular roof), but was going in instead.

A sample project of how a student fixed their own “bug,” by noticing that the line drawing was not going out (to form a triangular roof), but was going in instead.

This book has made it very clear that the creators of the icon-based programming language, Scratch, were following in his work and wanted to honor his vision of constructionist learning.  Having read some of their papers on Scratch and taken the course on Tinkering from the Exploratorium Museum, I was able to understand much more about how and why these tools were developed.

A picture of 3 AAA batteries, alligator clips and a tiny lightbulb.

I made these circuit blocks while taking the Tinkering with STEM course. A great way to help students learn about direct current.

As might be expected from a book on education from a computer scientist, his theories and main ideas are sometimes muddled and he seems to jump from one abstract topic to the next. His work with LOGO was partially based on his work with Jean Piaget in the 1960s and partially from his own work at MIT where he worked on artificial intelligence. His theories are sometimes unclear, I think, because he doesn’t want to have a prescribed curriculum. Also, there’s the question of cognitive, age-based abilities. Was he advocating for preschoolers to use a computer to reflect their learning? I don’t know.

That being said, I really enjoyed being challenged by this book. It made me rethink some of my own teachings and I am now ready to tackle the Making Thinking Visible book that has been sitting on my shelf since last fall.

A picture of the book, Making Thinking Visible.

From the Harvard-based project that tried to help students see (and change) their own learning.

 

 

 

 

 

CS For All

A few days ago, President Obama announced a new initiative to promote computer science classes for all students – CS for All. The proposed funding will be $4 billion for states and $100 million directly to schools to fund this initiative. Apparently, it’s even supported by both parties! It’s a definite nod toward the importance of CS principles and certainly what many organizations, like code.org, have been advocating – and the purpose of ‘Hour of Code‘!

A picture from the book, Help Your Kids with Computer Coding.

A picture from the book, Help Your Kids with Computer Coding.

I’m excited right now to be a tech educator – especially one who focuses on programming and robotics. I’m excited to see the shift to this type of learning, especially for kids who might struggle with traditional, paper-based learning, which is usually the case with reading, writing and math. This will give those right-brain learners something to feel confident about. However, I am waiting to see how these programs will eventually play out.

CS for All

My biggest fear is that CS will become one more subject that students are required to learn – rather than integrating it across the curriculum. For elementary-age students, that doesn’t mean sitting them in front of a computer and teaching them to hard code. It means finding age-appropriate resources, such a Robot Turtles, Ozobots, and Lego WeDo kits (3rd grade and younger) and Scratch, mbots, and Lego Mindstorms (in addition to many others) for upper elementary and middle school.

It also means there needs to be a lot of room for creative free expression and in-depth tinkering. Coding is fun and empowering, but there needs to be a focus on mastery and it must have a personal purpose to it (a la Daniel Pink’s research in Drive). I’ve said it before, but I’ll say it again. I don’t want the teaching of computer science to be one more thing that a student has to learn.

A mini-project on the country of Greece. Programmed completely by R, age 9.5.

A mini-project on the country of Greece. An interactive presentation, designed and programmed by R, age 9.5.

I want Scratch to be integrated into math and language classes – not separated. I want logic games and math games to be integrated into daily lessons – not just pulled out as a ‘CS’ curriculum. I want students to learn how to make presentations to reflect their learning – whether that’s while learning about Greece, the Wright Brothers or the xy-grid. I want them to have time to explore and tinker, not just to memorize a piece of code.

So, I hope the National Science Foundation will look to the creators of Scratch and to Seymour Papert and base their grant funding on that type of CS teaching – creative expression and tinkering – which will lead to more students choosing computer-science-based careers.

 

 

Computer Science without Computers

This is the last post, in a series of activities, that are designed to impart logic and computer science concepts without the use of expensive technology or one-on-one devices. Check out the previous posts about the game, Robot Turtles, extensions for Robot Turtles, the game of ‘Be the Robot’ and What’s Inside of a laptop.
computer science without a computer - workbooks

These are some resources I’ve found that teach logic and computer science skills – without a computer.

Since I am not a classically trained computer scientist (or programmer for that matter), my use of the term ‘computer science’ may differ from others (here’s a really great explanation of the differences). I use the term vaguely – to imply a lot of different computer-centered activities. That might include logical thinking, seeing things from a different perspective, noticing patterns, finding out about computer parts, learning about key programming concepts, such as repeat loops, and of course, using icon-based programming languages to write programs.

So, with that being said, I have gathered a lot of great materials and hands-on tools over the last few years, such as Lego WeDo kits, Ozobots and creative instruction with the icon-based language, Scratch. But, I have had times when I’ve needed activities that didn’t require a computer. I needed to teach computer science without computers. Sometimes these activities were used to fill a break in my coding or Robotics camps. Sometimes, I was asked to teach where there were few resources and only a couple of computers. We needed a way to rotate computer use, but still be working with programming concepts.

Computer Science Without Computers

This need led me to the DK Workbook, Computer Coding. This looks to be a companion to DK’s book, Help Your Child with Computer Programming, except that this slim workbook starts out by introducing the Python programming language, which I do not teach. Although I will be teaching a kids’ web design class this summer, most of my classes do not use text-based programming languages.

I know, we could have a whole other debate about how HTML isn’t a true programming language…but let’s hold off for now, shall we?

DK's book, Coding for Kids, is a good resource for kids who are ready to start using Python.

DK’s book, Coding for Kids, is a good resource for kids who are ready to start using Python.

If you skip ahead in the Coding workbook, there are some really cool exercises on “thinking like a robot” and writing out simple commands, such as ‘forward(50).’ I drew out some of these on the board and had us work together to complete them. Honestly, it wasn’t as much fun for the 9th graders who were my captive audience. They had a hard time making the connection to why this type of learning was important – and they weren’t intrinsically interested in coding. In that case, I really could have used some computers to set them free with Scratch. Usually, the free expression in Scratch can hook any reluctant teen programmer.

But alas, that wasn’t an option for a cash-strapped camp who wanted to offer some computer science programs. I did find a curriculum that looked interesting, but didn’t come across it until after my “no-computer” camp experience. This free “Computer Science-in-a-Box” curriculum is from the National Center for Women  & Information Technology. Although this curriculum is geared toward ages 9 – 14, I haven’t used it in my camps. It does seem a bit like “school” work and my campers are not so willing to take up paper and pencil during the summer. But, like most curriculum, I’m sure there will be some great insights that I can find to use with my students.

A good resource from Code.org.

A good resource from Code.org.

I’ve also looked over the curriculum from Code.org – “Intro to the Art of Computer Science.”  Both of the above items are well-researched, but most of the activities are too tedious or abstract for my younger students to appreciate or enjoy. Don’t get me wrong – I like the guides and learned a lot from them. I also think think they offer a lot of valuable information, but not for my age group (or for uninterested kids). They seem to be written for the computer scientist in mind – those kids who know they want to work with computers, have played with Scratch and maybe Python, and want to know everything about how binary works and how a computer thinks.

Many of the kids I encounter are unsure that they can even tell a computer what to do, so we have to find a way to break down the abstract concepts into something much more concrete. It’s why I love Scratch so much. Regardless, I do recommend the guides – if only as a way to gain more background knowledge and vocabulary for the teacher.

I would also recommend reading more about Seymour Papert and his thoughts on computers in schools and how children use them (or should use them). Palpert was at MIT, helped to develop the Lego Mindstorms concept and has left his lasting influence on the openness of creative learning, which is something that the creators of Scratch have carried forth into their teacher’s guide. I also think their article on computational thinking is well worth reading.

I am a huge fan of many of the workbooks from The Critical Thinking Co.

I am a huge fan of many of the workbooks from The Critical Thinking Co.

Since we are talking about abstract concepts – I am a huge fan of logic problems and really like the ones put out by the Critical Thinking Co.  Last summer, I made some copies for a few kids in my camps because I knew that they would finish up faster than the other kids and might like a good challenge. Some of my other students found these too difficult and had a bit of a fixed mindset about discovering the solutions. Either way, having them look at information in a new way (which is what logic problems do) is a great skill for any kid (or adult) to try.

Lauren Ipsum

Finally, this book has been sitting on my shelves for many months now…just waiting for the right opportunity to read it aloud to my six and ten-year-old sons. Of course, we had to get through The Magician’s Nephew, Harry Potter and the Sorcerer’s Stone and now, we need to finish The Odyssey (abridged), but we’ll get to it because I’m really looking forward to reading a fantastical story that has computer science elements.

All told, there are a number of resources to impart logic and computer science concepts – without a computer. As noted above, you can check out my previous posts on Robot Turtles, extensions for Robot Turtles, Be the Robot and Making a Paper Laptop.

Unfortunately for those schools (or camps) that do not have the resources for a computer lab, these non-computer activities will only take you so far with computer programming. As far as other materials that teach “programming,” I am a huge fan of the 1.0 Ozobots since they have their own “color” language and students can use regular markers and a large sheet of paper to write some programs. They don’t require as much space as laptops or desktops, and students could work together as a group, so it would cost less money. To see how I’ve used Ozobots in my camps, check out “Using Ozobots in a Classroom” and “Making Maps with Ozobots.”

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

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

What’s inside a laptop?

This is the fourth post, in a series of activities, that are designed to impart logic and computer science concepts without the use of expensive technology or one-on-one devices. Check out the first post about the game Robot Turtles, extensions for Robot Turtles and the game of ‘Be the Robot.’
A collection of final projects from some of my summer campers.

A collection of final projects from some of my summer campers.

Inside a Laptop – Make a Paper Laptop

This multi-day project was one of the kids’ favorite activities. I think it impressed the adults too. Everyone seemed to like this activity – both the process and the final product. There was structure, there was learning and there was enough creativity the kids could ‘make it their own.’ I did this activity with kindergarten through fourth grade students. They all loved it, although I think it was too much for the younger kids (K and 1st).

The purpose of this project was to reinforce the idea that computers are made up of parts. We, as people, construct them and we need to tell them what to do (at least at this stage in the game). I don’t want the kids to think that it is just a magic box. I want them to understand there are lots of connected pieces that work together to make a working computer.

With a little bit of guidance, students can craft knowledge about the inside of a computer.

This was a great lesson on drawing attention to where the letters are laid out on the keyboard. The students copied a real keyboard and wrote the letters onto their paper computers.

This activity came about because I needed a computer science project for a church camp, but they had no computers. There were minimal materials available, but I am a hands-on educator. I needed to find a way to engage the students without droning on and on. I don’t lecture (at least not for more than 5 minutes) and almost never for classes that include young children.

After some desperate web searching, I came across a few ‘computer parts’ worksheets and thankfully, this blog post by Creatiful Kids. Since I am a Montessori-educator – and I was trying to discourage the “magic” feel of a computer –  I created my own, realistic-looking materials so my students could build their own laptop.

I drew my own parts (that looked somewhat realistic) and labeled them. Then made copies for the kids to color (if they wanted to).

I drew my own parts (that looked somewhat realistic) and labeled them. Coloring was optional.

Connecting the Paper Laptop with a Real-Life Laptop

Then, I needed a computer to take apart. Thank goodness I had one laying around. It managed to stick around despite during my 2014 minimalist-inspired purge (as it’s called in our house). Somehow, I didn’t manage to get rid of the old Macbook. That laptop was still hanging out in my husband’s office, so I immediately grabbed it. I found a YouYube video on how to take it apart and started unscrewing. I attracted the attention of my youngest son and we worked together.

C and I watched a YouTube video on how to take apart my old macbook.

C and I watched a YouTube video on how to take apart my old macbook.

Since it was a very old laptop (from 2005), some of the screws were stripped and did not come undone. There was some cutting and pulling, but we took the top off and figured out where the main parts were.

You can see how old this laptop is...by all of the dust in the components. Yuck!

You can see how old this laptop is…by all of the dust in the components. Yuck!

Now I had a real-life visual to show the kids and they could replicate the “real” laptop by making one out of paper. I asked them not to touch any of these parts because I wasn’t sure what sort of chemicals were coating them after so many years of use. I also removed the battery and placed it in a plastic bag and showed it to them, but didn’t pass it around.

The keyboard is removable and it's fun to watch the kids' expressions when I take it off.

The keyboard is removable and it’s fun to watch the kids’ expressions when I take it off.

Did I expect them to remember the names of the parts? Maybe. Did I expect them to remember them at the end of the project? No. But, my older students did. I was quite impressed.

Use old cereal boxes (or a cardboard box) and fold it in the middle to act as the outside of the laptop. Leave the inside part black since we will refer back to the "inside" of the computer.

Use old cereal boxes (or a cardboard box) and fold it in the middle to act as the outside of the laptop. Leave the inside part blank since we will refer back to the “inside” of the computer.

Be sure and only glue on the screen - that way students can lift up their keyboard and see the inside.

Be sure and only glue on the screen – that way students can lift up their keyboard and see the inside.

Will they remember the names of those parts next summer? No.

I’m not there to reinforce the concepts, but they should remember that a laptop computer is made up of various parts which are housed inside the computer. That’s one step closer to taking the magic out of a computer.

I have put both hand-drawn sheets and a lengthy list of instructions on the web site, Teachers Pay Teachers, under the title, “Make a Paper Laptop.”

 

Book Review :: Making Simple Robots

In an effort to utilize my librarian background, I am embarking on a series of book reviews, to be published on Fridays. These reviews will cover science education books for and about children, as well as reality-based children’s books for a Montessori lifestyle.

Making Simple Robots by Kathy Ceceri.

Making Simple Robots by Kathy Ceceri.

Ages: teens – adults
Ceceri, Kathy. Make: Making Simple Robots: Explore Cutting-Edge Robotics with Everyday Stuff. MakerMedia: Sebastpol, CA, 2015.

A few weeks ago, I picked up this book at the library. Honestly, I wasn’t expecting much, but the author caught my interest when she mentioned that many robot books can be a let down. They are often too advanced or so simple that they don’t teach much. Those are my thoughts exactly! I was happily surprised when I started the first chapter and couldn’t put it down.

I became engrossed with the description of shape-changing robots and found myself eager to try out her simple, yet advanced project on how to demonstrate the concept. This is especially relevant for me because I am in the process of working on a ‘electronic paper’ course for this summer. Suffice it to say, I ended up reading the entire book in one day!

Table of Contents from the book, Making Simple Robots.

Table of Contents from the book, Making Simple Robots.

Ceceri’s book is well-organized and perfect for the beginner robot scientist. She clearly makes the distinction between a robot (which uses sensors and must be programmed) and a machine (which much be operated by someone else).

I especially loved her simple designs, real-world uses and accompanying explanations. This book is written for individuals who are interested in a variety of ‘robots.’ She covers topics on automated paper, BEAM robots and introduces the concept of e-textiles, which can include sewn electronics – a favorite topic of mine.  With each new piece of technology, she includes a real-life connection. Many of these research projects take place at universities and are still in the design phase, but it helps for students to make real-world connections that are so often lacking in school.

A sample robot project. Picture from Kathy Ceceri's book, Making Simple Robots.

A sample robot project using LittleBits. Picture from Kathy Ceceri’s book, Making Simple Robots. See it in action.

Since the purpose of this book is to whet your appetite for robotics, some of the projects use material short-cuts. Some of these shortcuts include using LittleBits to overcome the hurdles of having to hard-wire or hard code advanced technology such as Arduino. This can make some of the projects quite pricey, but it’s a guide for you to explore the variety of options in robotics. As for those naysayers who complain that they don’t want to purchase a 3-D printer, check out your local library or college. We are fortunate to live close to the University of Florida and the science and education libraries allow you to upload a 3-D printing file and pay to print it out – no need to purchase an entire 3-D printer.

Overall, this book is a great place to begin if you and your child aren’t sure where to start with your robotics adventure. Although the book is geared toward teens and young adults, there is no reason an adult couldn’t help a younger student with some of the projects.

In conclusion, I loved the book. It showed me a wide variety of robots – many of which I didn’t know about and would never have discovered on my own. I already have plans to incorporate some of the accentuated paper robots into my summer classes and I can’t wait to get my hands on her new book about Paper Circuits.

Accentuated Paper project.

Accentuated Paper project from Kathy Ceceri’s book, Making Simple Robots.

 

 

 

Be the Robot

This is the third post, in a series of activities, that are designed to impart logic and computer science concepts without the use of expensive technology or one-on-one devices. Check out the first post about the game, Robot Turtles and extensions for Robot Turtles.
A made-up game that acts kids to be both programmers and robots.

A made-up game that allows kids to be both programmers and robots.

As I prepared for my camps this past summer, I knew I wanted to have some other activities that could teach computer science concepts – without a computer.

Why?

This past summer, my camps ran from 9:00 a.m. – 4:00 p.m. and although we had some outside time, it wasn’t as much as I would have liked. Last June, the afternoon temperature here was 100 degrees. But, I didn’t want them sitting in front of a computer for more than a couple of hours at a time. it’s not good for kids (or adults), even if it is a camp for computer programming. There is a lot of value in having other activities which make you think.

So, inspired by this post from Dr. Techniko, I came up with my own game, Be the Robot.

The initial commands. (As they get more advanced and stay interested, I introduce repeat loops.

The initial commands. As they get more advanced and stay interested, I introduce repeat loops.

To demonstrate how to play, I would ask one of the older students to “be the robot.” I was the programmer and gave them a few commands from the handout.  After we worked out how to “read” the commands, I would pair the kids off and they would take turns writing a program for their robot. Each student had a chance to be the programmer and the robot.

The entire time they were working, I volunteered to “be the robot” and run their code. I would execute it based on their written down code and they were often surprised when I didn’t pick up the pencil or go around an obstacle. You could see their brains making the connections of specific instructions.

I first tested the game with my younger campers (ages 7 – 10) and found that my directions were not specific enough. I had also tried to introduce it to them before playing Robot Turtles and it was harder for them to understand. Thereafter, I made sure that each group of younger students (under age 9) had played Robot Turtles before attempting this lesson.

For the older students (5th-9th grade), I ended up giving them a “challenge” for their robot.  Rather than just play around with the commands,  they seemed to need more of a purpose. I asked them to write a program for their robot where the robot would start on one side of the room, pick up a pencil, return to the other side of the room and place it on the floor. Honestly, I can’t say the group of 9th graders loved this aspect of the game, but they did understand the concept afterward.

I think this game still needs a bit more tweaking – maybe a bit more demonstration in the beginning? Perhaps it should be preceded by a coding treasure hunt, as mentioned by Dr. Jackie Gerstein?

Regardless, it’s one more tool to place in your programming toolbox. You can download my hand-drawn sheets here  (PDF File of Be the Robot).  Obviously, please use these with your summer camp or classroom – mass-produced commercial use is prohibited. Hopefully, you and your students will find it useful. And, if you get a chance, post a comment so we can all learn from each other and craft a better lesson.

Example of how commands would be written for the game, Be the Robot.

Example of how commands would be written for the game, Be the Robot.

 

 

 

Extensions for Robot Turtles

This is the second post, in a series of activities, that are designed to impart logic and computer science concepts without the use of expensive technology or one-on-one devices. Check out the first post about Robot Turtles.
After my older students have played through most of the rounds of Robot Turtles, we make our own game of Robot Turtles.

After my older students have played through most of the rounds of Robot Turtles, we make our own game.

During my Montessori training, we encountered a lot of extension material. For example, there were extensions for the pink tower which would reinforce the original concepts (biggest to smallest and visual discrimination). These extensions would also allow the students to use the pink tower in a slightly different way. A prime example is of pink cards that mimic a tiny tower. The square shapes are the exact same size as the cubes – on one side. It’s another way for the students to grasp the concepts that the pink tower means to impart.

In that same vein, I try to find extensions for the materials I use during camp. This week, we’re talking about extensions for Robot Turtles. Last week, I talked about how I use the board game, Robot Turtles, in my summer camps. I like it because it reinforces programming concepts in a new way. I also like that you don’t have to use a computer. Does that make sense? Yes, because much of computer programming is using logic to solve design problems (or how to make your characters appear, etc.)

Since many of my students lost interest after a few rounds of Robot Turtles, I wanted to find a way to reinforce the concept of giving specific instructions. (To be fair – it is designed for 4-year-olds). I decided that my seven to ten-year-old students should make their own version of Robot Turtles.

A half-finished, multi-day game that involves elephants and lava.

An in-progress photo of a game that involved elephants and lava – made by Rebecca, age 10.

This lesson plan evolved over the summer and toward the end, there were a few more guidelines than I initially thought I needed. My students had a hard time replicating the game,  but once I helped them get started, they seemed to take off.

I walked the students through making a grid (eye-balled for accuracy). This set the game board in a semi-consistent manner. Then, they had to think about the purpose of their game. Together, we talked about the different aspects of the Robot Turtles game – how does the turtle win, how does it move, etc. After we broke down the game, I asked the students to think about a game where they had some characters that moved, but who would also have to complete a task.

In the final version, I drew a large square on the paper to help the kids get started. Next time, I will have yardsticks on hand.

In the final version, I drew a large square on the paper to help the kids get started. Next time, I will have yardsticks on hand.

I provided pre-printed “movement” cards, but they could add additional “moves” if needed (see picture below). I checked on them as they were working – making sure the final game would make as much sense as possible (it didn’t always – and that was okay). We would play the game as a way of “testing” and they found the errors in their game design – and fixed them.

Hand-drawn set of command cards to mimic those found in Robot Turtles and other "instruction" games. I make a copy for each student. They have extra spaces to make their own commands.

Hand-drawn set of command cards to mimic those found in Robot Turtles and other “instruction” games. I make a copy for each student. They have extra spaces to make their own commands.

When they were finished with their games, I sat and played each one and encouraged them to play with their fellow campers. Now, they all had something to take home from “robotics” camp and when the novelty wore off – their parents could easily recycle it. This is really important to me as I hate to deal with the cheap, plastic crafts that come home with my own children. I don’t want to have to store (or throw something away) that they made in camp. And, since the kids can’t take home any of the robotics (due to the expense), I want to make sure that the stuff they do bring home can be recycled or reused.

Harry Potter game, made by Wes, age 10. Wes had just finished reading the Harry Potter series and he made a cool game with wands, muggle obstacles and a cast of Harry Potter characters.

Harry Potter game, made by Wes, age 9. Wes had just finished reading the Harry Potter series and he made a cool game with wands, muggle obstacles and a cast of Harry Potter characters.

I will admit, this project found more favor with my girl campers than my boy campers. My boy campers were just as creative, but they seemed to dislike the idea of adding color to their board games, whereas the girls would spend extra time making their games look complete.  My sample is self-selected (they choose to sign up for my camp), so perhaps the boys I attract are more interested in the Lego WeDos that are part of camp and thus dislike the use of paper and pencil?

Either way, it offered another way for my students to think about the concept of giving specific instructions. It wasn’t always easy, but it did offer a chance to be creative. The only requirements were that the board had to be a grid and the characters had to move by arrow commands – just like in Robot Turtles.

Wes made muggle obstacles - similar to the ice blocks and wood towers from Robot Turtles.

Wes made muggle obstacles – similar to the ice blocks and wood towers from Robot Turtles.

 

 

Hour of Code

Monday, I volunteered at our local library to help students work their way through an hour of code. Hour of Code is a worldwide movement to introduce coding to students. The organization also hopes to get computer programming into every school curriculum.

Trying out the hour of code. A is testing our new student computer for Artisan.

Trying out the hour of code. A is testing our new student computer for Artisan.

I love the logical thinking that comes with programming. I love the idea that we can create something out of “nothing.” And, I like the idea that students will learn to create rather than consume – if they know code.

But…rather than piling one more thing onto our already stressed out kids, I’d like to see it incorporated into the entire curriculum. Personally, I think it could be a great way to showcase self-directed projects, but since project-based learning isn’t ubiquitous, what about replacing part of the math curriculum with a computer science curriculum? Do kids really need to know mean, median and mode in 3rd grade? What if we spent four weeks teaching them how to use Scratch?

For example, when my oldest son was eight, he began working with the programming language, Scratch. He was introduced to the xy-grid. We had to talk about angles and degrees when recreating the game Pong. He has never been formally taught about coordinate planes, but he understands them because he’s written programs using coordinates.

Many of the upper-level programming languages require complex math equations. What a fabulous way to include real-world applications for math. In fact, this man thinks math could be taught through computer programming.

Of course, once kids know Scratch, they could then use it to replace some of their written work – book reports could be written in code. What about projects in geography class? Why have everyone stand up in front of the class with PowerPoint when they could make an interactive game or map that tells about their country?

Think of the possibilities! What a fabulous chance to help our students become creators, not just consumers.

 

 

Review :: The Game of Robot Turtles

This is the first in a series of activities that are designed to impart logic and computer science concepts – without the use of expensive technology or one-on-one devices.

Robot_Turtle_GameSince I am a trained Montessori teacher, I try to incorporate a Montessori approach for all of my lessons. The Montessori Method focuses on hands-on learning – starting with concrete concepts and then moving on to more abstract concepts. Each child has a chance to work with the materials individually to gain mastery. Repetition is a desired goal. Group work is encouraged, but only with certain materials and only once the key concept is gained. Watching another child do the work is considered learning and is often encouraged.

Educational organizations do not always have the resources to provide hands-on materials for each child.  So, how do I apply this way of learning – concrete to the abstract – without expensive tools and materials? How have I taught computer programming without a computer on which to program?

Thankfully, there are a lot of inventive people out there working on this problem.  The game of Robot Turtles is one of the solutions.

Round one of Robot Turtles - everyone starts at this very easy level - even if you are 9-years-old!

Round one of Robot Turtles – everyone starts at this very easy level – even if you are 9-years-old!

A few years ago, I was introduced to Robot Turtles and my first impression was not that great.
I felt like it left out a lot of information and didn’t make the transition to the type of programming I was teaching. But, then again, I probably should have actually played the game instead of just glancing over while my kids played it. At that time, I was only using WeDo Robotics and the programming language, Scratch. I thought it was too simple for my students.

Then, I realized that some of my WeDo campers weren’t always able to transfer some of that learning to the Scratch programming environment. So, I began to wonder if Robot Turtles might address that problem. I was also looking for something that would allow my campers to work individually with the WeDo software, but still allow the other campers to learn about programming. Buying more Lego® sets and adding more computers wasn’t really an option. Also, I taught a few classes for a non-profit summer camp and we only had two computers to use for an entire class of 15 kids. I needed something else to teach these core concepts.

Last summer, I had a group of four students (ages 7 – 10) play the game and I acted as the robot computer. I read the rules out loud and they all laughed because it required the “computer” to make computer noises. They snickered as I tried to make goofy sounds. I loved reading the rules out loud because it diffuses the tension with the kids.  Immediately, they realize they aren’t going to move their own turtles – at least not in the beginning. And since the rules said it, there’s less chance of a power struggle.

There are multiple levels to the game and even my older students have to start at the beginning. They will often grasp the concepts quicker than the younger ones, but it puts them all on a level playing field.

Since I work with older students, I introduce the ice towers and the laser cards at the same time.

Since I work with older students, I introduce the ice towers and the laser cards at the same time.

The first three rounds typically take 20-30 minutes and the more comfortable they get with the game and the concepts, the more I let them take the lead. After running through the board with ice blocks, lasers and solid walls, I ask them to set up the board however they like and then “write” their own program to retrieve their jewel. I act as the computer and use their turtle to “run” the program – with the students calling out the commands. I was surprised at how many made an error or two in this stage, but it’s quickly remedied by slapping the “bug” card and fixing their program.

Set up your own path and "write" your own program.

Set up your own path and “write” your own program.

At this point, the game loses the interest of most of the kids, though, you still have a few who want to try different set-ups. All told, they’ve understood some basic concepts and it’s easy to bring it back again to reinforce the concept that a computer doesn’t know what you are thinking – you have to be specific when you tell it what to do. A programmer also needs to be aware of limitations (rocks, ice walls) and be aware of bugs in their programming.

This is a fun game that works really well for ages 6 – 11. It’s actually designed for 4-year-olds, but since I don’t have any of them in my camp, I’ve never tried it with kids that young. With my students, they don’t always go back to it, but they’ve gained a new way of internalizing programming concepts.

To find out new ways of using Robot Turtles– using pencil, paper, markers and colored pencils – check out my post on Extensions for Robot Turtles.

Robot Turtles - command cards.

Robot Turtles – command cards.