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


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


CS4NH resources:


CSTA K-12 Computer Science Standards, Revised 2017


CS for All Teachers 7 “big ideas”:


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

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




Code Club says “Hello, World”

Finally, six months after first putting together a Code Club proposal, eight months after taking Future Learn’s Teaching Computing, part 1 and learning about Code Club World, one year after introducing Scratch to 4th graders for the first time, today was the first meeting of Code Club.

And the verdict is….the students had fun.  They were totally engaged, on task, and being the kind of goofy, creative, enthusiastic, limit-testers that 4th graders tend to be.  When I called for everyone to save their projects, log off and shut down, one girl looked at me incredulously.  Yes, I said, the hour is over. Parents are now waiting.  We’ll be back next week.  She couldn’t believe time was already up. Score.

code club

Everything went smoothly, if a bit chaotic, but I expected some of that. First order of the day was going over rules & goals while we had snack.  We decided to use school rules and after a number of examples from the students I summed it up as Respect.  We are going to respect each other, the computers and the space (at about this time our cool custodian stopped by and ribbed us about eating in the computer lab.  The one rule he was sure of was there was no eating in the computer lab, and he preferred us to keep it that way).

Then I asked what everyone’s goals were:  Many said they wanted to make a video game (like a new version of such & such game), another student wanted to build a website, some said make a movie, another to design stuff.  Some were concerned we were dreaming too big and we may not be able to realize our goals.  I expressed my goals as wanting everyone to have fun, be creative and learn about computer science.  Just the broad strokes today – we are all dreaming big.

And so we got to it.  Everyone opened up Scratch and I introduced the stage and sprites, sounds and scripts. Then we wrote our first “Hello, World!” project, because that’s what computer programmers do.

hello world

For the last twenty minutes I just let them explore Scratch.  I had two other adults with me, which was extremely helpful. They were both experienced with the 4th grade population and with coding – if not Scratch specifically.

All in all, it was a successful first meeting, yet I am ambivalent about my leadership.  I could have explained things better, or understood better where I need them to be in their knowledge of Scratch by the end of the first week so we can get to where they need to be to be able to design their first game at week 6.  I want to make sure they have a good foundation as well as exposure to different things Scratch can do. Great, thought, but I think I’m going to have think and be more specific as to my weekly goals.  I’m probably expecting too much from the first meeting of the first round of Code Club, but I feel like I’m just winging it.