Tag Archives: computer science

Hello Ruby!

Illustration from Hello Ruby by Linda Liukas
Illustration from Hello Ruby by Linda Liukas.  Click here to visit her Kickstarter page.

If you are a regular reader, you probably know two things about me – that I am a fan of Kickstarter, and that I am a proponent of teaching kids how to code.  One of my more recent Kickstarter acquisitions was the Robot Turtles game, which is a board game that introduces young students the basics of programming.  My first graders loved playing it during “Hour of Code” week, and it was easy to transition them to other programming games like Kodable once they had that foundation.

Kickstarter apparently knows me well, because one of their recent e-mails highlighted a new project that will also help to introduce students to programming, “Hello Ruby.”

The name of the main character of the proposed storybook, Ruby,  comes from Ruby on Rails, which is described as “an open-source web framework that’s optimized for programmer happiness and sustainable productivity.”  I must admit that, though I’ve heard it mentioned quite a bit in coding conversations, I know absolutely nothing about it.  It sounds intriguing – and completely over my head.

Linda Liukas, who co-founded “Rails Girls“, a non-profit with the goal of encouraging women to embrace technology, wants to help dispel the mystique around programming by creating a children’s book and workbook to introduce the topic.  Ruby is the main character.  According to Liukas, “Ruby’s world is an extension of the way I’ve learned to see technology. It goes far beyond the bits and bytes inside the computer. This is the story of what happens between the ones and zeros, before the arrays and the if/else statements. The book and workbook are aimed for four to seven year olds.”

The drawings are whimsical and appealing, just like Linda Liukas.  If you watch the video on her Kickstarter site, you will find it easy to understand why, even though she only requested $10,000 to back the project, over $175,000 has already been pledged – and there are still 25 more days to go.

I can’t really recommend a product that I haven’t actually used, but I will tell you that I have backed this project because it looks very promising.  For those of you who are not familiar with Kickstarter, there are various levels available for you to pledge, and the money is not taken from you until the end of the funding period (and only if it is fully funded).  Also, if the funding surpasses the original request, there are usually “stretch goals”, which allow backers to receive a bit more than they originally expected. Liukas has already listed the stretch goals for “Hello Ruby” on the site. Also, you should note that delivery of this particular product (if you pledge at a level to receive something) is expected in August of this year.

It’s exciting to back Kickstarter projects – to get in on the ground floor of the creation of something that has the potential to make a great impact.  During the process, you receive e-mail updates, and get to learn more about what has to happen in order for a dream to become a reality.  If you haven’t done it before, I encourage you to take a look at the Kickstarter site.  It’s a great feeling to contribute to helping someone to transform their ideas to tangible products that could effect the world.

Illustration from the accompanying Hello Ruby workbook by Linda Liukas
Illustration from the accompanying Hello Ruby workbook by Linda Liukas.  Click here to visit the Kickstarter page.

Robot Turtles

For today’s Gifts for the Gifted post, I wanted to keep with the Hour of Code theme for this week.  Unfortunately, this particular product may or not be available for purchase in the near future.  If you are interested in obtaining it, I recommend visiting the website to let the company know.

Because I have a different grade level each day, my Gifted and Talented students and I have been participating in the Hour of Code since Monday.  My 1st grade students are brand new to programming, (I just started meeting with them in November) so I haven’t had the chance to introduce the idea of programming to them before this week.  I decided I was going to do one of the “unplugged” activities with them to get them started.

I’m not always the best planner, but sometimes things just seem to come together nicely (although there are many times when they fall apart!). I had seen the Robot Turtles board game on Kickstarter, and backed it before the September 27th deadline.  I’m used to waiting many months for Kickstarter products to arrive in my mailbox, so it was a great surprise to receive this one the weekend before the Hour of Code.  Perfect timing!

Last week, I had introduced my 1st graders to the Rules icon from Depth and Complexity.  This dovetailed so well with talking about programming, you would almost think I had the great foresight to plan it that way…

On Tuesday, we reviewed the concept of Rules, and then I gathered my group of 11 around 2 tables pushed together to play Robot Turtles, a board game which will probably remind some of you of “Logo.”

image from Robot Turtles Kickstarter campaign
image from Robot Turtles Kickstarter campaign (now ended)

I divided the students into four (slightly uneven) teams.  Every team gets a turtle marker and a set of programming cards.  The turtles start at the corner of the board.  The goal is to get your turtle to land on one of the 4 jewels which are placed in the middle of the board. You do not have to be the first to get a jewel.  Everyone who gets to a jewel “wins.”

When it’s your turtle’s turn, you need to choose one of the programming cards (forward, turn left, or turn right) to direct the turtle, and place it on the table.  You are not allowed to move your turtle.  Only the Turtle Mover (me, in this case) can move it.  If a player realizes that the move was a mistake, a bug card may be played to reverse a move.

We played as recommended – with no obstacles on the board.  It was the perfect way to start for the kids, who had never been exposed to programming at all.

After the first round, we added some ice cards to the board that they had to navigate around.  After they mastered that, they earned some laser cards in order to melt the ice and be able to walk over it.  You can continue to make the game more difficult with stone walls and movable crates.

It was interesting to listen to the kids discuss moves with their teams. A few them started “claiming” certain color jewels they wanted to obtain. When two groups were competing for the same color, a couple of the kids were able to think ahead – realizing that one team had one lower minimum of moves than the other.  On the other hand, there were others who optimistically continued to chase their jewel despite the lower chances.  And then there were a couple who were fortunate to have team members to consult because they had difficulty visualizing which turn cards to use.

The game was exactly what my students needed to learn the basics of programming.  It was the perfect lead-in to today’s activity, which will be getting them started on Kodable.

If you are interested in using Robot Turtles, I highly recommend you visit the website.  If there are no games currently available, you can submit your e-mail to be notified when more stock comes in.  To give you an idea of the demand for this game, the request of $25,000 for the Kickstarter project was exceeded by the deadline; $631,230 was pledged!  Hopefully, we can get more of these into circulation 🙂

(For more “Gifts for the Gifted” ideas, take a look at my Pinterest Board!)

Kids Can Code With Kodable

Have you done your Hour of Code, yet?  So far, I’ve done 8.5 hours of coding this week with my students in various grade levels – with more hours to add today and tomorrow!  We’ve used ScratchHopscotch, and a board game called Robot Turtles (which I will be describing in detail in tomorrow’s post).  For more ideas for Programming for Kids, here is my Pinterest Board.

One of my 5th grade students puzzles over a Kodable challenge
One of my 5th grade students puzzles over a Kodable challenge

Have you done your Hour of Code, yet?  So far, I’ve done 8.5 hours of coding this week with my students in various grade levels – with more hours to add today and tomorrow!  We’ve used Scratch, Hopscotch, and a board game called Robot Turtles (which I will be describing in detail in tomorrow’s post).  For more ideas for Programming for Kids, here is my Pinterest Board.

One app that we haven’t used this week is Kodable.  The only reason we haven’t used it for the past few days is because we have been using it since October.  I thought it might be cheating to stick with what we all know well when I have been encouraging everyone else to go outside their comfort zones!

As some of you know, I introduced programming to my 3rd-5th grade classes by using Kodable’s “Unplugged” activity, which involves making a classroom obstacle course.  The students loved that, and it made the transition to the digital version of Kodable practically seamless.

There are two versions of Kodable in the App Store.  The free version allows users to play the first 30 levels (Smeeborg World) for free.  The Pro version (currently on sale for .99) offers full access, giving you a total of 4 Worlds.  And, a special bonus, Kodable is unveiling a new Fuzz next week – Holly!

Holly Fuzz - coming just in time for the "Holly"days!
Holly Fuzz – coming just in time for the “Holly”days!

Kodable scaffolds programming skills so that young children can learn how to code.  They don’t even have to know how to read.  The goal is to direct a “Fuzz” through a maze by placing the correct sequence of commands and pressing “Play.”  It begins very simply, and slowly increases in difficulty.  As students complete certain levels, they earn new “Fuzz” characters, and can choose the ones they want to use.  My personal favorite is “Shaggy Fuzz”, a brown Fuzz who makes me giggle every time he hums while he travels through the maze.  I told my students to turn their volume up on the iPads just so I could hear when they were using him 😉

One of the things that I love about Kodable is how genuinely dedicated the creators, Grechen Huebner and Jon Mattingly, are to education.  If you follow @Kodable on Twitter, you will find them involved in numerous educational Twitter chats, including the one they host, #kidscancode, every Tuesday evening at 7 PM CST.  They love connecting with and getting feedback from educators, and they are also thrilled to get involved with students through Google HangOuts, Skype, or FaceTime.

Here is a short Tellagami video from some 3rd graders in Van Meter, IA, about Kodable.

Kodable Extensions:

Tweeted on 12/11/13 by @HeatherMMcKay
Kodable Maze made with non-perishable food items, tweeted on 12/11/13 by @HeatherMMcKay

 

Scratch

Well, I finally did it.  With the help of: an Hour of Code Tutorial, a 3rd grader who knows what he’s doing, and what I learned from auditing a class that my daughter took, I finally felt somewhat ready to try Scratch, the free M.I.T. programming language available on the web, with my 3rd grade class.

Scratch

Full disclosure here: I teach Gifted and Talented students, and my 3rd grade class is composed of 4 students* – one of them being the aforementioned one who knows what he’s doing.  So, I probably don’t get a lot of points for risk-taking.  Plus, the Hour of Code Tutorial walked them through all of the steps for creating a holiday card – leaving me with little to do other than to provide new laptops when their batteries went dead.  I should get points, though, for observing that the batteries were about to die and urging the students to save their projects to their drives before they lost them completely 😉

After doing a Hopscotch tutorial with my 2nd graders yesterday (hey – there were 11 kids in that class!), I was prepared to take things a bit slowly with the students in this group who had never seen Hopscotch or Scratch.  Silly me.  After their classmate’s demonstration, and two steps into the tutorial, they were ready to jump into the project and CREATE.  My job was to step aside.  Here is a link to our class blog post with links to videos of their projects.

Since this was far from the typical experience that a classroom teacher would have if trying to incorporate Scratch, I know that much of my advice would not be helpful.  However, I do have a few words of wisdom for teachers new to using Scratch:

  • Scratch is free, and no longer requires a download (a mobile version is due out in the Spring).  You can use the web version just fine.  There are some added features in the downloadable version, but beginners won’t miss them.
  • You can share Scratch projects by downloading the file to a computer and then uploading it within Scratch or by joining Scratch.  I did not have my students join – as I felt that was a parental decision.  Joining does require an e-mail, but it allows you to share your projects with others in the Scratch community by uploading it to their site.
  • If you don’t have built in microphones on your computers, have some plug-in mics available.  The kids like to make their “sprites” say silly things through recording.
  • Monitor the “silly things” your students say while recording 😉
  • If your computers are somewhat unreliable, encourage your students to save frequently.
  • Be sure to build in time for exploration.  Just choosing their first sprite (object that they will program) from the Scratch library could take 5-10 minutes.
  • Ask someone who knows something about the program to assist you if you can.  If you can’t, it’s still nice to have extra hands available for basic computer trouble-shooting.

The Scratch Hour of Code tutorial is an excellent introduction.  However, here are some other Scratch resources if you interested:

If you have an iPad, Daisy the Dinosaur and Hopscotch are great lead-ins to Scratch.  But, really, the above resources take care of you.  And, as you have probably already learned with the digital natives in your classroom, our students don’t need nearly as much as much instruction as we teachers do!

*I’m trying Scratch with a class of 14 fourth graders today (11 of whom happen to be boys), so my experience will probably be a bit different!

Kids Can Code – and Change the World

Viney Kumar shares his Google Science Fair Project here.
Viney Kumar shares his Google Science Fair Project here.

It’s here!  This week is Computer Science Education Week.  (Check out the Google Doodle to honor Grace Hopper’s birthday, which starts CSEd Week this year!)  To celebrate, you are invited to participate in an Hour of Code – a global event during which schools are committing to teach students how to program for at least one hour during the week.  There are TONS of resources on the CSED website, and I have blogged about those and more in the past few weeks.  You can also look at my Programming for Kids Pinterest Board for even more ideas. For up-to-the-minute ideas, join the #kidscancode Twitter chat every Tuesday at 8PM EST.

Kids usually associate programming with video games.  As you know, though, it can involve so much more.  In one of my posts last week, I mentioned a video that showed how a homeless man was taught to code, and how that man is now using his skills to create an app to help the environment.  But our students do not have to wait until they are adults to design apps – or to change the world.  To inspire your students, you can show them this video of a young man named Viney Kumar.  At 14 years old, Viney developed an app to increase the reaction time to emergency vehicles in traffic with the goal of making it less likely for emergency responders to be stuck in a gridlock.  He shares how he got the idea and a brief summary of its development. He ends with, “Think about how the world works – or doesn’t work.  You can make a difference.”

You can find Viney’s video, as well as 9 other examples of “Kids Changing the Tech World” in this article from Buzzfeed.

It’s About the Process, Not the Product

A couple of my 2nd graders as they play with the Kodable app.
A couple of my 2nd graders as they play with the Kodable app.

The Hour of Code is scheduled for next week, and I can’t wait to participate.  Vicki Davis just posted an excellent resource on Edutopia for those who want to join in the fun.  Yesterday, I posted about a new iPad app that you might want to try.  And in November, I gave some awesome resources that include suggestions by grade level as well as a terrific compilation of Computer Science resources.

Everyone who reads this blog knows that I am a huge proponent of teaching kids how to code.  However, I am going to step way out on a limb here, and say that I do not agree that coding should be added to the required curriculum.

I know.  Where did that come from?

Generally, I don’t publicly get in the mix on controversial topics; I try to save that for Thanksgiving dinners with my family.   One reason I avoid contentious subjects is because I am well aware that I don’t know enough to weigh in heavily on either side.  That is probably the case here, as well.  But I am going to blunder my way into this one because I have been pondering it quite a bit.

The case for teaching kids to code can be found in numerous articles online.  Our nation has a far higher demand for programmers than we are producing.  Coding is an important 21st century skill.  It teaches our students about systems and how to problem solve.  I agree.  I also agree that exposing our kids to the basics of programming at an early age is a great idea.

But I worry that shoving it into our curriculum will take away its relevance.  It will become another skill to check off, another subject to be tested.  Exploration and creativity will be surrendered for efficiency and expediency.  Kids will be yawning and asking, “Why do I have to learn this?  I don’t want to be a computer programmer when I grow up.”

The truth is, despite the fact that we are careening into a future that will be even more dependent on technology than our present condition, not every person is going to need to know how to program.  I can watch T.V. just fine without knowing what a cathode tube does.  And, though I would probably have less chance of being gouged by a mechanic if I knew more about my car, I have driven for over 20 years in complete ignorance of the existence of 99% of the various parts necessary to make it run.

I teach kids to code because a.) they are interested, b.) they are not even a tiny bit interested, but then realize that it can be both challenging and fun, and c.) they learn valuable thinking skills that transfer to other lessons.

In my ideal educational world, every child would be introduced to coding by a passionate teacher who is able to integrate it with other subjects, and to guide kids to making real-world connections to programming.  The students who love it would be able to go as deeply into it as they like.  And those who have seen what it can do, but prefer to develop their computational and problem-solving skills another way can move in other directions.

The problem is, many kids today, particularly girls, don’t get to make that choice. The stereotype of pasty white, anti-social males sitting in basements surrounded by monitors and other mysterious electronic equipment as they design video games still pervades our culture. We should dispel that.  But we need to be careful.  Our goal should be to teach kids how to think, not what to think.

For my part, I will be including all of my classes, 1st-5th, in the Hour of Code next week.    I also plan to show this video to my upper grades because it eloquently expresses how coding was a vehicle to helping someone realize he matters to the world – and that the world matters to him.  They will get more programming experiences throughout the year.  They can also use Genius Hour time to pursue the topic if they like.  Or not.

In summary, I think we should teach kids how to look for patterns, systems thinking, creative problem solving skills, and even how to read and write code.  We can do that with computer programming – or knitting. Requiring either of those specific skills in every grade level will not benefit our children.

SparkFun

One of my students and my daughter pose with me at the Sparkfun Scratch/Picoboard Event
One of my students and my daughter pose with me at the SparkFun Scratch/PicoBoard Event

This weekend I had the great opportunity to attend an event hosted by SparkFun at a local venue called Geekdom.  The event was a class for young students to learn how to use the free programming language, Scratch, developed by M.I.T.  The students also learned how to use Scratch with a PicoBoard, which connects to your computer with a USB cord, and has different sensors that can interact with your program.

Parents were allowed to “audit” the class.  That was great for me for several reasons.  One was that I got to see 7 of my current and former students (including my daughter) participate in the class.  Watching them learn and problem-solve was wonderful.  Another reason was that I have been meaning to learn Scratch, but hadn’t had the opportunity.

SparkFun is a retailer, but they also have a “Department of Education.”  This department includes online tutorials and curriculum.  But they also recently went on a national tour, and our weekend class was included in their stops.  Unfortunately, their tour ends today (11/18/13).  Hopefully, they will schedule another one really soon.  I would love to see more events like this, particularly ones that would include educators.  Being able to witness the students learning programming from people who know what they are doing was very helpful for me.  I now feel braver about tackling it in my own classroom.

I would also like to see more girls at events like these.  There were 30 students in this class.  7 of them were girls.  At the end of the course (which lasted from 9-3, and completely kept the attention of all of the kids the entire time), the students could volunteer to share their programs with the group.  The audience then voted on the best ones.   There was a tie – between two girls.  One of the winners happened to be one of my former students.  (Her dad teaches Computer Science, so I take no credit for her expertise at all!)  Her program was so amazing, the SparkFun folks jokingly asked if she wanted a job.

I want to thank SparkFun for this awesome opportunity, and plead with them, and other companies, to provide more of this for our young people.  There is definitely an interest and great demand, I believe.  More importantly, this type of learning provides 21st century skills in technology, problem-solving, creativity, and collaboration.