Computational Thinking in the Middle School Science Classroom

Evidence abounds that computational thinking (CT) is gaining ever more visibility, relevance and utility in education and our everyday lives: CT’s integration into Next Generation Science Standards (NGSS), the International Society for Technology in Education (ISTE) standards for students, the Hour of Code, a global computer science initiative, best-selling books like “Algorithms to Live By” to science fiction movies like “Ready Player One,” plus an increasing demand for software engineers in the U.S. job market. So, how should middle school science classrooms integrate CT? One promising option, Computational Thinking in Simulation and Modeling (CTSiM), allows students to investigate science phenomena through visual, agent-based, computational modeling – a simplified and contextualized form of computer programming or coding.

Visual programming (using nested blocks), left, determines behavior of the animated “Enactment World,” right, from Basu, Dickes, Kinnebrew, Sengupta, & Biswas (2013) 3.2 The Enactment World.

Weintrop et al. (2015) argue that there is a strong reciprocal relationship between the learning and teaching of computational tools and science content. “The thoughtful use of computational tools and skillsets can deepen learning of mathematics and science content. The reverse is also true – namely that science and mathematics provide a meaningful context (and set of problems) with which computational thinking can be applied” (p. 128). Many schools are pressed for educational minutes and would not be able to add a separate computer science course, but may consider integrating computational thinking and basic coding into core science classes.

Weintrop et al. (2015) also lay out an initial set of 10 computational thinking skills students should master (p. 133, Table 1):

  1. Ability to deal with open-ended problems
  2. Persistence in working through challenging problems
  3. Confidence in dealing with complexity
  4. Representing ideas in computationally meaningful waysTBreaking down large problems into smaller problems
  5. Creating abstractions for aspects of problem at hand
  6. Reframing problem into a recognizable problem
  7. Assessing strengths/weaknesses of a representation of data/representational system
  8. Generating algorithmic solutions
  9. Recognizing and addressing ambiguity in algorithms

Sengupta, Kinnebrew, Biswas and Clark (2013) align their own set of computational thinking skills with science, technology, engineering and math (STEM) areas of expertise:

Sengupta et al. (2013) Review of Literature on Educational Computing, Table 1

So far in my experience as a middle school science teacher, I have used strategies that help students build many of the above computational thinking skills, without doing any actual computer programming, such as open-ended engineering challenges, manipulating and evaluating data from complex online simulations, growth mindset development, criteria-based evidence evaluation and board game design.

Challenging students to create their own board game as a representation or simulation of a science concept allows them to create their own environments complete with their own rules, which grants them more freedom than a prefabricated environment and allows them to practice algorithmic thinking (e.g., within gameplay, students can set up consequences for actions with rules, a card set, or rules on a particular space on the board). Three main computational thinking skills that board game design does not address are 1.) representing ideas in computationally meaningful ways 2.) persistence through iteration  and 3.) assessing strengths and weaknesses of their representational system. Later in this post, I will address how a tool like CTSiM may provide practice for these three skills.

Online simulations offer environments of varying complexity for students to manipulate. Students can then run tests and analyze results. While this type of modeling is useful for students to understand phenomena that are too big, too small (or otherwise invisible) in the classroom, they set students up to follow rules rather than make rules. Similarly, in online engineering environments, students often feel constrained by a limited set of modifiable variables within a prefabricated engineering environment.

In fact, I have found that simple, “hands-on” materials can be more engaging for students as engineering challenges. In part, due to what simple materials like construction paper, aluminum foil, scissors and tape provide for students – a low threshold and a high ceiling. It is easy for students to start building and modeling with tools and materials that are easy to use (low threshold), and construction paper and aluminum foil can be cut, folded, shaped and taped in limitless ways (high ceiling), so students don’t feel inhibited or constrained.

The low threshold and high ceiling are two design principles of CTSiM, a visual-programming and agent-based learning environment (much like Scratch and other simplified coding environments used by Hour of Code) for middle school science. The visual programming interface allows students to code without having to learn the syntax and semantics of programming language (low threshold) while allowing them to create their own rules for their computational model (high ceiling). Coincidentally, this pair of concepts is also greatly responsible for the success of what many are calling the best-designed video game ever, The Legend of Zelda: Breath of the Wild, “an evocative and exhilarating open-world adventure game” (Otero, 2017).

Basu et al. (2013) explain the rest of CTSiM’s design principles and implementation decisions in the table below. Their principles would serve useful for further development of CTSiM and also for future learning environments with similar goals.

Basu et al. (2013) Implementing Design Principles: The CTSiM Architecture, Table 1

With its nine design principles, CTSiM offers students a chance to develop all three of the skills that designing a board game would not:

  1. Representing ideas in computationally meaningful ways: While creating a board game challenges students to think algorithmically, it does not give them the chance to practice computer programming.CTSiM’s visual programming interface allows students to create simulations through coding.
    Example of the CTSiM’s visual programming interface from Basu et al. (2013) 3.1 The Construction or C-World.
  2. Persistence through iteration: CTSiM’s student workflow allows students to revise iterations of their models. In the development of a board game, drafts may be submitted to the teacher for review, but the process is automated in CTSiM.
    Sequence of activities performed by a student in the CTSiM learning environment from Basu et al. (2013) 2.2 Implementing Design Principles: The CTSiM architecture.
  3. Assessing strengths and weaknesses of their representational system: Students using CTSiM can compare their own models to “expert” model behavior. If students create a board game, it is difficult for students (and teachers) to assess how well the game represents a natural system or phenomenon. In CTSiM, students can run their own model behavior side-by-side with expert model behavior, but the expert code, or computational model, remains hidden from the student.
    Model behavior of student and “expert” side-by-side from Basu et al. (2013) 3.3 The Envisionment or V-World.

CTSiM shows a lot of potential as a framework for what a computational thinking and science learning environment may do and look like. Along with everything that it allows students to do, two main questions remain about its limitations, or what it prevents students from doing:

  1. First, I would ask questions related to how students using CTSiM are learning from each other and being connected to their communities. Is there is a way for students to interact with each other during the design process? What relevance will the model they build hold for them in their community? Will students be invested in the task?
  2. Second, I would ask, how can models created in CTSiM be paired with “real life” modeling and testing? Is there a way for students to take what they’ve learned in the CTSiM and apply it to a science experiment or engineering challenge in real life (IRL)?


Basu, S., Dickes, A., Kinnebrew, J. S., Sengupta, P., Biswas, G. (2013). CTSiM: A Computational Thinking Environment for Learning Science through Simulation and Modeling. In Proceedings of the 5th International Conference on Computer Supported Education (pp. 369-378). Aachen.

Sengupta, P. p., Kinnebrew, J. j., Basu, S. s., Biswas, G. g., & Clark, D. d. (2013). Integrating computational thinking with K-12 science education using agent-based computation: A theoretical framework. Education & Information Technologies, 18(2), 351-380. doi:10.1007/s10639-012-9240-x

Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., & Wilensky, U., (2015). Defining computational thinking for mathematics and science classrooms. Springer Science+Business Media. New York, NY.