Summer Creative Coding Club

This July I’ve been leading a 4-week coding club at the public library for middle school age students.  It is a 1.5-hour session for up to 12 students. Kathy, the children’s librarian, is my co-leader. She sets up the library space, takes care of the sign-up list, and prints project resources we use, in addition to supporting the students during the sessions.  We worked together during the school year, co-leading Creative Coding Club, which met once a month, and because of its success, we are planning to offer it again this fall.

OLYMPUS DIGITAL CAMERA

We have this great space at the public library (although the projector doesn’t have the greatest quality display).

In early June we decided which projects to present during the 4 summer sessions:

1) RockBand/Pong  (both good intro to Scratch or refresher projects)
2) Chatbot  (one of my favorites. We have done this one before but it is very open-ended and worth repeating)
3) Flappy Parrot (a favorite of my 4th-grade code club and one I haven’t done in the library setting)
4) Makey-Makey (piano and cardboard- a great way to end)

Session #1

About a week before our first session World Cup soccer was making news headlines which got me thinking about all the sports-themed Scratch projects my students have made. So I went looking and found a Code Club resource with a soccer theme which Kathy printed. (our Creative Coders is a registered Code Club).  Kathy also had the Scratch Music cards available as well.

I created a class studio Summer #1 and added a remix of the Code Club resources for Beat the Goalie.  It has the assets (Sprites and background) ready to add code blocks following the guide.  I wanted to add an example of a music project, too, so I made this one and coded up the baseball theme “Charge”.

Screen Shot 2018-07-22 at 10.00.09 AM

My example music project

I liked the idea of giving the students two options each week. We have both returning Creative Coders and new-to-Scratch coders (plus a long wait list) for our sessions. To start with two projects of varying complexity will provide students with choice.  We hoped this would promote more creativity in their projects.  Plus, the session is longer and there could be time to try both.

For a first meet up, things went well.  There are always technical challenges just getting students on the library Chromebooks and into the Scratch class accounts.  It was also a challenge at the end to get them to stop and share their projects with everyone.  But overall they were engaged, creative and supportive of each other.

Screen Shot 2018-07-22 at 10.24.24 AM

The studio filled up with an even mix of music and soccer projects.  Since it was a bit chaotic at the end during the time we wanted everyone to check out each other’s projects, I took some time at the beginning of the session #2 to share the projects from session #1. They seem to enjoy seeing their project displayed on the screen (and me struggle to play their game).

Session #2 

Along with Chatbot, I introduced the Pen blocks and added a couple of examples from Scratch Started Project resources in the Summer #2 studio – this gave them a second choice of projects, which worked well during session #1.

Screen Shot 2018-07-22 at 10.43.02 AM.pngStudents are starting to take advantage of the class session studio to look at the examples, remix the resource projects and share their final projects for the group. I finally feel like I am putting some of the features of the Scratch teacher/class account to good use.  Both projects were hits with the students.  Kathy noted it was exciting to see them working so intently on their projects and then be so proud of what they created!  It is why I keep doing this.

Session #3

Coming up! I received a ‘final notice’ email (and saw on Twitter) about Code Club’s Moonhack 2018 project, so I’ve added it as our second option for session #3, although we’ll be coding a few days after the anniversary event.  This will be a new project for me, so it should be fun.

Advertisements

CS Concepts in Elementary Grades

2018 January Tech Expo LOGOThis last week I led a professional development session titled “CS Concepts in Elementary Grades” for my district’s Tech Expo.  It was one of several dozen sessions available for teachers during the day. I had just a handful of teachers at my session.

 

I started with this video from Code.org. It introduces “why CS?” better than I can.

Next, we took a quick look at the CS Standards at http://www.csteachers.org/page/standards, just to see that there are standards and where to find them.

Then it was on to try out Scratch.  (One teacher had mentioned this is why she signed up for my session.  She wanted to learn Scratch.)  I introduced Scratch by going over these concepts:

    1. Stage
    2. Sprites
    3. Script, Costume, Sound tabs
    4. Block menu

Then I let them try out the Virtual Pet project using the Scratch cards from https://scratch.mit.edu/tips.  I picked the Virtual Pet project as it hits all the concepts I wanted to introduce.

 

Screen Shot 2018-01-22 at 7.36.58 PM

Code from a student-made Virtual Baby project

 

These are the concepts I think are important for elementary students to be introduced to:

    1. Computational Thinking
    2. Algorithms
    3. Commands
    4. Events
    5. Initial Conditions
    6. Decisions / Conditionals
    7. Iteration, Loops and Forever
    8. Coordinate knowledge
    9. Data and variables
    10. Debugging – Checking for errors

I had one Kindergarten teacher attend my session, so I handed her an iPad with Scratch Jr. on it.  She had a great time playing and exploring Scratch Jr. while the rest of us working on our Virtual Pets.

The Virtual Pet project turned out to be pretty complicated for a first time Scratcher. They had a hard time with Broadcast and Recieve, just like my Code Club members when they tried the Virtual Pet project. I guess I knew this would be a difficult concept but it is so powerful. I like all the things you learn when trying this project out, even if it is a bit overwhelming.

After some success, we moved on and I showed them some student work.  I wanted them to see examples of how to incorporate Scratch into their curriculum.

    1. Intro to Scratch was independently made by one of my former Code Club members https://scratch.mit.edu/projects/177914932/
    2. Infinity and Beyond shows how a research topic (math topic in this case) can be shared using Scratch https://scratch.mit.edu/projects/22933952/
    3. Apple Inventory is another case of using Scratch to demonstrate understanding  https://scratch.mit.edu/projects/66568488/
    4. Math Games by students for Hour of Code week  https://scratch.mit.edu/studios/3616910/
    5. Winter Fun is an introductory project I’ve done with students https://scratch.mit.edu/studios/3664546/
    6. Spirograph Studio (reminiscent of the old Turtle paths play)  https://scratch.mit.edu/studios/3984733/

 

Screen Shot 2018-01-22 at 7.32.51 PM

Using Scratch to show your math solution.

 

I have many more, but as we were running out of time I quickly went through some Debug-It projects I found on the Scratch site.  I think it is important that teachers feel confident in helping students when they get stuck.  Knowing how to debug Scratch projects can help.

Debug it

  1. https://scratch.mit.edu/projects/23267245/
  2. https://scratch.mit.edu/projects/24269007/
  3. https://scratch.mit.edu/projects/2042712/

I didn’t really pick the right Debug it projects for my attendees.  These were more challenging for my audience than I thought they would be.  I wish I had chosen easier ones or left this for another session altogether.

I hope my session left them with an idea of how to start using Scratch in their classroom.  I also hope they will reach out to me if they would like support facilitating Scratch projects in their classroom.  I worry that they were a bit overwhelmed with all I presented. They were a pretty quiet bunch, but I guess I’m used to a room full of rambunctious 10-year olds.

Oh, and I also compiled this list of resources:

Resource List

ScratchJr:  http://www.scratchjr.org/

Scratch online: Scratch.mit.edu 

Teacher accounts https://scratch.mit.edu/educators/

Scratch cards & Educator Guides https://scratch.mit.edu/tips

Offline editor https://scratch.mit.edu/download

Starter Projects https://scratch.mit.edu/starter_projects/

ScratchEd online community http://scratched.gse.harvard.edu/

Creative Computing Curriculum using Scratch http://scratched.gse.harvard.edu/guide/

Code.org Teaching Computer Science Fundamentals PD

https://studio.code.org/s/K5-OnlinePD

Code.org Lessons: https://code.org/student/elementary

https://code.org/educate/curriculum/elementary-school

CS4NH resources:

http://www.cs4nh.org/resources/framework-standards/

CSTA K-12 Computer Science Standards, Revised 2017

http://www.csteachers.org/page/standards

CS for All Teachers 7 “big ideas”:

https://www.csforallteachers.org/computer-science-principles

CodeClub.org:  https://codeclubprojects.org/en-GB/scratch/

K-12 Computer Science Framework: https://k12cs.org/

 

 

Everyone is Doing It

About a half dozen years ago my school district went through a “consolidation” where some schools closed and a new school was built. The result was that my school’s population got younger. I went from teaching graphing with Excel to fifth graders to mouse skills to Kindergarteners.

Click on the star-side

Click on the star side

But gee, those Kindergarteners are so cute and so effervescent.  What a blast to find little online activities for them to try.  We love StarFall.com and ABCya.com and ToyTheatre.com and the list goes on.  BBC & PBS Kids and well as some textbook publishing companies all have interactive games on the web for free.  There are even more resources if you have monies to pay for a subscription or don’t mind setting up accounts for your students.

During that first year, I searched long and persistently to find free, appropriate, educational, curriculum related web-activities for my younger students to use during their computer lab time. My success varied. What I did come across was a number of little learning games, simple enough in their construction that, I thought, perhaps, even I could make a game like that.  That became a motivator for me, something I could challenge myself with. So when I was unable to find online resource on a specific topic I envisioned or for different parts of our curriculum, I imagined I could just write my own.  It seemed everyone was doing it.

I was also inspired by ABCya.com story.  Here was another person, like me, looking for good resources on the web and when he couldn’t find much, started making the resources himself. The ABCya! site has grown into a great resource and achieved many accolades.  Their stuff just keeps getting better and better with each iteration.

abcya

While what I’ve been able to do can’t compete with the likes of ABCya!, I did start making my own games.  You can find them at MrsPollardsGames.com.  My original plan was to learn how to make games, then teach some older students (like high school kids) to make resources for the younger kids.  We would use the little ones ideas and artwork and the older ones ability/desire to code (and I would facilitate the collaboration).  Sounded like fun and learning all around.  (And I naively thought I could just do it.)

As it turns out, it’s more complicated than I thought to make even the simplest of games. When I started with this idea a lot of the resources that I found online were FLASH games and the .swf file extension of these assets were made with Adobe ActionScript.  So I decided to learn it.  My daughter drew the pictures for me and I wrote my first game in 2010 – the Farm Game.

Count the farm animals.

Count the farm animals FLASH game

I can only make one or two games in a year. As much as I enjoy the process and the sense of accomplishment in producing a new game, it just takes so much time and energy. It really challenges my ability to think like a programmer: break down the game into logical steps, specify the outcomes, plan game play, set up the objects, think about the outcomes, animate, test, debug.  I can credit part of my success in this endeavor to the software engineer who is my spouse.  He doesn’t like Adobe’s FLASH environment, but he helps me with ActionScript, the object-oriented programming (OOP) side. He’s great at making me think through all the logical steps and suggesting what I should test to figure out why things aren’t doing what they are supposed to.  Books help, too.  I’ve amassed a few ActionScript animation and game building guides.  I took a Java course online to learn more about that type of programming (a MOOC on OOP).  I suppose if I created more games and spent more time at it, I’d get better at it.  I just don’t think I can teach it to anyone else. I need too much help with it myself.

And the web is changing.  It’s not enough to have a little game on a web-site.  It has to be mobile ready, use rich, dynamic web-design, etc, created by acronyms like JSON, HTML5 & CSS, AJAX, etc.  I won’t be able to keep up.

But it’s okay, because I’ve got a new challenge now with Scratch.  It’s a different vision than the one I started with, but I am teaching kids to code and it is a blast.

We didn’t have Code Club last week, but we do tomorrow.  And it’s all about animation…. Stay tuned.