## Developing Algorithmic Thinking by Inventing and Playing Algorithms

__G. Futschek__, J. Moschitz:

"

*Developing Algorithmic Thinking by Inventing and Playing Algorithms*";

Vortrag: Constructionism 2010, Paris; 16.08.2010 - 20.08.2010; in:"

*Constructionist approaches to creative learning, thinking and education*", (2010), ISBN: 978-80-89186-65-5; 10 S.

[ Publication Database ]

### Abstract:

In many cases at school and at universities most of the learners consider the topic of algorithms as hard and not very attractive. Very often the focus of traditional courses is on learning specific

algorithms that are considered as important in education or in practice. Often these algorithms are sequential algorithms. We show in contrast to these courses a way of learning principles and concepts of algorithms that is much easier to comprehend by the learners and makes them more fun. The idea is that we do involve as many students as possible in playing algorithms that are moreover usually proposed by them.

The task of the teacher is to give proper problem statements and to ask proper questions to keep the students thinking to create working algorithms that solve these problems. The teacher also motivates the students to improve their algorithms to find more efficient solutions.

Compared to a theatre play the students have the roles of the actors and the idea deliverers and the teacher has the role of the stage manager.

We give two examples: The first example is the calculation of a maximal value of a set of values, where each student represents a value. Parallel activities may improve the efficiency of the algorithm. Usually the students find good solutions and learn a lot about concepts of sequential and parallel algorithms that are usually learned in advanced algorithm courses.

It is a form of explorative learning, where the students can experience algorithms by playing them and they can determine the progress and invent algorithms that they play.

The second example is named `letĀ“s play robotsĀ“, where students assume the roles of a robot and a navigator. By this way students learn more about basic algorithmic thinking while they are playing algorithms. A model of learning by inventing and playing algorithms is presented that proposes a cycle of 5 processes which the learners may perform for inventing algorithms.

algorithms that are considered as important in education or in practice. Often these algorithms are sequential algorithms. We show in contrast to these courses a way of learning principles and concepts of algorithms that is much easier to comprehend by the learners and makes them more fun. The idea is that we do involve as many students as possible in playing algorithms that are moreover usually proposed by them.

The task of the teacher is to give proper problem statements and to ask proper questions to keep the students thinking to create working algorithms that solve these problems. The teacher also motivates the students to improve their algorithms to find more efficient solutions.

Compared to a theatre play the students have the roles of the actors and the idea deliverers and the teacher has the role of the stage manager.

We give two examples: The first example is the calculation of a maximal value of a set of values, where each student represents a value. Parallel activities may improve the efficiency of the algorithm. Usually the students find good solutions and learn a lot about concepts of sequential and parallel algorithms that are usually learned in advanced algorithm courses.

It is a form of explorative learning, where the students can experience algorithms by playing them and they can determine the progress and invent algorithms that they play.

The second example is named `letĀ“s play robotsĀ“, where students assume the roles of a robot and a navigator. By this way students learn more about basic algorithmic thinking while they are playing algorithms. A model of learning by inventing and playing algorithms is presented that proposes a cycle of 5 processes which the learners may perform for inventing algorithms.