Friday, August 2, 2013

From Logo to Scratch: Daisy the Dinosaur and Hopscotch

Daisy the Dinosaur and Hopscotch certainly finds their roots in Logo and Scratch.  The programming environment provides a scratch-like approach to connecting blocks to teach coding.  Currently, they are both available exclusively on the iPad.  I imagine they will reach more devices in time, but I especially like the fact that they provide an opportunity to teach coding on the iPad.

Daisy the Dinosaur is especially great for younger students.  In my opinion, his app could be used to introduce students in grades K-2 to programming concepts.  The interface is beautiful and very easy to understand.  In fact, I give the developers a lot of credit for keeping it simple as to not overwhelm young students with too many choices.  Check out the video as the gentleman with the lovely British accent does a wonderful job walking you through using the app.

Hopscotch is created by the same people that created Daisy the Dinosaur and brings the concepts to the next level.  Hopscotch seems to be appropriate for students in grades 3 - 8.  Once again, there's no question that the developers drew from Logo and Scratch.  I was very excited to relive my Logo days of drawing fun designs by programming my iPad by connecting scratch-like blocks.  The graphic interface is fun and generally speaking, Hopscotch is very easy to use.  It is quite robust compared to Daisy the Dino (as it should be) and provides greater opportunities for students to learn coding on a deeper level.  

Who better to demonstrate a tool than a 9 year old? Nice work, Thomas!

Hopscotch and Daisy the Dinosaur are FREE!  Download them and please share your impressions with us here!

From Logo to Scratch: Where it all began...Logo

Oh, how I love Seymour Papert and constructionist learning.  There's no doubt (at least in my mind) that we learn by doing and creating.  This idea is at the heart of Papert's work and dates back to his work with Piaget in the late 1950's and early 1960's.  I'm a fan of Piaget's constructivist theory as well and think that the two theories coexist when it comes to learning in the 21st century.

In the mid 1960s Seymour Papert, a mathematician who had been working with Piaget in Geneva, came to the United States where he co-founded the MIT Artificial Intelligence Laboratory with Marvin Minsky. Papert worked with the team from Bolt, Beranek and Newman, led by Wallace Feurzeig, that created the first version of Logo in 1967. (from the Logo Foundation website)
You can read more about the history of logo on the website as it is quite fascinating and is largely responsible for the push toward teaching coding in school.  Have you ever used Logo?  I have very fond memories of teaching our 6th graders to code with MSW Logo. For those of you who are unfamiliar, Logo is famous for the 'turtle' that you program to essentially draw on the screen.  It gets more complicated as you can incorporate programming constructs like user loops, input, variables, conditional statements, etc. Essentially, you are coding the turtle with commands like fd 100 (to move forward 100 units), right or rt 30 (to turn 30 degrees to the right), etc.  You can create subroutines in order to call upon code snippets within your program. as well.  Great language if you haven't tried it!

In the example above (from 14sia - Robotics), you can see a loop was created to tell the turtle to move forward 100 units and turn right 60 degrees, resulting in this lovely hexagon.
The culminating project that we had our students complete was to build a house using Logo.  They were required to create subroutines for certain parts of the house and ultimately write a program that ran all of the subroutines resulting in their house (oftentimes complete with landscaping, a car in the driveway, a playset out back, etc.).  I highly recommend the use of Logo to introduce young students (grades 2 - 7) to coding.  

Logo was the start and there were many spinoffs of turtle logo, but the concept continued to evolve further as you will see as I explore a variety of tools rooted in Logo.

For now, however, here are a number of versions of Logo for your exploration.

Why Teach Kids to Code?

I'm presenting a session titled, "Create. Learn. Play. Game Design and Coding in the Classroom "at the Games in Education conference.   I teach Video Game Design and Development at William Annin Middle School in Basking Ridge, NJ.  When I tell people what I teach, they immediately respond by saying, "You must be teaching in a charter school."  Well, not so.  I teach in a public middle school.  This might sound progressive, but it really should not.  I believe that all schools should offer Game Design and Coding opportunities throughout the grades.  My goal is to develop a scalable curriculum and provide resources that span grades, primarily K-12 at this point.

Why?  Good Question.

According to Mitch Resnick, director of the Lifelong Kindergarten group at MIT Media Lab expresses the idea that

"coding isn't just for computer whizzes - it's for everyone."  In his Ted Talk (below),  he provides a demo "outlining the benefits of teaching the benefits of teaching kids to code, so they can do more than just "read" new technologies - but also create them." (Resnick, 2012)

The EdSurge Teaching Kids to Code Guide states,
"We are teaching them to code, however, not so much as an end in itself but because our world has morphed: so many of the things we once did with elements such as fire and iron, or tools such as pencil and paper, we can now wrought in code. We are teaching coding to help our kids craft their future. "

One of the tools that I use with my students is Gamestar Mechanic produced by e-line media.  The research done around Gamestar Mechanic reveals the following important ideas that teaching game design contributes to learning:

Designing games builds:
  • Systems Thinking,
  • 21st Century Skills,
  • Creative Problem Solving,
  • Art and Aesthetics,
  • Writing and Storytelling,
  • and creates a motivation for STEM learning.

In my classes, I use a number of tools and plan to explore more tools in depth in order to realize my goal of developing ideas for teaching coding throughout the grades.  In the next number of blog posts, I will highlight a number of the tools available.

Do you teach coding to your students?  What benefits do you see?  Do you believe we are barking up the wrong tree when we speak of the importance of teaching kids to code?  If so, please chime in.