Αρχική » creative / systemic thinking

Αρχείο κατηγορίας creative / systemic thinking

Concepts and Practices of Computational Thinking by HELLO RUBY

ruby

Source HelloRuby

Barefoot Why is computational thinking important?

comp thinkers

Computational thinking is the building blocks of our digital world, with the concepts forming the basis of much computer science. Computer scientists are interested in finding the most-efficient ways to solve problems, maximising accuracy and minimising resources (e.g. time / space). They look for solutions which can be applied elsewhere to save resources in the future.

Plenty of other people benefit from computational thinking, and not just when using computers themselves. A team of software engineers creating a new game is not really so different from teachers working together on a school play: in each case, it’s necessary to identify the key steps or rules for getting a complex task done, thereby breaking it down (decomposing it) into smaller, more-manageable parts. It can also be helpful to consider the ways in which previous projects were successfully accomplished.

https://www.barefootcomputing.org/

10 Reasons to Teach Coding – Sylvia Duckworth

10 Reasons to Teach Coding

  1. Coding allows students to create content, not just consume it.
  2. Coding empowers students and give them tools to express themselves in really cool ways.
  3. Coding teaches storytelling with games and animations.
  4. Coding is a place for students to take risks and fail safely.
  5. Coding is inclusive and builds self-confidence
  6. Coding supports many principles of mathematics
  7. Coding teaches problem solving and critical/analytical thinking skills
  8. Coding is a new type of literacy and will be a large part of future jobs.
  9. Coding develops teamwork and collaborative skills
  10. Coding can help humanity

Bonus: Coding gives you superpowers!

BBC Computational thinking in practice

A complex problem is one that, at first glance, we don’t know how to solve easily.

Computational thinking involves taking that complex problem and breaking it down into a series of small, more manageable problems (decomposition). Each of these smaller problems can then be looked at individually, considering how similar problems have been solved previously (pattern recognition) and focusing only on the important details, while ignoring irrelevant information (abstraction). Next, simple steps or rules to solve each of the smaller problems can be designed (algorithms).

Finally, these simple steps or rules are used to program a computer to help solve the complex problem in the best way.

Source BBC

Barefoot creative /systemic thinking

Computational thinking is about looking at a problem in a way in which a computer can help us to solve it. This is a two-step process:

  1. First, we think about the steps needed to solve a problem.
  2. Then, we use our technical skills to get the computer working on the problem.

For a computer animation, for example, you’ll first plan the story and how it will be shot. Then, you’ll use the computer hardware and software to create the animation.

Computational thinking is not thinking about computers or like computers: computers don’t think for themselves – not yet, at least!

01 computational thinking concepts computational thinking algorithm and animation

When creating an animation of a story, you first think about the sequence of events.

https://www.barefootcomputing.org/

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 Creating approach

creating

What is creating?

Creating is about planning and making things. Some endeavours involve various media each providing an outlet for creative expression. Software and digital media allow scope for creativity and, by mastering software tools and digital devices, we develop confidence, competence and independence which we can use playfully, experimentally and purposefully in the expression of our ideas and insights.

Programming is itself a creative process. We have ideas about what we’d like to make or solve, analyse the problem, design, write and debug the requisite code and evaluate what we’ve created.

A still image from an animation of a poem.

An animation of a poem.

Why is creating important?

Computer science isn’t just an academic subject: it’s a practical, applied engineering discipline, creating solutions to real-world problems and providing opportunities across the arts. Since the cracking of wartime codes there’s been an astonishing expansion in the range and complexity of created computer systems: in number-crunching and accounting, telephony, personal computing, human-genome mapping, space shuttles, smart cities, art installations, gaming environments and online spaces. We create programs which solve problems or exploit opportunities. The process of making things is also a powerful means of learning.

A black and white photo of the Colossus code-breaking computer, 1943.

The Colossus code-breaking computer, 1943 (public domain, via Wikimedia Commons).

What does creating look like in the curriculum?

Through the programme of study for computing,  pupils become skilled at designing and creating high-quality products and content using digital technology, including programming. Creative expression turns passive learners into active learners, and projects with a context meaningful and relevant to pupils are likely to be particularly engaging. The children could work with images, animation, games, virtual environments, music … perhaps even 3D printing. Sharing the results with a wider community engenders a rewarding sense of pride which can be particularly motivating. Encourage the children to critique work, always seeking to improve upon it – common practice in software development. Giving time to progress through the stages of a project fully, exploring its planning, implementation, revision and evaluation, provides good experience for this sort of work elsewhere.

Barefoot Tinkering approach

tinkering

What is tinkering?

We often try out something new to discover what it does and how it works: this is tinkering. It’s closely associated with logical reasoning. Pupils build up experiences of cause and effect: “If I move this, then this happens.” It’s a big part of independent learning, without teacher lead. For young children, it’s the vital play-based experimentation phase, full of questions and surprises. Ideas which seem wrong can be tried, just to see what happens.

For older individuals, tinkering is more-purposeful exploration and making, often through trial and improvement. It helps us to see our use of technology as being about developing our own understanding, rather than getting a ‘right’ answer; we may be able to do things in many ways. When using technology which we’ve tinkered with, we’re more likely to be open to novel and innovative solutions.

A photo of a young pupil tinkering with ScratchJr.

A young pupil tinkering with ScratchJr.

Why is tinkering important?

Freedom to explore in a risk-free environment engenders confidence and a have-a-go attitude. Open-ended questions and tasks encourage creativity, diverse ideas, the ability to look at things from many different angles. Computer programmers often first explore new technology to familiarise themselves with how it works and to get ideas about how it might be exploited. Software and hardware change at ever-increasing rates. Both users and creators need to be open to frequent and rapid developments. Being confident at tinkering helps view change as an opportunity rather than a danger, enabling us to keep our skills up to date and to harness new technologies. It also builds perseverance.

What does tinkering look like in the  curriculum?

When introducing any new digital device, programming language or software environment, start by tinkering. For example, if using Scratch for the first time, pupils might play some existing Scratch games and then try some of the features of its programming environment. Challenge the children to try three new things or to make something unexpected happen. Their confidence to tinker will develop through these opportunities to explore technologies. Some children have little home access to digital devices and so might be hesitant at tinkering at school: they may need extra encouragement to learn how to tinker.

BBC Examples of creative problem solving

Thinking computationally

Thinking computationally is not programming. It is not even thinking like a computer, as computers do not, and cannot, think.Simply put, programming tells a computer what to do and how to do it. Computational thinking enables you to work out exactly what to tell the computer to do.For example, if you agree to meet your friends somewhere you have never been before, you would probably plan your route before you step out of your house. You might consider the routes available and which route is ‘best’ – this might be the route that is the shortest, the quickest, or the one which goes past your favourite shop on the way. You’d then follow the step-by-step directions to get there. In this case, the planning part is like computational thinking, and following the directions is like programming.

Being able to turn a complex problem into one we can easily understand is a skill that is extremely useful. In fact, it’s a skill you already have and probably use every day.

For example, it might be that you need to decide what to do with your group of friends. If all of you like different things, you would need to decide:

  • what you could do
  • where you could go
  • who wants to do what
  • what you have previously done that has been a success in the past
  • how much money you have and the cost of any of the options
  • what the weather might be doing
  • how much time you have

From this information, you and your friends could decide more easily where to go and what to do – in order to keep most of your friends happy. You could also use a computer to help you to collect and analyse the data to devise the best solution to the problem, both now and if it arose again in the future, if you wished.

Another example might occur when playing a videogame. Depending on the game, in order to complete a level you would need to know:

  • what items you need to collect, how you can collect them, and how long you have in which to collect them
  • where the exit is and the best route to reach it in the quickest time possible
  • what kinds of enemies there are and their weak points

From these details you can work out a strategy for completing the level in the most efficient way.

If you were to create your own computer game, these are exactly the types of questions you would need to think about and answer before you were able to program your game.

bbc 2 large

Both of the above are examples of where computational thinking has been used to solve a complex problem:

  • each complex problem was broken down into several small decisions and steps (eg where to go, how to complete the level – decomposition)
  • only the relevant details were focused on (eg weather, location of exit – abstraction)
  • knowledge of previous similar problems was used (pattern recognition)
  • to work out a step by step plan of action (algorithms)

Source BBC

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