Computational Thinking

Computational Thinking (CT) is thinking inspired by an understanding of technology, its advantages, limitations, and potential problems. CT encourages us to ask:

  • What if we automate this?
  • How do we automate this?
  • What are the steps a computer needs to make it do what we want it to do?

CT is the particular way of thinking necessary to solve problems with computers. (Wang)

Computational thinking visualized

The particular ways of thinking that involve problem abstraction, data collection and analysis are typical in many science and engineering fields, and are now more than likely to involve computers. The benefits of teaching CS through computational thinking have been shown by a large amount of research, including ours (link to SGD page). We break down learning CS concepts into Computational Thinking Patterns (CTPs) - small chunks of instructions or algorithms that make computers do things that we want them to do. CTPs can then be combined to create programs that do complex things, such as a video game, or a scientific simulation. CTPs are transferable to any programming language.

Computational Thinking Patterns

When we teach computer science and coding, the building blocks of programs are algorithms; lists of instructions. Video games use algorithms that are common to many other types of programming. All of our Game Design curricula help learners master a wide range of Computational Thinking Patterns, such as: movement, transport, etc. Learners progress by building increasingly complex games, mastering these key programming concepts that can be combined to make multi-level, original games or even scientific simulations and visualizations. Some of these concepts include: Absorption, Generation, Collision, Hill Climbing, Cursor Control, Autonomous Movement, Diffusion, Polling, Perceive/Act, and Seeking. As learners progress, they master beginning and then advanced variations of these CTPs and use them in increasingly complex programs.

AgentCubes is a Computational Thinking Tool

Computational Thinking is the ability to problem solve by planning and thinking in 3 steps:

  • Abstraction; what does the computer need to do?
  • Automation; telling the computer what to do, and finally
  • Analysis; is the computer doing the right thing?
3D frogger game with a castle

AgentCubes supports learners in all three stages of the Computational Thinking Process: Abstraction, Automation and Analysis. Our VAT visual programming language was designed to help learners visualize and implement Computational Thinking Patterns. Combined with our Scalable Game Design instruction, learners can program at the speed of thought and become Computational Thinkers.

Use 3D assets (agents) from our library or create originals. Create worlds as complex and layered as you like! Then, program your assets to move and act in your world. Characters can be player-controlled or NPCs (non-player characters). Build multiple worlds with portals to connect them for never-ending games with many levels.

Next, transfer these Computational Thinking Patterns by building elaborate games and then scientific simulations and models. Create an increasingly complex ecosystem model using the same CTPs you used in PacMan. Use our tools for data visualization and export to see what happens in your simulation when you change conditions in the World.

Assisting Teachers to Enable Computational Thinkers

In the past, teaching CS to students was left to CS professionals, who had to understand and know the various programming languages students used in order to evaluate student projects. As it became increasingly important to begin teaching computing literacy in elementary school, it was important to enable non-programming teachers to teach it. That’s what our research has focused on.

A corona simulation in Agentcubes

By using Computational Thinking Patterns, we can assist teachers in the evaluation process, both in a formative and summative way. Our Classroom Management tools organize student projects and can compare a student’s project with a master project. This helps to assess a student’s mastery of the CTPs in a particular assignment. Using this tool as students progress (formatively), teachers can see which students may be falling behind or which areas of instruction may need more support. Once projects are completed, CTP Analysis assists teachers in summative evaluation and grading. Of course, there are many ways to program, so outlying projects will need to be looked at for functionality.

Exceeding the Standards

It was always a priority that we not just be prepared to meet the emerging standards for education, but that we stay ahead of the curve. Our goal is to prepare students for jobs in a world where technology plays a part in an increasing number of fields and tasks.

Our curriculum and tools make sure that students can continue from game design to creating scientific models and simulations. This means meeting and going beyond the standards in these areas:

  • Creativity and Innovation
  • Communication and Collaboration
  • Research and Information Fluency
  • Critical Thinking, Problem Solving, and Decision Making
  • Digital Citizenship
  • Technology Operations and Concepts