Αρχική » 1. algorithms
Αρχείο κατηγορίας 1. algorithms
Dimensions of Computational Thinking in COMPUT project
When we started working on the project Computational Thinking at School, our plan was to study the following dimensions of Computational Thinking
- creative problem solving
- algorithmic approach to problem-solving
- problem solution transfer
- logical reasoning
- abstraction
- generalization
- representation and organization of data
- systemic thinking
- evaluation
- social impact of computation
While working on the dimensions, it proved that we had to follow a different categorization. The dimensions 1. creative problem solving, 8. systemic thinking and 10. social impact of computation are studied together with Computational Thinking and approaches to Computational Thinking. The dimensions 3. problem solution transfer and 6. Generalization were included in the new dimension pattern. A new dimension, decomposition was added.
The dimensions of Computational Thinking that will be studied are the following
- algorithms
- pattern
- logical reasoning
- abstraction
- decomposition
- evaluation
The categorization follows Barefoot Computing at school
BBC Representing an algorithm: Pseudocode and flowcharts
There are two main ways that algorithms can be represented – pseudocode and flowcharts.
Representing an algorithm: Pseudocode
Most programs are developed using programming languages. These languages have specific syntax that must be used so that the program will run properly. Pseudocode is not a programming language, it is a simple way of describing a set of instructions that does not have to use specific syntax.
Writing in pseudocode is similar to writing in a programming language. Each step of the algorithm is written on a line of its own in sequence. Usually, instructions are written in uppercase, variables in lowercase and messages in sentence case.
In pseudocode, INPUT asks a question. OUTPUT prints a message on screen.
A simple program could be created to ask someone their name and age, and to make a comment based on these. This program represented in pseudocode would look like this:
OUTPUT 'What is your name?'
INPUT user inputs their name
STORE the user's input in the name variable
OUTPUT 'Hello' + name
OUTPUT 'How old are you?'
INPUT user inputs their age
STORE the user's input in the age variable
IF age >= 70 THEN
OUTPUT 'You are aged to perfection!'
ELSE
OUTPUT 'You are a spring chicken!'
Representing an algorithm: Flowcharts
Flowchart symbols
A simple program could be created to ask someone their name and age, and to make a comment based on these. This program represented as a flowchart would look like this:
BBC Algorithms
An algorithm is a plan, a set of step-by-step instructions to resolve a problem. In an algorithm, each instruction is identified and the order in which they should be carried out is planned.
What is an algorithm?
Making a plan
It is important to plan out the solution to a problem to make sure that it will be correct. Using computational thinking and decomposition we can break down the problem into smaller parts and then we can plan out how they fit back together in a suitable order to solve the problem.
This order can be represented as an algorithm. An algorithm must be clear. It must have a starting point, a finishing point and a set of clear instructions in between.