## What is computational thinking?

Computers can be used to help us solve problems. However, before a problem can be tackled, the problem itself and the ways in which it could be solved need to be understood.

Computational thinking allows us to do this.

Computational thinking allows us to take a complex problem, understand what the problem is and develop possible solutions. We can then present these solutions in a way that a computer, a human, or both, can understand.

## The four cornerstones of computational thinking

There are four key techniques (cornerstones) to computational thinking:

• decomposition – breaking down a complex problem or system into smaller, more manageable parts
• pattern recognition – looking for similarities among and within problems
• abstraction – focusing on the important information only, ignoring irrelevant detail
• algorithms – developing a step-by-step solution to the problem, or the rules to follow to solve the problem

Each cornerstone is as important as the others. They are like legs on a table – if one leg is missing, the table will probably collapse. Correctly applying all four techniques will help when programming a computer.  (More information HERE  )

Barefoot Computing is a great FREE resource , and the resources are mapped to Curriculum for Excellence and the current Experience and Outcomes. The materials provide learning opportunities to support aspects of the broad general education Computing Science curriculum within the Technologies whilst also providing interdisciplinary experiences across the curriculum.

Barefoot add Logic and Evaluation as key concepts, but you will see the Computational Thinking concepts and approaches could be used anywhere in the curriculum.

Registration for Barefoot resources is FREE and you can even book a free CLPL twilight at your school for all the teachers.

Full information is on the site, and I would encourage you to explore and make use of the many ready to use in CfE lesson plans.

# During the event the students would most likely be exploring :

• 2D and 3D models
• Co-ordinates , precise positioning of a sprite on a computer display
• Chance and Uncertainty (randomisation)
• Time: recording and displaying, duration of time (showing how long a player has taken to complete a level for example)
• Measurement , creating graphics to fill specific spaces calculated in pixels, understanding  and demonstrating knowledge of different measurement units
• Angles and Symmetry: On screen sprites may be required to turn specific angles, or grow or shrink, or sprites may be mirrored , horizontally, inclined or vertically.
• Patterns : pattern recognition is a key computational thinking skill to efficiently develop algorithms
• Boolean algebra truth values and its basic operations of  : AND, OR, NOT, and IF statements to control which bits of code to run eg:
if (temperature is greater than 50 degrees)
display ( Phew it is really hot today)

endif

Examples of some relevant numeracy and mathematics from the CfE experiences and outcomes

Having determined which calculations are needed, I can solve problems involving whole numbers using a range of methods, sharing my approaches and solutions with others. MNU 2-03a

Having explored the need for rules for the order of operations in number calculations, I can apply them correctly when solving simple problems. MTH 2-03c

I can use and interpret electronic and paper-based timetables and schedules to plan events and activities, and make time calculations as part of my planning.  MNU 2-10a

I can carry out practical tasks and investigations involving timed events and can explain which unit of time would be most appropriate to use MNU 2-10b

Having explored a range of 3D objects and 2D shapes, I can use mathematical language to describe their properties, and through investigation can discuss where and why particular shapes are used in the environment. MTH 2-16a

Through practical activities, I can show my understanding of the relationship between 3D objects and their nets.  MTH 2-16b

I can draw 2D shapes and make representations of 3D objects using an appropriate range of methods and efficient use of resources.  MTH 2-16c

Click the above graphic to access the document