Guided Exploration vs Teaching

I worry that my students aren’t learning some of the basic concepts of computer science in Code Club.  It seems, sometimes, that they have big gaps in their knowledge of coding or have odd assumptions of the way the code works.

On other days, I’m amazed at their ability to explore in Scratch and their fearlessness of testing algorithms and trying new things. They want to learn how to code the most complex tasks.  They adjust their expectations of what their Sprite can do to whatever it does.

I’m finding it difficult to know what they know.  I’m looking for evidence of learning in their code and in my interactions with them, but I think I’m looking for the wrong things.

This morning I was reading Chapter 6 from Seymour Papert’s book Mindstorms. Papert talks about the difference between the way children learn and the way they are taught.  He likened learning a whole new domain of knowledge (like computer science, say) to getting to know a “new community of people. Sometimes one is overwhelmed by a bewildering array of undifferentiated faces.  Only gradually do the individual faces begin to stand out.”  (pg 137).  This requires exploration and perhaps a guide who can provide introductions.  The ability or acquisition of sensitivity to distinguish faces (or concepts) comes with time and “cannot be done by a third party. Everyone must acquire skill at getting to know and a personal style for doing it.” (pg. 137)

Perhaps this is what I’m seeing.  My Code Club students are getting to know Scratch through exploration with me as their guide. What I see as “gaps” in their skills just show they haven’t acquired the sensitivity to those concepts yet.   Meanwhile I haven’t

Well, I have to go back and finish that chapter now.

 

Advertisements

Play Testing

Last week in Code Club we did the project Space Junk and it was a hit.

screen-shot-2016-11-15-at-6-06-55-pm

Space Junk project with pulse shooting wand

My goals were for them to get the arrow keys working, learn about importing/exporting Sprites and spend some time checking out other people’s games.  If they were able to implement a growing planet or the timer, that was super.

Soon they will be starting their own projects, possibly in pairs, so I wanted to introduce the idea of sharing assets – like a Sprite – between two coders. When we discuss pair programming and they have the design review they will need to decide who will do which part and learning about exporting/importing Sprites will help.  I had a space cat Sprite from the Super Scratch Coding project as well as the Angry Bird and Angry Bird Pig from the Angry Bird lesson plans from Simon Haughton’s site.  These files were in the shared Code Club folder and I showed them how to import them.  We had some technical trouble with this.  Some of them were successful, then suddenly the Sprite could not be imported.  I couldn’t figure out if someone “saved” over the file inadvertently or that too many people were accessing the file and that somehow made it unusable by others.  It happened on both days.  I was prepared the second day and also had the files on a USB drive.

screen-shot-2016-11-15-at-5-56-36-pm

Angry Birds Space Adventure?

They did like the Angry Bird assets.  And even customized them.screen-shot-2016-11-15-at-6-00-41-pm

I made it a point in the last 15 minutes to ask who had a game I could test out. This took me out of troubleshooting mode and let them share with me their cool, silly, challenging, still in progress games. That’s part of being a club.

I also want to say that my volunteers are great and I couldn’t do this without their help!

Record Project Video

Last month the art teacher came to me with an idea for the super hero project she was doing with 3rd graders.  She was thinking of adding a technology piece like a digital cartoon or animation.  I told her the stunned look on my face was not “oh my gosh, that sounds like a lot of work,” but a “this could be really fun” and “there are so many ways to do this, which one do I suggest!” face.  I decided to suggest the students make a Scratch project and use code to animate their superheroes.

Screen Shot 2016-03-22 at 8.45.38 PM.png

Vampire hero

I made some room in my schedule to accommodate the three art classes and used some of the 3rd grade computer lab class time to work on the projects.  They worked on sketches and project ideas and a poster in art.  In the computer lab they started by making a background in MSPaint.  It’s a good place to warm up your mouse drawing abilities.  Then they drew their superheroes in a new file – with a white background.  Those who finished up early were able work on a sidekick or villain.

Screen Shot 2016-03-22 at 9.17.23 PM

City background for the Stage

Next we imported the background on to the stage in Scratch 2 offline editor.  (If the Paint file didn’t fill the Stage, they could grab a background color with the Scratch color picker tool and fill in the whitespace.

Finally we imported the superhero as a Sprite.  The picture file usually contained a white background but Scratch allows you to set the fill bucket to “invisible”  (ie alpha-channel) using the “red slash” color.  This is a really useful tip that I wish I had known about it last fall! Just pick it, use the fill bucket, fill the white background with “invisible” and voila, a Sprite on an empty background.

Screen Shot 2016-03-22 at 8.13.53 PM

Use the red slash to control the alpha channel and make an invisible background

Now to code for the animation.  I standardized the code to have the superhero say its name and then bounce around the screen.  Students had to start with this and customize it by setting the direction, the number of steps and even adding changes to color, size or visibility.  A few students added a second costume to show wings flapping – I’d like to do more of that next time.  A few had a second Sprite – sidekick or villain.  One had sound.

Screen Shot 2016-03-22 at 8.25.57 PM

Basic animation code

Meanwhile I was looking for ways to capture the animation in video form – some kind of Screencast movie so I could compile all 63 superhero animations into a movie to share.  I tried Screencastify but the free version would require a lot of editing and leaves a brand name tag on the video. Quicktime did an okay job on my iMac at home, but not useful for the Windows based computer lab. Then late last week I was working in Scratch 2 offline editor when it asked to update to the latest version 443. So I did. When I went to save the project I noticed a new option: Record Project Video.Screen Shot 2016-03-22 at 8.36.14 PM

This was exactly what I was looking for!  Unbelievable and just it time, too. The students would be able to do this part themselves if I could get the updated version in the lab.  In the end that did not happen and I ended up recording all the project videos myself. When you record the project video they are saved as FLV files.  I did have to convert them to MP4 files to make the movies.  The movies are awesome! (video 1, video 2 and video 3) and a great way to showcase all of the student work.

Screen Shot 2016-03-22 at 8.44.50 PM

Lava Girl

 

Do you know what this means?  Every 3rd grade student created a Scratch project this year! Incredible.

I enjoyed this STEAM collaboration with our fabulous elementary school art teacher immensely.  I learned a lot and look forward to improving it the next time around.