Gaming

It has been wonderful witnessing the creativity and problem solving in our coding class, especially lately.  The kids have been using their skills, and each other’s, to design some truly engaging video games.  My latest “studio” in Scratch invited the kids to make a side-scrolling game.  I introduced them to some of the key scripts (such as “if / then” and costume changes), then let them explore.

I’m loving being the “coach,” rather than the teacher.  It is truly empowering, both for the students and me, to know that the answers don’t have to be instantly apparent.  Through investigation, collaboration and a willingness to ‘get it wrong,’ we are learning from each other.

Putting The Pieces Together

It’s our third session with Scratch, and I now understand the use of their mascot.  Teaching students in Grade 5 is much like trying to herd cats.  There is so much to do within this environment.  The kids just want to go, explore and ‘have fun’.  It has been quite challenging, but exhilarating too.  I have been very thankful for the many lessons/resources out there for Scratch.  Because it is such a popular, tried and tested platform for teaching coding I feel more confident in my ability to deliver solid guidance.

I sure am appreciating the way Scratch allows for student management and sharing.  Additionally, having “studios” to focus a lesson has helped keep track of our scaffolded skills.  I post a challenge, a little more intensive each time, that builds on the lessons from before.

Once the students are taught the ‘big idea” (such as creating a regular polygon) and some key skills required, I challenge them to continue the programming.  For example, once the students learned how to use coordinates and rotations to create a “regular polygon” the next studio challenged them to make three different ones of their own.  The brainstorming is infectious.  Once one student discovers a new way of doing something, it spreads through the class like wild fire.  For example, students quickly taught each other that instead of using repeated rotations to create a polygon, one could simple put in an operation that divided the 360º of the polygon’s external angles by the number of its sides.

https://scratch.mit.edu/studios/3956937/

We have started a new studio, animating one’s name.  After showing the kids a few things (movements, sound effects, iterations) with some letters of my own, the kids were left to finish animating each of their remaining letters on their own.

https://scratch.mit.edu/studios/3975171/projects/

Our Next Adventure

Well, after a relaxing break (getting into the woods riding and hiking – trading tech for trees), it’s back to the classroom! I’m excited to start a new adventure with the kids. We’ve been having a lot of fun with coding robots (Edison) and next it’s “Scratch.” I will be relying on y’all to guide me, as I am definitely a newbie with this application. My goal is to build on the skills of problem solving, perseverance and collaboration we’ve experienced since September. I’d like students to develop their own ‘video games’ and showcase them in a year end ‘arcade’. Working with the robots has been a fun challenge for the kids (and me). I have a very distractible group this year, with very short attention spans. For the most part, the students have impressed me with their increasing willingness to stick with a task. Practice makes progress, and I am definitely noticing my students able to concentrate on projects longer, with less “This is too hard! I give up!” There has been a lovely shift from, “I can’t” to either “I’m not there yet” or “I can, but with help.

If You Fail to Prepare, Prepare to Fail.

After weeks of working with our little Edison robots, something has become very apparent.  Both planning and patience are essential for success. As the tasks students are attempting become increasingly complex, so too must their preparation, perseverance and collaboration.  Simply dragging and dropping algorithms, hoping for a desired result, has often led to confusion and frustration in groups.  Additionally, group members were arguing among themselves as each team member would interject his/her ideas intermittently.  We had to have a plan, literally!  I asked the kids to sketch out the route they’d like Edison to take, BEFORE building the program on the laptop.  With pencil and paper (old school), the groups had to first map out the route, with labeled distances, event wait times and rotational directions in degrees.  Using these “road maps” students then tried to match their plans with appropriate algorithms.  Not only have the kids been more successful with their intended programming, but when things go wrong they can go back to their sketches and zero-in on a specific area to “de-bug”.  Because there is one agreed upon “map”, there is much less arguing when things go wrong.  The teams blame the plan, rather than each other.

Assesment

My focus for this project has been, primarily, to develop critical thinking, perseverance and collaboration skills.  The Code.org site has a nice management page for students work.  I can see what lessons each student is working on and notice common themes that need group/class revision.

  

Occasionally, I will give the kids little ‘quizzes’ to assess specific skills/knowledge, such as vocabulary definitions (“What is an iteration, and give both a ‘high-tech’ and ‘low-tech’ example.”), or have them write a line of code that would produce a specific result (“Make Edison go forward from the start line, to the finish line, make a sound, and drive backwards to the start line.”).  When it comes to student reflection, I often have them journal their thinking through particular challenges.  Not only does this promote self reflection of a student’s thought processes (metacognition), these journals have also been helpful classroom discussion tools for common challenges and successes.  Often the journal entries will provide the focus for our next lesson or review.

   

Although the tools might be different, I can still approach assessment in a similar way as with other subjects.  I often use rubrics, developed at the beginning of assignments with the students.  Recently I found a web site that has some guidance for assessing student learning with technology.  It even has links to on-line rubric creators.

Two Resources

For my first resource, I recommend adding robots to the mix.  Recently we have ‘un-boxed’ our little Edison robots and welcomed them into our coding explorations.  Moving from the ‘virtual’ lessons of Code.org to this tangible experience has truly gotten the kids ramped up with excitement.  We have looked (rather superficially) at the accompanying software (“Edware”) for coding these mini robots, but most of our fun has been using its other means of inputing commands.  It has light sensors on its top and bottom, so it can follow a flashlight or a drawn pathway (line).  It can also read bar codes that it runs over.  Additionally, it has a simple microphone to recognize patterned hand claps.  After the break, we will start coding instructions for these little units using their proprietary ‘drag and drop’ software.  I think it will also accept commands from “Scratch”, but I haven’t looked into this yet.  The kids will work in teams of three (I bought 10 robots for the group.).

20161129_09205020161213_090114testprogram

The second resource I would recommend is a “buddy class”.  Now that the students are feeling confident with some skills in coding, they are excited to share their knowledge with others.  Once a week, my group visits a younger class to support them through lessons on coding and logical thinking.  The experience has been wonderful on many levels.  The meetings help solidify the older students’ understanding of the concepts/skills covered in our lessons, but also helps build community within our school.  I have been very impressed with the patience and commitment my group has shared with their younger ‘buddies’.

20161129_133954lightbotscratchjr

Digital Citizenship in Division 3 at HMB

thinkfirstRecently my students have started posting reactions to their school experiences on “Fresh Grade” (online portfolio).  We have had rich classroom conversations regarding what our responsibilities are when posting things out to “the web”.  Most students do not realize the potential impact of sharing themselves in such a way.  Important considerations include the audience (Who will have access to your post?) and content (What reaction will the reader have?).  Although their portfolios are ‘closed’ to the general public, others (teachers, parents, classmates) will be receiving their messages.  In our class I have a small poster that has been up since the first day.  I refer to it often, when a child has their hand up.  It reads, “Before you share, ask yourself – Is it kind?  Is it honest?  Is it necessary?”  This poster is now the foundation for our online conversations. 

Computer-less Programming

Kickin’ It “Old School”
20160927_093047 20160923_094855

Before our laptops arrived, the students and I were having fun learning the basics of coding.  We wrote simple algorithms to program each other, to accomplish simple tasks, like moving around the classroom and sketching simple designs on grid paper.  Whether it was writing sequential instructions for building a paper airplane or the steps for brushing one’s teeth, the students began appreciating how specific and comprehensive an algorithm must be.  Now that the students are coding through self-paced lessons on code.org, these lessons are becoming more apparent.  We are learning that it is rarely the machine’s fault, rather the problem usually lies somewhere in the student’s instructions.  “De-bugging” is turning out to be half the fun, kind of like being a detective.  One tip we are following is writing only a few lines of code at a time, to catch each mistake as it happens, rather than waiting until the end (where multiple “bugs” might be overwhelming to unravel).  The video I’ve included shows an introduction to “loops”, where repetitions can be coded as “iterations”, rather than re-written over and over.  Regardless of where the individual students are in their lesson progressions, I always start a coding class with a talk about a key concept or skill, as well as “round-table” issues that are occurring with the group.  Soon we will bring out the “Edison” robots!

And So It Begins …

Welcome to Coding with Halfmoon Bay Elementary’s Division 3 class!

Once a month I will submit my thoughts, challenges, celebrations, insights, etc. as I journey through a year of inquiry-based learning with coding.

Stay tuned!