Dec 1, 2017

Code Hopper = Flow Charts + Simon Says + Hopscotch

Also published on Mindware.blog 

It was a rainy day. The 4yr old and I were cleaning up. While sorting the stuff around the house into some semblance of order, I mused silently about an article I had just read. It said that computer science standards were staged for adoption by states.


I was concerned that the attempt to create equal access actually would feed and possibly widen the computer gap. Every time I see standards put into place, there is an inevitable group who hadn’t been exposed previously and who don’t “get” the way it is taught in school. They then self-categorized themselves as “not that kind of person.” I saw that in math when I was a kid. I started seeing it in engineering when it hit standards in states, and I feared it would happen again with computer science.
 

COMPUTERS ARE STUPID 

The engineer in me mused the problem: When I taught novice programmers in the 2000’s--by novice, I mean those who never programmed before taking my course--my best success was when students realized that the computer wasn’t a genius machine capable complex calculations. Instead, students needed to realize it was more like a child. The computer would do exactly what you told it, not what you meant. I used Calvin and Hobbes cartoons a lot to help them get into the right frame of mind. It was a revelation to them because they realized they were the ones that were super smart, not the computer. So they had to figure out how to break the ideas into simple instructions.

Plop, plop, plop. The 4yr old brought me back to our cleaning task. He forgot we were picking up and was throwing the foam tiles we had piled up around the floor. Then he leaped from one to another, declaring to me with a smile, “I’m going to jump on the red, the the green, then the blue.” Later he said, “Think I can jump on only the purple ones?”

Eureka! I realized in a flash of insight: He was actually thinking like a programmer: he sequenced his actions. He determined which squares were purple and jumped on them, and he continued to jump until he had reached all of them. I now knew what we could do with pre-schoolers.

FLOWCHARTS ARE A STARTING POINT 

In the 80’s there was an attitude that anyone could program. Flowcharts were the first thing we ever learned because it illustrated how the basic constructs of sequencing, conditionals, and loops were a way to break down actions for computers. Flowcharts are like maps. You can actually trace your finger and follow the logic. If computer thinking was going to be in the standards, the best way to avoid the standards fallout was to try to expose more kids to basic “computer thinking” before coming to school.

Getting kids exposed early to some concrete concepts birthed Start Up Circuits, and with the help of the folks at Mindware, we created a toy that helped toddlers clock in the time to develop the insight that a circle makes a circuit, the foundation of electrical devices. Maybe we could do the same for preschoolers and computers.

It seems silly, but when I googled “flowcharts in preschool,” articles about using them for behavior management or problem solving are mentioned, but none about teaching computing, not even when I tried “flowcharts in preschool computer programming”. I wasn’t surprised. Somehow, in the 2000s, flowcharts had disappeared from the college level computing books, even those claiming to be introductions for novices. I searched far and wide for an introductory Java computer science book with flowchart. All but one started off with pseudocode. Well, that was just pretty much coding, so you basically encourage people who already thought linearly about logic.

I already knew that we had to hit the kids early, preferably before school, to get them thinking like a programmer. They needed to see it as a natural “next step” from current preschool lessons. We could have them understand the basic logic and execution structures so they would feel natural when they used it with computer programming languages like Scratch or LEGO™ Mindstorms.

NATURAL EXTENSION OF PRESCHOOL LESSONS 

Hot on the heels of Start Up Circuits’ launch, I walked back into Mindware with foam squares taped with pictures. I explained how the 4yr old and I used them in a flowchart activity. Think: Flowcharts (algorithmic thinking/thinking like a programmer) + hopscotch (moving on the squares) + Simon Says (physical activity).

I pointed out that the great computer games and toys for preschoolers out there required some adult intervention or required a level of abstract reasoning to “design” a solution that may be more appropriate for the elementary student brain development. Some also increased kids’ screen time which can adversely affect eye development. If your kid got hooked, more practice may also lead them to myopia.

This flowchart activity, I explained, started with things he already knew: action words (“jump, kick, clap”), simple yes/no questions (“do you see a cirlce?”), and numbers (which he was just learning to recognize). Code Hopper--as Mindware dubbed it--was a natural extension of preschool lessons. Moreover the concepts were a part of the preschool “behavior modification” curriculum, as my husband dubbed it:
  • Sequencing instructions: “Brush your teeth, then get dressed, then put your shoes on”
  • Conditionals: “Who wants to go for a walk? Raise your hand”
  • Repetition: “Eat 5 more carrots” or “Keep picking up until all the block are put away”
Having him physically move on the squares transitioned his preschooler’s natural concrete understanding of the world to the more abstract since it helped him see the logic as he “moved through” the flowchart.

FIRST FIELD TEST SUCCESSFUL 

Last week we opened up the box and pulled out the tiles.He couldn’t wait to follow the instructions and changed the sequence and actions over the next few days so he could do all the actions. When the weekend came, he was instructing his father on how to move through the flowchart (“Now kick 5 times, Daddy. Count…1...2...”).

Hopefully teachers and parents won’t feel they need to be programmers. In fact, they may realize they already do think like a programmer--that was the 80’s attitude: Everyone can program. And that might not be so bad to embrace again.