This is a guest blog by MIT Master Trainer Sarah Blanchette.
Becoming a middle school computer programming teacher has been an enriching and eye-opening experience. The focus of this blog is what works in middle school.
#1: Start simple.
#2: Go slow. Allow time for concepts to sink in before moving on to the next, more complicated level.
#3: Encourage creativity, exploration, and risk-taking.
#4: Don’t spend too much time using one particular curriculum tool.
#5: Include making stuff.
App Inventor is a great tool for learning programming concepts. Students loved testing their apps on our tablets and showing other students what they created. In the beginning (#1), we keep our apps simple. We require certain features in the app and then encourage exploration (#5).
When introducing a new concept, stay with it a while (#2). Think of many ways to utilize the new concept, thereby providing ample time for the concept to sink in. For example, when introducing the concept of variables, provide clear direct instruction on what variables are and how to use them. Give students directions on how to make an app that requires use of a variable (we started with Tally Counter, from Project Lead the Way curriculum). Follow-up with more simple apps that involve variables, encouraging students to be creative. This past week, a student named T.J. came up with the idea of using buttons with images to allow classmates to vote for their favorite NBA player (Westbrook, Curry, James, Durant). He will effortlessly use variables to hold the votes and the concept will sink in because of how strongly he feels about basketball.
We saw much great student engagement when we added “Make Your Own” apps to the assignment list. We raised the stakes by putting together a Project Show Day (their words), when they showed off their apps to other 6th grade students. There was some reluctance to go from apps with detailed directions to Make Your Own; encouraging creativity and risk-taking for each and every app helps build students’ confidence levels.
We learned, after a while, students are ready for change (#4). Even though there were many aspects to App Inventor we had not explored, there was a strong need to “move on.” Even amongst students who eagerly pursued new and creative ways to use App Inventor, the enthusiasm for trying something new was unbridled.
Middle school students love to make things (#5). After learning CS concepts using App Inventor, our kids were ready for and quite loved making Arduino projects. This year we will use Makey Makey as an introductory activity (can turn bananas into arrow keys in conjunction with Scratch game) before moving on to the more complex Arduino projects. Now that App Inventor blocks exist for Lego Mindstorms EV3 robots, we look forward to making apps to control our robots.