Skip to main content

Welcome, the Hub connects all projects

Integrating STEM+C

All Topics for this Forum

Topic: "Computational Thinking in Elementary School"

Topic Posts

Topic started by: Katie Rich on 2/11/16

As we work as a field to bring CS to all, one of the core issues we will address is determining how to best address computational thinking in elementary school. What does computational thinking look like for a Kindergartner? For a fifth grader? When should computational thinking involve a computer, and when are unplugged activities more suitable?

This archived topic is open to the public.

restart conversation
This topic has 31 posts, showing: 21-31
Previous 1   2  

CT vs. Memorization vs. Automaticity vs....

posted by: Loretta Heuer on 3/14/2016 11:42 am

Paul's linguistic aspect is so on target, that it's almost amusing. Say it and come up w/the "right" answer of "ayfs".

I liken this to parents proud of their babies counting. But those babies have no idea. They're little parrots.A start. But it doesn't mean those little ones have CT...yet.

As for memorization vs. automaticity vs. "pattern thinking" vs. visual models. So many thoughts.

First, visual "times tables" vs. "times grids". Tables are linear. Grids are 2D. Is there a difference in perception?

I work as a tutor with a really brilliant middle school student. Our focus has always been on Number Theory. She is "nimble" about so many mathematically sophisticated things, but doesn't "remember" some multiplication facts.

Nor does my equally brilliant son: 3 x 17. We do 30 + 21. FAST. THAT is automaticity beyond "the 10 x 10 or 12 x 12 table".

Q: Why extend the "table/grid" to 12 X 12? If you want to extend it, go up to something useful, like 15 x 15.

But there is a lovely pattern on the grid. Look at the going down the first two columns: 1 2, 2 4, 3 6, 4 8.

OH! Wait! 5 10. What can THAT mean? (Maybe 50 + 10 = 60?)

Wait again! 6, 12--> 60 + 12 = 72

As for CT for that infamous 6 x 9 "fact", get with the pattern. And figure out how since 9 is one less than 10 why the pattern works..

And for digit sum, sing a song:

post updated by the author 3/14/2016

Grid Multiplication?

posted by: Lynne Ipina on 3/14/2016 3:36 pm

I wonder what you mean by the number grid: "First, visual 'times tables' vs. 'times grids'. Tables are linear. Grids are 2D. Is there a difference in perception?"

It seems that you mean a larger table, although your enthusiasm suggests it's more. I have seen "grid" refer to
1. Using a grid paper to compute a product with area model ideas
2. Mean the xy-cartesian plane
3. An unfinished or DIY table
4. A table/coordinate plane combo that includes cells for products in 4 quadrants:

more thoughts

posted by: Katie Rich on 3/14/2016 3:01 pm

Hi Paul,
Thanks for the thoughtful comments. I agree with you that laboring over a precise definition, especially an exclusionary one, can be overdone and we ought to be thoughtful about when a strict definition should be used. I think there is a distinction, and a worthwhile one, between having an idea of what something is about and being able to clearly articulate it. The former is something young kids are building all the time for CT, and I think it's ok to point it out to them sometimes. We just need to be careful not to make the claim that everything is CT.

FYI: A Framework for K-12 Computer Science Education

posted by: Todd Johnson on 2/18/2016 10:18 am

As interest and growth in K-12 computer science education spreads, states and school districts are asking a common question: What do students need to know and be able to do in K-12 computer science? CSTA, ACM, and are joining forces with more than 100 advisers within the computing community (higher ed faculty, researchers, and K-12 teachers, many of whom are also serving as writers for the framework), several states and large school districts, technology companies, and other organizations to steer a process to develop conceptual guidelines for states and districts creating a K-12 pathway in computer science.

ISTE/CSTA definition of CT

posted by: Kevin Waterman on 2/22/2016 1:55 pm

ISTE and CSTA produced a flyer in 2011 that attempts to expand a little on a definition for computational thinking. It's available here:

The flyer is broadly aimed at K-12. Our project, which is specifically targeting elementary, just had a discussion about this flyer, and find it to be a pretty good representation (or at least starting point) that clarifies some of the issues we've been having.

That said, we've made a few minor changes to clarify the differences between working with data and representing algorithms and procedures. These changes only affect the second and third bullets of the top part. The entire text, including our updates, is below. (You can see the original ISTE/CSTA document at the link above.)


Computational thinking (CT) is a problem-solving process that includes (but is not limited to) the following characteristics:

  • Formulating problems in a way that enables us to use a computer and other tools to help solve them
  • Logically organizing, analyzing, and representing data
  • Representing processes and procedures through abstractions such as models and simulations
  • Automating solutions through algorithmic thinking (a series of ordered steps)
  • Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources
  • Generalizing and transferring this problem solving process to a wide variety of problems

These skills are supported and enhanced by a number of dispositions or attitudes that are essential dimensions of CT. These dispositions or attitudes include:

  • Confidence in dealing with complexity
  • Persistence in working with difficult problems
  • Tolerance for ambiguity
  • The ability to deal with open ended problems
  • The ability to communicate and work with others to achieve a common goal or solution

post updated by the author 2/22/2016

Clarity suggestion?

posted by: Katie Rich on 2/24/2016 1:43 pm

I like these bullets, but other than the very first one, they don't specify how the characteristics relate to using computers as a tool. It would be clearer and more useful to me if the five additional bullets in the first set were sub-bullets of the first. So, the big characteristic of CT is formulating a problem in a way that a computer can be used to solve it. More specifically, the ways in which a problem needs to be formulated in order to be able to use a computer include: Logically organizing data representing processes, etc.

For me, this organization would clarify the relevance of "Logically organizing, analyzing, and representing data" (for example) to CT, given that as expressed it is a characteristic that applies to mathematical thinking, statistical thinking, scientific thinking, and so on.

This organization also helps me think about a middle ground between activities that are entirely unplugged and programming activities, or activities where students do computational thinking without implementing their solutions. That's helpful to me, too, as I have tended to think rather dichotomous about the two.


ACM Resources for Computational Thinking

posted by: Carol Fletcher on 2/25/2016 10:41 am

CSTA/ACM has a good resource that helps to explain what computational thinking can be with a variety of examples from math, science, ELA, and social studies. 2ed-SP-vF.pdf
I think this could be very useful for a teacher who is trying to explain this to administrators or teachers who aren't familiar with CS.

CT and the design process

posted by: Dianne O'Grady-Cunniff on 3/8/2016 8:53 am

CT( Computational Thinking) is a concept that is taking shape, but I'm curious how you would compare it to a design process., The NGSS engineering design process was reduced to 3 iterative steps:
1. define the problem
2. develop solutions
3. optimize (includes test and refine)
Both computer science and engineering require a heavy emphasis on troubleshooting, persisting, breaking problems down into manageable parts and redesigning. Both consider the question of what is solvable using engineering or computer science.
Does it make sense to teach CT along with a simple design process like this one to connect the thinking process to the solution design process? ngineering%20Design%20in%20NGSS%20-%20FINAL_V2.pdf ceHGWex_c (CT)

CT as a subcomponent?

posted by: Katie Rich on 3/30/2016 10:03 am

Hi Dianne,
My first reaction to this was to think it was a reasonable idea to teach CT processes alongside this NGSS engineering design process. I was talking to a teacher recently about an activity where she likens the process of solving a story problem to the process of designing and running a computer program, and I saw a lot of power there. Why not draw the same parallels to this design process?

But the I re-read some of the discussion on this thread, and wondered if CT is better approached as a subcomponent of this broader design process, rather than parallel to it. Ultimately, we want kids to understand that CT is about designing solutions that a computer can execute, and equally importantly, that not every problem is best solved by computer. So, in step 1 of the design process you outline above, defining a problem would include CT in that one has to decide which parts of the problem can/should be solved computationally. Then, in steps 2 and 3, CT is involved when developing and optimizing solutions to those particular parts of the larger problem.

What do others think?

What is a "step"?

posted by: Paul Goldenberg on 3/31/2016 11:14 am

This is probably what (or close to what) Katie said, but my own ide fixe (less formally, obsessive impulse) is to try to narrow the use of terms to preserve their meaning. In mathematics, "explore a problem" sometimes gets used as a kind of euphemism, a gentling, when no actual exploration is being suggested, and that dilutes the meaning of "explore," something that we really do want.

In the same way, though valuing analogies to CT sometimes as ways of getting a first rough approximation idea, I feel skittish about broadening its use in ways that might dilute the special meaning we'd like it to come to have, especially because it's such a new term in our (broad) education community, and the way we use it now essentially becomes its later definition.

So (obsessive that I am, and I apologize), I hesitate use CT casually for things that are articulated as a set of steps, even in particular order, even if they iterate. "Define the problem" has, as Katie says, sub-parts, some (or all or none) of which may be CT-ish. So, too, with develop and optimize. None (defined at this level) are algorithms. That is, though this is a sensible process to articulate, it doesn't actually specify how any part of it can be executed, even by a person, let alone a computational device.

With glaring inconsistency, I now take the fuzzier stand: Personally, I'm not so wedded to the idea that a piece of thinking is "CT" only if it's framed as having been aimed at a computational device. In defense of that fuzziness, I offer only that what we consider a suitable "step" or even "framing of a problem" for a computational devices changes as these devices become more sophisticated. When I first learned to program, we could use numbers only; then baby steps in assembly language, just as a human mnemonic for those numbers; then steps (like ADD) that actually made sense to people but were still pretty rigid; and now we have Siri and Watson understanding at least some natural language. So, I guess I should be more liberal in accepting the three engineering design process steps as CT. But it still feels to me like too much is "hidden" in each of these -- too much that we still have to figure out on our own -- to get the right idea across.