Αρχική » Άρθρα με ετικέτα '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

  1. creative problem solving
  2. algorithmic approach to problem-solving
  3. problem solution transfer
  4. logical reasoning
  5. abstraction
  6. generalization
  7. representation and organization of data
  8. systemic thinking
  9. evaluation
  10. 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

  1. algorithms
  2. pattern
  3. logical reasoning
  4. abstraction
  5. decomposition
  6. evaluation

The categorization follows Barefoot Computing at school 

Barefoot Algorithms

 concept approach placeholder icon

What are algorithms?

An algorithm is a sequence of instructions or a set of rules to get something done.

You’ll favour a particular route home from school – you can think of it as an algorithm. There are plenty of alternative routes home, and there’ll be an algorithm to describe each one of those too. There are even algorithms for deciding the shortest or fastest route, such as form the basis of satnav systems.

Algorithms are written for a human, rather than for a computer to understand. In this way, algorithms differ from programs.

07 computational thinking concepts algorithms algorithm pic make toasteb2efcdbdcfc6c779083ff0100ba3f46

08 computational thinking concepts algorithms algorithm pic multiply

A set of rules – an algorithm – for multiplying a number by ten.

Why are algorithms important?

Computer scientists strive for algorithms which solve problems in the most-effective and efficient ways – getting the most-accurate results, in the quickest time, with the fewest resources (memory or time).

Search engines such as Bing or Google use algorithms to order a list of search results so that, more often than not, the result we want is at the top of the front page of results. Your Facebook newsfeed is derived from your friends’ status updates and other activity, but it only shows that activity which the EdgeRank algorithm assesses to be of most interest to you. Your recommendations from Amazon, Netflix and eBay are algorithmically generated, based in part on what other people are interested in.

What do algorithms look like in the curriculum?

Helping pupils get an idea of what an algorithm is needn’t be confined to computing lessons. A recipe in cookery, instructional writing in English, the method for a science experiment: each can be considered an algorithm.

For various activities, pupils will already follow a sequence of steps – e.g. getting ready for lunch or going to PE. In maths, one’s approach to mental arithmetic might be an implementation of a simple algorithm.

A drawing of some flowers with four steps to planting a seed.

A sequence of instructions – an algorithm – for how to plant a seed.

A chart showing the different spellings of the "or" phoneme, and where they are used.

Spelling rules for the “or” phoneme.

More resources on algorithms by BBC

BBC Algorithms test

Visit BBc site to take the  Algorithms test

More tests on Computational Thinking by BBC 

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!'

In programming, > means ‘greater than’, < means ‘less than’, ≥ means ‘greater than or equal to’ and ≤ means ‘less than or equal to’.

Representing an algorithm: Flowcharts

A flowchart is a diagram that represents a set of instructions. Flowcharts normally use standard symbols to represent the different instructions. There are few real rules about the level of detail needed in a flowchart. Sometimes flowcharts are broken down into many steps to provide a lot of detail about exactly what is happening. Sometimes they are simplified so that a number of steps occur in just one step.

Flowchart symbols

bbc flowchart

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 algo 2

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?

Algorithms are one of the four cornerstones of Computer Science. An algorithm is a plan, a set of step-by-step instructions to solve a problem. If you can tie shoelaces, make a cup of tea, get dressed or prepare a meal then you already know how to follow an algorithm.

In an algorithm, each instruction is identified and the order in which they should be carried out is planned. Algorithms are often used as a starting point for creating a computer program, and they are sometimes written as a flowchart or in pseudocode.
If we want to tell a computer to do something, we have to write a computer program that will tell the computer, step-by-step, exactly what we want it to do and how we want it to do it. This step-by-step program will need planning, and to do this we use an algorithm.
Computers are only as good as the algorithms they are given. If you give a computer a poor algorithm, you will get a poor result – hence the phrase: ‘Garbage in, garbage out.’Algorithms are used for many different things including calculations, data processing and automation.

bbc algo

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.

More resources on algorithms by Barefoot 

Αλλαγή μεγέθους γραμματοσειράς
Αντίθεση