This post answers the question :”What are models in computational thinking?”. Modelling in computational thinking is a very fundamental term. Models goes close with the term of abstraction.

In our case abstraction is the term related to simplification. As the simplest as can be, abstraction can mean renaming things.

Models can express different entities (main concepts) and relationships between them. Same entities can be modelled in different ways. Relationships between these entities can be different. For example object oriented programming is characterised by 4 types of relationships: inheritance, association, composition and aggregation.

Entities and relationships can, if necessary, be labelled with the following characteristics:

  • properties;
  • types;
  • rules;
  • behaviours.

Models can be static and dynamic. Dynamic models explain change of model state within time. Static – show the model state at certain moment of time.  Dynamic models usually involve states and transitions, as well as events and actions.

Approach of model-based computational thinking is described by Palle Nowack and Michael E. Caspersen in their work “Model-based thinking and practice”, Aarhus University, Denmark. It is based on the relationship between referent system and model system. The referent system represents a part of real world, model system represents modelling phenomena. In case of object oriented programming model system consist of classes and objects, the referent system is called a domain model. Model-based thinking approach allows to identify phenomena and concept, relate them with  the processes like exemplification, classification, aggregation, decomposition, generalisation and specialisation, finding proper representations and others.

Models in computational thinking are used to analyse and understand phenomena and construct artifact. Using models we are abstracting away from unimportant details and experimenting with multiple conceptualisations of the phenomena.

Nowadays computerised models are widely in use, that helps to make models:

  • visual and interactive;
  • dynamic;
  • distributable;
  • persistent;
  • scalable;
  • rule-based.

More educational content can be found at our Reddit community r/ElectronicsEasy.