The following is a guest blog written by a CodeMonkey Teacher Ambassador
I have been working with young children for about 5 years after being transferred from a 17-year teaching gig at the local high school. I have been a coder since I was 8 thanks to the Intro to Programming video game cartridge that came with my Odyssey game console. I never did completely figure out Assembly machine language at age 8; to be fair, a textbook was my only resource. Fast forward to the present, and now I have some insights to share on how to teach coding to kids ages 6 to 12.
I have not been officially trained to teach little kiddos how to code, so what I will share is what I have learned through experimentation and observation. In the beginning, there was only www.code.org. There were many options for different grade levels. In the classroom, I picked a few to try with students: Kodable for Kindergarten and 1st grade, and a program designed with blocks for 2nd and up. I projected what we were doing on my projector screen, explained the main tasks and objectives, and stood back and watched the chaos of discovery learning take place. Most teachers detest discovery learning because it is loud, chaotic, unpredictable, and misunderstood by evaluators, but I embrace it because it is the kind of learning that sticks with the kids. Does it always go as planned? Never. Is it going to sound like you are having a party in your classroom? Sometimes. Will you be flipping on the switch of some awesome computer science learning? Always.
Presently, there are hundreds of choices of programs to teach kids how to code. You can either allow your class to make the choice, allow students to choose independently, or you can divide and conquer what’s out there before the school year begins. I usually start taking learning program options out for a test drive during my Fall Break in October. Did I mention I’m a computer nerd? I’m actually on Fall Break right now, and what am I doing? Coding and blogging about coding. Total nerd. As the students were leaving class this week, I told them to code during the break if they got bored. I got the “yeah, right” look from most of them, but I did see a glimmer of interest in the eyes of a few students. I knew I would be coding. This is the time of the year that I love to sharpen my coding skills. You must bring your “A” game during Computer Science Education Week to hook more students into Computer Science. But, where to begin? Again, it will depend on your situation. I only see my kiddos weekly for 45 minutes, so I tend to choose something that the kids can do fairly independently. If I can get them hooked, then they will be coding on their own time. Code.org has attempted to reel students in by teaching coding with popular games or characters. After the kids get over the initial excitement, they get bored easily. Some students ignore the instructions and the goal of the levels. They get drawn into being able to move one of their favorite characters around on the computer screen. This leads to wasted class time as the instructor must guide the students back to level 1 to learn the basics.
And then, I found CodeMonkey. I loved it from the very beginning, but it took the kids a little while to warm up to it. It didn’t have all the eye candy of those block games on Code.org. It was tough. I may have heard a few times: “that stupid monkey!” However, when I explained that he’s only as stupid as you make him, the old “Garbage In, Garbage Out” programming mantra, I started hearing fewer complaints about the mentality of the monkey. Plus, the kids were learning how to program in CoffeeScript. I could still tie in my typing standards from the state. Some of the non-computer science teachers at my school thought that the kids were just playing games. I had to explain to them that they were coding, programming, solving problems, and increasing their analytical skills.
How did I approach teaching the different grade bands? I kept Kindergarten and 1st grade on Kodable. However, this year, CodeMonkey came out with CodeMonkey Jr. It looks very good, and I know that the younger kids will love it! For 2nd grade and up (8-year-olds), I put the kids on CodeMonkey’s Coding Adventure. On my projector screen, I start the first few levels and show them how to maneuver the basic steps of walking and turning in order to catch the bananas. Then, I hand the coding over to them. Let the chaos begin! I find that the younger students learn more from making mistakes and tutoring each other than they do from me helping them. True, sometimes I must get them back on the right path of determining their objective and how to arrive at that objective. Never fear, there will be a turning point! When they no longer need you, you can sit back and enjoy watching their growth. This is my favorite part! I love the excitement that you can see on your students’ faces as they figure out each new level. Collaboration and communication between many of your students will happen organically during this process. Critical thinking skill development is the most astonishing gain to witness. And the best part is the opportunity for students to express their creativity once they have mastered the intermediate levels and can unlock the Game Designer Challenge. I have not had a student reach this level yet, but I know that this year will be the year. I can just feel it!
Now, how do you get your older students interested? Some of your more mature students will scoff at the monkey, but once you show them the Intermediate Level Courses, where they learn how to code in Python with Banana Tales, they too will be hooked. (Even I can’t stop playing Banana Tales.) Once they realize that they are coding just like a professional computer programmer, you have secured their engagement in Computer Science. It doesn’t take long to get that kind of student interest. It only took me 15 minutes, once a week, for about one month to get my students this excited about Computer Science by using CodeMonkey’s software. My students have asked to go to other coding sites, but I insist on just using CodeMonkey. It is just that good! Plus, I can easily track their results using CodeMonkey’s gradebook. Another nice feature is the ability to export the information into an Excel worksheet, which I love for data analysis. Some of your students will advance faster than others. Some will amaze you, like my 2nd and 3rd graders that are coding in BananaTales! This is also a great opportunity to help with leadership and social skills with your more introverted students. Some of my more reluctant students are now developing an interest thanks to my Super Coders!
Once you have a significant group of students that love to code, it is time to take it to the next level – coding contests. CodeMonkey has the Code Rush Coding Contest every year. It brings out the best in my serious coders – to be able to compete head-to-head against other students across the nation. You can arrange students in diverse groups with different grade levels. There is nothing as effective for learning as peer tutoring. Plus, it is a great confidence booster for your best coders to be able to teach those that need a little push into deeper understanding. There is nothing like some friendly competition to challenge your students to learn more about coding!
If CodeMonkey isn’t your thing or your kids’ thing, then search for something that is. There is a multitude of choices in the marketplace. I would start with www.code.org and find something that clicks. Then, you must choose a program with or without blocks for 2nd grade and up. This choice depends on the coding abilities of your students. I prefer no blocks, but I am an old-school coder. Your main challenge is to get your students engaged and coding. You must also show the connection of coding to real-world skills and success. After you see success in coding, the next step is coding competitions. These are a little harder to find, but they do exist. Some competitions are free to enter, and some charge a fee. The final step is to start a coding club. You can take the initiative, or you can challenge your coders to take ownership of creating their club. In either case, a coding club will best promote all the gains that learning to code with a group has to offer. Happy coding!
ABOUT THE AUTHOR:
Michelle Ward is a PreK – 8th grade Keyboarding/Computer Apps specials teacher at Lake Road Elementary School in Union City, TN that sneaks in Computer Science at every available opportunity. She is a CodeMonkey Ambassador, a member of CSTA, and an advocate for CS4ALL.