Using MIT Scratch as a Life Lesson
7/5/18 - The penultimate day of Week 2 JLCC BranchOut!
The day began with a procession of mentors giving fist bumps to the students. As the week progressed, I noticed that the students became more and more excited walking into the classroom as they were greeted by familiar faces.
As with all the activities this week, the math warm-up was a step up from the previous day: what is the probability of getting exactly 2 heads if you drop 3 coins? Through this problem, the students were introduced to two possible ways of computing the answer: one way involving listing all possible outcomes and the other involving multiplying probabilities, which is the foundation of highly applicable combinatorics concepts.
The culmination of the week’s activities included teaching Scratch programming to the 4th, 5th, and 6th graders. Patrick first introduced the different modules on the Scratch Create website - including the motion of sprites and event control that would allow for program complexity. Next, we encouraged the students to play games on Scratch, which surprised some of them (aren’t you guys supposed to make us do work?). After they tried a myriad of games, we then informed them that they could create a game exactly like the ones they played. To clear their doubt of being able to do this feat, several of us, including me, showed the students our own Scratch accounts and the games/animations we programmed in 4th and 5th grade.
After hearing this, many of the students were highly enthusiastic about attempting to build their own programs. They were able to begin this step by reading through Scratch introduction cards, which outline the algorithms behind many recognizable games such as Pong but leave the burden of working out the details of the code to the programmer. I was able to witness the students’ innovation by helping them in their quest to solve different problems with their code. One interesting thing I noticed was that the students tended to expect their code to fill in any gaps they missed; for example, a question I got from a frustrated 5th grader, Bryan, was “Why doesn’t this code make the ball go different directions?”. I then proceeded to show him that he only programmed one direction into the code and that he would need to program a random function to “make the ball go in different directions”. Through this, the students were able to learn problem-solving and importantly, how to think details and to be comprehensive in their coding. If they missed a little bit part of a code, perhaps a simple start signal or a control key definition, they were only greeted by frustration and a resolve to “make my program work!” as said by Alan, a 3rd grader, who after briefly banging on his keyboard, proceeded to quietly scroll through his animation's code to see what went wrong.