This was the second week of my 8 Week Coding Class for 4th Graders
This class started a bit more chaotic than the first week.
Code Club Philosophy
I’m not really teaching a class, I’m running a club, and I don’t really care if they learn computer science fundamentals.
I want the kids to:
- have fun
- build things
If those two things happen, they’ll naturally be more interested. If they get “hooked”, they’ll be more motiviated to learn more complicated computer science topics.
Don’t worry about how it works. Just go.
When learning to drive a car, the focus is on getting the car from point A to point B.
You don’t need to know how to use the defroster, how the automatic transmission functions, or the biography of Enzo Ferrari.
And, unlike a car, it’s ok if you write some code and it immediately crashes.
So, I’m running the class by giving them the keys and letting them drive. They’ll figure out how things work later.
I can tell there is a tremendous sense of empowerment and joy when they realize that they get to do what they want.
It’s a bit chaotic at first, as they start honking the horn, gunning the engine, and laughing uncontrollably.
Fortunately, they don’t get into any major accidents.
For one of the classes, I wired up a chat program using TogetherJs The kids LOVED it, but it was big mistake. As soon as they saw a chat window, they went crazy chatting with each other and paid no attention to me. TogetherJs is also not just a simple chat program - it lets each kid control other screens.
As you can imagine… this didn’t work out so well.
It took me about 10 minutes to reel them back in. I think chat is a valuable tool, but I’ll need to rethink how I can use it.
12 year old app developer
We watched this video about a 12 year old app developer. The kids kind of liked it, but I think the reception was kind of muted. We need better videos.
If you know of short videos that might appeal to kids to learn code, please share them in the comments.
Learning about Loops and Commands
I didn’t really want to spend a lot of time talking, maybe 5 or 10 minutes at most. It is really hard to have a conversation with them when there are laptops sitting in front of them.
We talked a little bit about loops, commands and programs, and how they fit together.
These kids are all fantastic students. I can tell that they are all pretty well behaved in the classroom, and they respond to “classroom-like”” questions pretty well.
I think it’s important to have them talk for a few minutes, if only to get them calmed down and thinking about computers.
This week, we started to use MIT Scratch which is a visual programming environment with a rich curriculum, geared towards children.
I decided to run this class mostly by following the Getting Started intro on the Scratch website.
The Getting Started Tutorial teaches them how to:
- move a sprite around
- manipulate “code blocks”
- use a “repeat” control block
- change sprite colors
- make sounds
- change backgrounds
- response to some basic user input.
I had wanted to get further, but it was clear that this was how far we were going to get.
Since some of the kids had “played” with Scratch before, I let them go faster, so they wouldn’t be bored.
Tips and Tricks
- Kids should have a mouse. It’s really hard to manipulate Scratch with a touchpad.
- If some kids get too far ahead, use them as teaching assistants to help the other kids
- This helps the further ahead kids since they have to explain what they are doing and will learn more.
- It helps the other kids catch up.
- And it helps me keep control of the class.
- Windows 8 is kind of difficult for kids to use. There are lots of weird swipes that cause the tile screen to show up.
- Chromebooks are actually fine.
- If you are teaching kids Scratch, these are the things that tripped them up:
- Separating Blocks and Removing them
- Their sprites would fall off the screen, and we had to figure out how to get them back.
- They’d add some new sprites to the screen and they couldn’t figure out how to delete them
- By 4th grade, they are all pretty adept at finding videos and images on YouTube.
- At the end of the class, I have them type up some notes about what they learned and save them with each lesson. This helps them think about what they accomplished.
Stories from the kids
A few kids had used Scratch before and had some “tricks” up their sleeves. I saw a few memes I recognized from Reddit.
One of the students in the class learned how to make animations by stringing three drawings together and rotating through them. Pretty amazing.
A few kids were a little disappointed that we weren’t doing CodeCombat again in class.
Next week the kids are going to team up into groups of 2 and I’m going to give them a few challenges using the skills that they learned, and maybe one or two new ones.
Suggestions and Resources
If you have any suggestions for the class, or resources to share, please do so in the comments below.