Dec 1, 2017

Code Hopper = Flow Charts + Simon Says + Hopscotch

Also published on 

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.


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.


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.


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.


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.

Sep 6, 2017

#STEM lesson seed: 3D printer + Math = Tangram

I am looking for 3D Printing lesson plans for my 4th graders. I want to go beyond just having them replicate the online models. I just received my 3D printer for the fall school year. I hope that you remember me. You always have fantastic workshops. -- former workshop attendee
Happy new school year! The following is the lesson seed I created for this teacher. It is aligned with her district's requirements for the Minnesota standards. If you can use it with your newly acquired 3D printer, please feel free. If you would like to share with us, we can post so other teachers can use.
prosthetic foot, image by Pongratz Engineering

Tangrams Lesson Seed

Activity Overview
  1. Have students play Tangrams 
  2. Use CAD to model your own Tangram set 
  3. Use 3D printer to create the Tangram pieces 
By completing this activity, students will demonstrate:

Standard Activity Extension
5.3 I can measure angles in geometric figures and in real world objects with a protractor
  • Measure the angles of Tangram shapes to model on paper/cardboard and then in CAD
  • Complete the triangle game: start off with different angles and different leg lengths. Then have students complete the triangle and see what type of angles are made.
  1. Can you ever have two or more acute angles in a triangle? Right angles? Obtuse angles? 
  2. How many different triangles can you make with 3 specific side lengths? 
  3. Use drawing triangles to see how angles “add” together. The 30-60-90 and 45-45-90 triangles together can make angles from 0 to 180 in increments of 15. Obviously, you can do 30, 45, 60, 90 just using the triangles themselves. This shows you how to do 15 and 75 which completes the 0-90 degrees. Then you simply do the same on the other side of 90 for 90-180
(earlier standard: ability to measure with ruler)
  • Measure the lengths to create exact replicas 
  • Learn how to extrude in CAD 
  • Measure the height of the pieces to extrude piece in CAD for 3D printing
  • Scale the pieces (smaller or larger) 
  • Play-Doh Fun Factory extrusion machine might be good demo for kids who don’t know what extrusion is. 
  • Shaped notepad (e.g. circular, elephant, fruit) may be way to show how 3D printing will extrude the shape one layer at a time
5.7 I can identify and apply translations (slides), reflections (flips), or rotations (turns) to figures
  • Use cardboard then CAD to figure out how to arrange pieces tightly together for faster printing
  • How can you arrange everyone’s pieces to get maximum number of pieces per sheet when printing?

By playing Tangrams, students will demonstrate
Standard Activity Extension
5.4 I can compare angles according to size
  • Try / develop different strategies using the angles (adding them together by laying next to each other) to figure out which pieces could be used to crease the shape in the challenge card
5.6 I can find the area of different geometric figures and real-world objects
  • Try the strategy of figuring out where the biggest pieces have to go. Then see how they can be combined with the other pieces to create the shapes in the challenge card
  • Calculate the area of the challenge shape and see that it should always add up to the total area of the pieces if all pieces are used
5.7 I can identify and apply translations (slides), reflections (flips) or rotations (turns) to figures
  • See if transforming the shape through reflections, rotations can help give insight into the pieces that might be used to create parts of the challenge shape
  • Swish game helps students practice this

Levels of Tangrams:

  • See how you can make quadrilaterals from triangles 
    • 5.5 I can find the area of common quadrilaterals (squares and rectangles) 
  • Make your own challenge cards 
    • 5.6 I can find the areas of different geometric figures and real-world objects 
    • 5.7 I can identify and apply translations (slides), reflections (flips), or rotations (turns) to figures 
  • Make your own solution video/instructions (to help others “get it”) 
    • 5.7 I can identify and apply translations (slides), reflections (flips), or rotations (turns) to figures 
  • Make your own Tangram pieces and related challenge cards: can you use non-right triangles or non-square or rectangular pieces? 
    • 5.1 I can identify and describe different types of triangles in various contexts 
    • 5.2 I can draw and describe quadrilaterals in various contexts 
    • 5.3 I can measure angles in geometric figures and in real-world objects with a protractor 
    • 5.4 I can compare angles according to size 
  • Design a case for your pieces and challenge cards