We hosted 72 Everett and Medford middle school students for our 2015 CS Pathways summer camps!
The camps were held July 6 through 10, at Medford High School and Everett High School.
At Medford, project teacher Mike Scarola was joined by PhD candidate Mark Sherman, along with Jessica Hamerly (Medford Public Schools) and Damian DeMarco (Revere Public Schools) in leading the session. UMass Lowell undergraduate Katherine Brunelle assisted.
At Everett, project teachers Denise Salemi and Dawn Munro were joined by Prof. Fred Martin in leading the session. UMass Lowell undergraduate Qiana Curcuru assisted.
Akira Kamiya, the project’s Teacher Learning Center Director, made sure all of our technology worked as smoothly as possible.
The Everett Independent published a lovely article about the kids’ work.
Edwin Aguirre, our science and engineering writer at UMass Lowell, published a news article about the Pathways in Computer Science project. He talked to Debbie Corlato about her planned work have her kids create apps that address the problem of bullying.
The MIT MoleMash tutorial for App Inventor introduces several best practices.
But sometimes “best practices” distract novices from what they really need to understand.
MoleMash means to introduce these particular big ideas:
sprites—which can move around and react to being “touched”
the random function, and using it to move a sprite by setting its X and Y coordinates
keeping a score variable, and incrementing it.
But the tutorial obscures these ideas by forcing you to learn other stuff:
Subprocedures. The code to move the mole around is put into a subprocedure.
But it’s only two lines long. We don’t need a subprocedure for this.
Positioning the mole by querying the canvas for its dimensions, constructing them as a ratio, and scaling it to the full canvas size by multiplying by the “random fraction” primitive. Seriously? I can barely understand this.
Let’s just hard-code some X and Y limits. It’s easier to explain to kids this way.
Concatenating label text with a numerical value. The approach for keeping score uses both a label to hold the word “Score” and a global for keeping track of the score number. Then, to update the score, the label “Score” plus the number value are concatenated.
Let’s just put a number only in the text label. Then we don’t need a separate global, and we can increment the label’s text directly.
Also there’s no need for an UpdateScore procedure.
With this simplified MoleMash, the entire code is this:
Azita is a technology teacher at the Andrews Middle School in Medford. This is her computer classroom:
Kim, Akira and I visited with her today as she was introducing the MIT MoleMash tutorial to her students. They had previously worked on the MIT Paintpot tutorial.
Most of her students already had PaintPot working. Azita encouraged them to move on to MoleMash—if they needed to go back to PaintPot later, they could do that.
As with all of the other project classrooms, students were working in pairs.
The students had already been introduced to the Canvas in PaintPot. MoleMash introduced several new concepts—a sprite component inside the canvas, a clock component (which triggers the mole’s movements), and random numbers.
All four of us went around and worked with the students in small groups. Most of them were able to construct the interface elements for MoleMash. When I had the opportunity, I described the clock and random movement code to students directly, rather than having them copy it out of the tutorial.
I worked with two students in particular, Jamal and Raul, who were delighted when they got the mole jumping around! Then I encouraged them to explain their code to other students.
Mike is an engineering teacher, so his kids work in a spacious lab with lots of work areas, not just computers:
This was Mike’s 7th day into the Pathways in CS curriculum. Some of his students continued work on their versions of the MIT TalkToMe demonstration text-to-speech app, while others began the MIT Digital Doodle app. Like the other project classrooms, students were working in pairs, and midway through the class period, Mike asked them to “switch drivers” so that all students had mouse/keyboard time.
Some of his students were taking TalkToMe in fun directions. One pair of girls was working on “virtual boyfriend” app. When you pressed the button on the screen, the app would tell you a story in a deep British accent.
Another group was working on a Fortune Teller. Using App Inventor’s random number generator, the app would answer “Yes” or “No” to the question you typed in. Their code looked like this:
The kid named Simon had keyed in the question—“Simon is awesome.” At first, their number range was from 1 to 50, so the app was mostly saying “No.” I encouraged them to think about how likely it was to say yes or no. At first they thought it was just random—or equally likely—but then the realized they were getting lots more No’s then Yes’s, and changed the range from 1 to 25. (The threshold between No and Yes is the length of the question-string. I had previously helped them with the length block.)
After class, Mike showed me his 15-session lesson plan for the project. He is taking notes after each session as to what’s actually been accomplished each day. Here’s the plan:
In the next class, he’ll be helping student learn about audio files, and getting them thinking about their final apps.
In Dawn’s classroom today, students were working on pairs on Macs. Here’s a photo of her lab (the kids had already left when I took the photo):
She was leading a lesson that was projected at the front of the room, so all of the kids could see what she was doing. (She was standing off to the right side of the room, working on her own Mac.)
Dawn had the kids learn how to do safe searches by including the phrase “Creative Commons” in your search. She told them this will provide images that they’re allowed to use in their apps—even if they want to sell them in the Google Play store! She gave them an example of “creative commons pizza,” which produces results like this:
Yum—when is lunch time!
Then she showed them how to right-click on an image and save it to the students’ project folders. This was trickier than it sounds, because most of the computers had that Apple mouse with the scrolly-wheel and no obvious right button! So students had to Control-click to get the pop-up menu with the “Save Image As…” dialog!
Dawn made a worksheet for kids to follow. It looked like this:
Previously, Dawn had done a session with students where they brainstormed about what makes a good partner. Here’s what the class produced:
Overall, today’s lesson was skill-building for when kids move on to making their own apps.
I visited the schools for the first time since the project has been running!
Which reminds me of one other part of the tablet story—rugged cases and the cart.
You definitely need drop-proof cases for the hardware—or at least, highly drop-resistant ones. We got these from Bobj:
Here’s a link to them on Amazon. They cost about $22 ea. Definitely worth the money to protect a $150 tablet.
The other part of the story is the tablet cart. It organizes all 20 of the classroom tablets. We numbered each tablet and each slot, so kids know where to put their tablets back. When Debbie’s class was over, she called them up by groups—1 through 5, 6 through 10, etc. so kids wouldn’t get too much in each others’ way putting the tablets back.
The cart cost about $1000. It has all the chargers installed with individual USB cables tied in place for each slot. It’s on wheels, it’s solid, and it locks. Totally necessary.