developing computational thinking & computational doing...

39
Developing Computational Thinking & Computational Doing with 5-11 year olds By Phil Bagge Teacher Ringwood Junior School 7-11 Otterbourne Primary School 5-11 Calmore Junior School 7-11 Hampshire Computing Inspector/Advisor CAS South Coordinator/Advisor CAS Master Teacher Author of code-it.co.uk online resources Author “How to teach primary programming using Scratch”

Upload: others

Post on 13-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Developing Computational Thinking & Computational Doing

with 5-11 year oldsBy

Phil BaggeTeacher Ringwood Junior School 7-11

Otterbourne Primary School 5-11

Calmore Junior School 7-11

Hampshire Computing Inspector/Advisor

CAS South Coordinator/Advisor

CAS Master Teacher

Author of code-it.co.uk online resources

Author “How to teach primary programming using Scratch”

Page 2: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Defining Computational Thinking

Page 3: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Computational Thinking

Computational

Thinking

Analytical

thinking

Power of

computing

A high-quality computing education equips

pupils to use computational thinking and

creativity to understand and change the

world. English Computing National Curriculum 2014

http://community.computingatschool.org.uk/resources/2324

Page 4: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Defining Computational Thinking for 5-11 year olds

Page 5: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

AlgorithmA precise step by step guide to

achieving a specific outcome

Maths Quiz1. Think of a question2. Think of the answer3. Ask the question4. Collect users answer5. Compare users answer with your answer6. If users answer and your answer are the same

award a point7. If users answer and your answer are different no

points8. Repeat 1-7 ten times

http://code-it.co.uk/scratch/scratchplan

Page 6: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Recipes, Rules, Notes & Formula

Ingredients

225g/8oz self raising flour

pinch of salt

55g/2oz butter

25g/1oz mature cheddar cheese, grated

150ml/5fl oz milk

Preparation method

Heat the oven to 220C/425F/Gas 7. Lightly grease a

baking sheet.

Mix together the flour and salt and rub in the butter.

Stir in the cheese and then the milk to get a soft

dough.

If you reach a three way

junction always turn right

If you reach a four way

junction go straight ahead

Start Exit

number total*2 =

Page 7: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm

All programming is algorithms turned into

code. This could be as simple as a thought

I wonder if I could add 100 to the

number someone types in?

Page 8: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm Evaluation

Evaluation is how we look at algorithms and

determine how useful they are, how adaptable,

how efficient, how correct. There may be many

algorithmic solutions to a problem, evaluation asks

which one was best and why? Evaluation is also

concerned with the people who use an algorithm.

Did it solve their problem? Was it better on paper

than in practice?

Page 9: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Generalisation

Adapting a solution that solved one problem

to solve another.

?

Page 10: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

DecomposingBreaking up a complex problem into smaller chunks and solving them separately

Page 11: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Abstraction

Skill of reducing complexity by hiding irrelevant

detail and focussing on the most important

element.

Page 12: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Defining Computational Doing for 5-11 year olds

Page 13: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Converting Algorithm into Code

http://code-it.co.uk/ks1/turtle/ks1turtle

Page 14: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Debugging

• Every programmer makes mistakes

• Mistakes and debugging is a normal

part of programming cycle

• Not teachers job to debug pupil

code

• Encourages independence

• Need to liberate pupils into messy

problem solving

Finding errors in code and fixing them

Page 15: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm Progression

Page 16: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Symbol Algorithms

Bee-Bot cardsHuman Crane

http://code-it.co.uk/ks1/robots/robotcards.pdf

http://code-it.co.uk/ks1/turtle/ks1turtle.html

http://code-it.co.uk/ks1/crane/humancrane.html

Page 17: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm Evaluation

School

Home

http://code-it.co.uk/ks1/turtle/ks1turtle.html

Page 18: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Scratch Junior

http://www.scratchjr.org/pdfs/blocks.pdf

http://www.scratchjr.org/teach.html

Page 19: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm as an Idea

Page 20: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm to Scratch Code

Maths Quiz1. Think of a question2. Think of the answer3. Ask the question4. Collect users answer5. Compare users answer with your answer6. If users answer and your answer are the same

award a point7. If users answer and your answer are different no

points8. Repeat 1-7 ten times

http://code-it.co.uk/scratch/scratchplan

Page 21: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm to Scratch Code

Page 22: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm to Scratch Code

Page 23: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm to Scratch Code

From A + B =C

Area Multi stage problemshttp://code-it.co.uk/scratch/train_computer_do_maths/traincomputermathsoverview

Page 24: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Algorithm to Scratch Code

Page 25: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Decomposition Progression

Page 26: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Stages of Decomposition

Decompose as a class before teacher led programming project

What objects do we need to make?

• Slug

• Track

What do we need it do?

• Move

• Steer

http://code-it.co.uk/scratch/smoking_car/scratch_smoking_car_game.pdfhttp://code-it.co.uk/scratch/slugtrail/slugtrailplanning.pdf

Page 27: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Stages of Decomposition

Pupils decompose teacher chosen project

as individuals before pupil led teacher

supported attempt to rebuild/adapt the

project

http://code-it.co.uk/scratch/tablesgame/tablesgameoverview.html

Page 28: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Examples of programming decomposition

Page 29: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Stages of Decomposition

Decompose pupil negotiated project before

pupil led teacher supported creation

http://code-it.co.uk/scratch/primarygamesmaker/primarygamesmakeroverview.html

Page 30: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Examples of programming decomposition

Page 31: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Examples of programming decomposition

Page 32: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Abstraction

Skill of reducing complexity by hiding irrelevant

detail and focussing on the most important

element.

http://code-it.co.uk/scratch/musicscore/musicscoreoverview.html

You Tube Video

Scratch Code

Page 33: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Computational Doing

Page 34: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Debug

• Every programmer makes mistakes

• Mistakes and debugging is a normal

part of programming cycle

• Not teachers job to debug pupil

code

• Encourages independence

• Need to liberate pupils into messy

problem solving

Finding errors in code and fixing them

Page 35: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Opposite to a lot of ICT practice

Every programmer makes mistakes

Mistakes and debugging are a normal part of the

programming cycle

Not teachers job to debug pupil code

Need to encourage independence

Need to liberate pupils into messy problem solving

Few pupils made mistakes

Mistakes were not normal

As focus was on other areas on the curriculum teachers

felt duty to step in

making sure learning

could continue

Not all

Page 36: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Helpless Pupils

• Define Helpless

–Helpless ≠ stuck

–Helpless = stuck + no attempt to find solution

• Two types

–Sweet helpless

–Aggressive helpless

For ExampleWhat aspect are you stuck on?

Everything

Can you describe the problem?

No answer

Which parts do work?

No answer

Page 37: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Combat Learnt Helplessness• What is learnt helplessness?

• How does it manifest in computing?

• How do we tackle it with pupils?– Process is more important than outcome

– Establish a positive attitude towards problem solving• Use bug and debugging language

• Ok to make bugs

• Everyone who programs makes bugs

– Challenge attitude “Are you trying to get me to do your work?”

– Move away from language that personifies digital machines

– Don’t neglect support staff

– Children do what we do not what we say

http://philbagge.blogspot.co.uk/2015/02/eight-steps-to-promote-problem-solving.html

Page 38: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Useful Primary Debugging

strategies

• Strategy Snap Walk away

• Stickers

– Identifying debugging techniques

• Compare code

• Read code aloud

• Explain to a partner

• Divide and conquer

• Rubber Duck

• Primary Debugging Strategies

http://code-it.co.uk/assessment/debugging.pdf

Page 39: Developing Computational Thinking & Computational Doing ...code-it.co.uk/wp-content/uploads/2015/05/amsterdam.pdf · Developing Computational Thinking & Computational Doing with 5-11

Resources

Primary Debugging Strategies

http://code-it.co.uk/assessment/debugging.pdf

Scratch Book

http://code-it.co.uk/scratchbook

Out soon hopefully September 2015