A New Start

My two Code Clubs have started up again. There are 20 students and 2 high school volunteers for each club.  The first meeting has happened. Students learned about Scratch, had fun and I’m excited for both clubs.

This is my 3rd year. It’s session #6 & #7 of Code Club for 4th graders in my city. I know all the students from my school but only 2 of the students from the other side of town.

One thing I worry about, now that I have been coaching Code Club and teaching Scratch to elementary students for three years, is forgetting what it is like not to know how to program in Scratch, not to know what a Sprite is or know that the Stage has no movement blocks, etc.  I don’t want to assume that they know what I know and I want to present concepts that will be relevant to what they do understand. (I realize this concern is not unique in the teaching profession).

I have on the calendar for the first session of Code Club: “First meeting – Rules & Goals, Intro to Scratch”.  So I decided to morph the Rules & Goals and include a bit of the first step in thinking like a programmer.  Defining rules & goals is a big part of what a programmer really does.  I tried framing the rules in pseudo-programming language with the students as well:  If the day is Wednesday and the second bell rings, then it is time for Code Club.  When you open up Scratch, forever have fun.  I’m not sure I got my point across.

screen-shot-2016-10-11-at-2-42-41-pm

I presented the Maze game to Wednesday’s club because I knew they had used Scratch before as 3rd graders. They struggled a bit.

screen-shot-2016-10-11-at-2-44-01-pm

Most of them were able to get their Sprites to move around using arrow keys and set up the maze background.  Some were able to get the conditional sensing color code working.

screen-shot-2016-10-11-at-2-47-12-pm

Puff magic, a working maze game

And this one below added a squirrel that spins around the screen changing colors of the hero. Cool.

On Thursday I introduced Scratch concepts to 3rd & 4th grade programming newbies and blew their minds with the possibilities Scratch offers through simple blocks of code. The energy was thrilling and left me pumped.

screen-shot-2016-10-11-at-5-22-51-pmAfter introducing the same concepts of defining rules in code, (and Code Club) the first thing we tried was Motion blocks (ie moving a Sprite with the spacebar). And then we added Looks (ie change color).

 

screen-shot-2016-10-11-at-5-18-03-pm

screen-shot-2016-10-11-at-5-26-41-pmAnd finally, the awesome: Sounds forever!

screen-shot-2016-10-11-at-5-20-03-pm

In reviewing all of Thursday’s projects, I found those kids had some serious fun with Scratch last week!

I can tell I haven’t blogged in a while and I struggled to write this coherently and in a timely fashion.

How to Think like a Programmer

Yesterday was our second Code Club meeting, our second Hour of Code, if you will. It went well. Kids did great. It’s incredible, actually, how much we got accomplished.  I have to remember that, because I want even more and I think the students’ expectations are at least as high as mine.

I had been thinking about what I wanted to introduce this week since Code Club ended last week. What could I introduce at this point that was relevant to where they are in this journey? Too soon to talk about initial conditions.  They’re not ready for elements of game design (although a number of them would tell you otherwise). Explaining what an algorithm is was a definite possibility, but I needed some guidance. So I looked through the Computing at School Primary Guide for some help.

The guide explains how primary teachers can get started with the new curriculum and provides many pointers to excellent resources and ideas for building an innovative and exciting curriculum.

I recommend checking out CAS (Computing as School) for anyone interested in teaching computer science in elementary grades. From there I developed my topic for week 2:  Think like a Programmer  with two key points.  The first is that computer language is different from human language.  The second point is that to think like a computer programmer you need to know how to do 3 things: 1) how write clear algorithms, 2) how to debug, and 3) how to test your program.  I tell you, when I opened with, “Today I’m going to tell you how to think like a programmer”,  I got 100% attention from a whole bunch of my coders.  I think they even forgot about their goldfish crackers and apple slices for a minute. It was like I was revealing some mystery of life.

felixherbert_screenshot

Felix-and-Herbert – first project from Code Club

I only talked for 10 minutes because I wanted them to have a good 45-50 minutes to tackle our first learning project from Code Club: Felix and Herbert.  I had a printed project packet for each student.  They were to go through the project step by step as best they could.  This is a creative bunch and many whined a bit about having to follow the directions precisely.  I told them these projects would show them how to do things they might want to include in their own programs later.  For a while I wasn’t sure anyone was going to even finish the project. I didn’t print the projects in color so we spent a good bit of time figuring out under which menu button each code block was. Some things were a bit different in our version. Also saving the project can be an issue in our network set up. But it was all productive learning.

scratch menu

Scratch 1.4 menu – color coded

I had a former student email me with an interest in helping out with code club.  I remember when he was in elementary school here.  He was in the chess club I ran back then and I believe he wrote a persuasive essay in 5th grade about why our school needed more, and better, computers. He’s a high school senior now and at least a head taller than me (I’m only slightly taller than a 4th grader). When I introduced him to the students their comment back to me was, “no offense Mrs. Pollard, but you’re old.”  Well, yes I am. He was a great help with the students even though he didn’t know the programming language Scratch.  With three of us, my former student, the snack-bringing parent who stayed and helped, and myself, we managed to field most issues and a number of the students actually finished the project.  Some were even able to spend a minute customizing it.  Some didn’t quite finish.  A couple of students wanted to take the packet home.

The end of Code Club came so quickly, I didn’t have time to check-in with each student.  A downside of having such a large group and wanting to accomplish so much.