Strategies to work through...
1. What does the tasks ask you to do?
2. What have you told the computer to do?
3. Where is it going wrong?
4. Take bottom blocks away and check the first steps - test.
5. If correct - move onto the next block. Make the correction.
Check understanding of the language.
Watch when you copy and paste lines of code.
6. Add some scaffolding to support - add "How much change left to give"
7. Remove the scaffolding if no-longer required.
8. Explain out loud to your peer or a rubber duck - verbalise.
9. Plan in tests - e.g. at 100, 99, 101 - change over edge cases.
Challenge:
Change for $90
Is it more than $100?
What is the biggest note in $90?
$50 + $20 + $20 + $0
Check the language- is it more than 100 vs. if it is100 or more.
Teaching is a constant learning journey. For 2014 the focus of my learning journey will be the daily use of Te Reo, developing the Enviro Schools Team and developing independence in learning - the next step on from Daily 5.
Showing posts with label Computer Science. Show all posts
Showing posts with label Computer Science. Show all posts
Friday, 22 July 2016
Strategies for De-bugging
From unplugged to programming
Modem was high and low sound - now we use light.
We send all our information to America via a cable under the ocean - in programming - on and off, high & low, white & black light, Red and blue etc. IT is in frequencies but looks like different colours - using LEDs.
The unplugged things we have been doing - we were doing 20 years ago e.g. binary numbers etc. The information and technology is still the same. The applications for the technology will change but the basics behind it all stay the same.
Scratch did not exist but all the elements of Scratch did exist. Alan Turing - cracked the Enigma code by unpacking the basic elements of the programme:
Every programme needs these things...
(SCRATCH - where does it fit?)
1. Receive input (ASK)
2. Send output (SAY)
3. Store data (VARIABLE - data)
4. Sequence (The blocks)
5. Iterate or repeat (REPEAT)
6. Make a selection or decision (IF - THEN)
You might not need all of these elements but like music - a song is not quite right without pitch or rhythm.
Juniors...
Bebots - mostly look at sequence.
We can teach these things unplugged.
Scratch Junior - iteration and output but not the other elements.
Scratch - all elements.
Python
Shopping has changed!
In the past we totalled up prices on a piece of brown paper.... the computer does it now.
How do barcodes work?
Every 2nd number added, every other number added up then bottom number x 3 then subtract top number.
If the scanner is incorrect - the computer flags up an error - Check Sum.
9 x 3 = 27 (7)
9 1 8 8 7 2 10, 8, 6, 3, 5
3 2 2 5 1 7 0 (Clock multiplication)
1. Add them all up - but only focus on the last digit. (Function in scratch = Mod 10)
2. Take 0 x 3 = 0 5 + ? = 0 1 in 10 chance to get it correct
You might read out an incorrect number or swap two when typing it into the checkout machine. Test this on your sequence of numbers from the bottle of water - how does it change the answer?
Where else might humans make mistakes?
Binary Tables:
Computers only work on 0 or 1. They need you to be very precise.
We send all our information to America via a cable under the ocean - in programming - on and off, high & low, white & black light, Red and blue etc. IT is in frequencies but looks like different colours - using LEDs.
The unplugged things we have been doing - we were doing 20 years ago e.g. binary numbers etc. The information and technology is still the same. The applications for the technology will change but the basics behind it all stay the same.
Scratch did not exist but all the elements of Scratch did exist. Alan Turing - cracked the Enigma code by unpacking the basic elements of the programme:
Every programme needs these things...
(SCRATCH - where does it fit?)
1. Receive input (ASK)
2. Send output (SAY)
3. Store data (VARIABLE - data)
4. Sequence (The blocks)
5. Iterate or repeat (REPEAT)
6. Make a selection or decision (IF - THEN)
You might not need all of these elements but like music - a song is not quite right without pitch or rhythm.
Juniors...
Bebots - mostly look at sequence.
We can teach these things unplugged.
Scratch Junior - iteration and output but not the other elements.
Scratch - all elements.
Python
Shopping has changed!
In the past we totalled up prices on a piece of brown paper.... the computer does it now.
How do barcodes work?
Every 2nd number added, every other number added up then bottom number x 3 then subtract top number.
If the scanner is incorrect - the computer flags up an error - Check Sum.
9 x 3 = 27 (7)
9 1 8 8 7 2 10, 8, 6, 3, 5
3 2 2 5 1 7 0 (Clock multiplication)
1. Add them all up - but only focus on the last digit. (Function in scratch = Mod 10)
2. Take 0 x 3 = 0 5 + ? = 0 1 in 10 chance to get it correct
You might read out an incorrect number or swap two when typing it into the checkout machine. Test this on your sequence of numbers from the bottle of water - how does it change the answer?
Where else might humans make mistakes?
Binary Tables:
Computers only work on 0 or 1. They need you to be very precise.
Scratch Junior
Great for learning to make a sequence, loops, 4 backgrounds,
Can add your face to the sprite.
Great to demonstrate your understanding....
What do I want to share?
What order does it need to go in?
What will happen?
Is it clear?
(These skills will develop coding skills and support Scratch skills.)
1. Set up the screen - background 1 (Where is it starting and who is there?)
2. You need to select a Sprite. Draw the object - the rubbish.
3. Select the next background & the rubbish.
4. Select the third background, the rubbish.
5. Add the fish and draw the dead fish.
We can make own image:
Paint, camera - paintbrush, camera.
Lots of opportunity here!
Wednesday, 20 July 2016
The Process of learning to programme!
How do we get kids to do the thinking without having to write too much? The turn off!
Scratch Junior:
You are a Sprite in Scratch. How can you encourage someone to "keep trying"?
What will you say?
- talk it through
- act it out, model the possible
- This begins to help us begin the sequence
1. Decide on the characters (Sprites) and objects.
2. 1 Sprite, 1 background - programme that well!
3. Unpack the language or key purpose. (Try to pick apple, try 2-3 times with words, get chair, succeed.)
4. Check bugs - is she toughing the apple, is it logical, does it make sense - de-bug.
Scratch:
How can we calculate the number of days till we get to Rio.
1. Count on 1:1
2. How to programme Scratch to make this happen?
3. Do it unplugged first - what might it look like, unpack the language here.
4. What does it have to have - constraints: store a variable - how to count how many days.
Pseudo Code:
De-bug:
What is the computer actually doing? (Setting month to 0 - is July a 0? Words don't work)
What did you TELL the computer to do - not what you want?
Is there something there that confuses the computer.
Set month to July then do the calculation - not set to 0 at the start.
Logical, sequence, look away, try a different way,
If, then
Using Unplugged blocks to programme:
Creating a programme or algorithm for another user.
Physically act it out.
What do I need first:
Pencil down, colour, start - add the blocks as you physically begin to create the code.
Add in the things like repeat etc.
Teacher act, kids put up the coding on the board.
Parity Cards:
Detection and correction - debug and fix.
Magic Trick!
Get a kid to come up and make a random grid of 4 x 4, teacher add an additional row and column.
Have one kid turn around, other child ID the one that was turned over.
Can we then programme this into Scratch?
Scratch Junior:
You are a Sprite in Scratch. How can you encourage someone to "keep trying"?
What will you say?
- talk it through
- act it out, model the possible
- This begins to help us begin the sequence
1. Decide on the characters (Sprites) and objects.
2. 1 Sprite, 1 background - programme that well!
3. Unpack the language or key purpose. (Try to pick apple, try 2-3 times with words, get chair, succeed.)
4. Check bugs - is she toughing the apple, is it logical, does it make sense - de-bug.
Scratch:
How can we calculate the number of days till we get to Rio.
1. Count on 1:1
2. How to programme Scratch to make this happen?
3. Do it unplugged first - what might it look like, unpack the language here.
4. What does it have to have - constraints: store a variable - how to count how many days.
Pseudo Code:
- Variable - month (container that stores 1 piece of information)
- Variable - date 23rd July (can use this variable in another place in the code.)
- Store month, store date.
- If it is July - count on from date to number of days in the month.
- If it August - just subtract 5 from the date.
De-bug:
What is the computer actually doing? (Setting month to 0 - is July a 0? Words don't work)
What did you TELL the computer to do - not what you want?
Is there something there that confuses the computer.
Set month to July then do the calculation - not set to 0 at the start.
Logical, sequence, look away, try a different way,
If, then
Using Unplugged blocks to programme:
Creating a programme or algorithm for another user.
Physically act it out.
What do I need first:
Pencil down, colour, start - add the blocks as you physically begin to create the code.
Add in the things like repeat etc.
Teacher act, kids put up the coding on the board.
Parity Cards:
Detection and correction - debug and fix.
Magic Trick!
Get a kid to come up and make a random grid of 4 x 4, teacher add an additional row and column.
Have one kid turn around, other child ID the one that was turned over.
The teacher's final row and column to make sure that there is a pattern in each row. Teacher makes sure even number in every column, 2 or 4 of each black or white. If there is an odd number - that row was flipped. Which ONE was flipped? Where is the intersection?
Does it work if you flip two?
Can detect the error.
Can you put it back together?
Bee Bots
Key concepts:
1. You must give instructions to make anything happen.
2. You come across problems that must be solved.
Materials:
Grid - 100's boards, series of whiteboards, carpet squares, Make own grid - 15cm squares, maths square books etc.
Plastic sheet with 15 cm grid - velcro on corners to keep secure.
Generic buttons - go button, red stop button, were else do we see these symbols? L & R arrows, L, R wings to support early learners.
Tell the story - place on the grid a toy (Kiwi) and a place to get (spiderman). How could Spiderman go and rescue Kiwi?
1. Need precise language for instructions? Receptive and expressive language.
2. Determine and agree language and directions. R, L or arrows, establish agreed protocols. Implicit clues.
3. Begin to include the symbols to shorten the code. (Supports ESOL students)
4. What direction are you facing to begin the sequence? Does this make a difference?
5. Where do you put the starting arrow? Determine the collective rules.
6. Little kids - move and draw at the same time to develop the sequence.
7. Write the programme and get the testers to test and de-bug. Identify the error - de-bug.
8. Add complexity - avoid the barriers that are in the way - objects or images under the plastic mat.
9. Extension: What is the quickest way? The more efficient the code - better pay! Is there a quicker way to get there? Be precise and accurate.
Roles:
Developer
Tester
Peer teaching
Big human version - masking tape on a tarp.... Kidbots
Barrier game - coder giving verbal or non-verbal communication to get the buddy to complete the code.
Kids struggle with left & right - move back to the physical and look at little parts of the sequence rather than the whole line of code.
IPad:
Physically try, write sections of code, apply to the iPad programme.
Bluebots:
Programme with your phone. Take a photo of something which becomes the map.
Cross curricular:
Maths: Counting to 10 - colours,
Identifying alphabet - sequence numbers, write name...
Begin to write a story ... pause at a place, describe the setting, solve a problem...
Spelling: Essential words
Alphabetical order
Latitude and mapping
Recycling - rubbish to which bin?
Ordering Beebots - tell the CHCH supplier we have been working with the Buzz Off team.
Tournament in September - look for the second tournament. Up to Year 3, teams of 3.
CODE Studio
Hour of Code
Ideas for Term 3:
1. Learning about mapping in the world / New Zealand, long and lat.
2. Image of different setting features - write a sentence describing each setting or write a noun and adjective.
3. Give a line of code for a sequence - debug and correct it.
4. Brainstorm words from an image, write a poem by moving to the key words.
5. NSEW directional math unit.
6. If the grid is blue, then turn right, If it is free, then move forward.
7. Confused - syntax error.... we need to unpack!
1. You must give instructions to make anything happen.
2. You come across problems that must be solved.
Materials:
Grid - 100's boards, series of whiteboards, carpet squares, Make own grid - 15cm squares, maths square books etc.
Plastic sheet with 15 cm grid - velcro on corners to keep secure.
Generic buttons - go button, red stop button, were else do we see these symbols? L & R arrows, L, R wings to support early learners.
Tell the story - place on the grid a toy (Kiwi) and a place to get (spiderman). How could Spiderman go and rescue Kiwi?
1. Need precise language for instructions? Receptive and expressive language.
2. Determine and agree language and directions. R, L or arrows, establish agreed protocols. Implicit clues.
3. Begin to include the symbols to shorten the code. (Supports ESOL students)
4. What direction are you facing to begin the sequence? Does this make a difference?
5. Where do you put the starting arrow? Determine the collective rules.
6. Little kids - move and draw at the same time to develop the sequence.
7. Write the programme and get the testers to test and de-bug. Identify the error - de-bug.
8. Add complexity - avoid the barriers that are in the way - objects or images under the plastic mat.
9. Extension: What is the quickest way? The more efficient the code - better pay! Is there a quicker way to get there? Be precise and accurate.
Roles:
Developer
Tester
Peer teaching
Big human version - masking tape on a tarp.... Kidbots
Barrier game - coder giving verbal or non-verbal communication to get the buddy to complete the code.
Kids struggle with left & right - move back to the physical and look at little parts of the sequence rather than the whole line of code.
IPad:
Physically try, write sections of code, apply to the iPad programme.
Bluebots:
Programme with your phone. Take a photo of something which becomes the map.
Cross curricular:
Maths: Counting to 10 - colours,
Identifying alphabet - sequence numbers, write name...
Begin to write a story ... pause at a place, describe the setting, solve a problem...
Spelling: Essential words
Alphabetical order
Latitude and mapping
Recycling - rubbish to which bin?
Ordering Beebots - tell the CHCH supplier we have been working with the Buzz Off team.
Tournament in September - look for the second tournament. Up to Year 3, teams of 3.
CODE Studio
Hour of Code
Ideas for Term 3:
1. Learning about mapping in the world / New Zealand, long and lat.
2. Image of different setting features - write a sentence describing each setting or write a noun and adjective.
3. Give a line of code for a sequence - debug and correct it.
4. Brainstorm words from an image, write a poem by moving to the key words.
5. NSEW directional math unit.
6. If the grid is blue, then turn right, If it is free, then move forward.
7. Confused - syntax error.... we need to unpack!
Binary Numbers
Binary Numbers:
Digital technology is all about 0 and 1.
How can you represent things using just 0 and 1?
8 - 10 year old students:
binary- unpack the language.
You have the choice of black or white + a dot!
Traditionally we have worked with the 10 base - using binary is using just 2.
The back - 1 = a bit. We can count to 1.
How can we build up the sequence?
Groups of 8 = a byte.
1, 2, 4, 8, 16, 32,
On a CD there are about 6 million bits.
Challenge: (Maths, reasoning, problem solving, justify opinion, sequence)
Only using 5 cards to keep all the kids involved - larger groups and it is a management issue.
It is not about devices but our thinking skills...
Computational thinking:
Logic - right card is odd numbers
Algorithm - How to add 1
Decomposition - Break things into one section at a time
Patterns - doubling, all white is one less that next card, frequency of flips
Abstraction - ow to represent alphabet, numbers, texts, images
Evaluation - largest, smallest, How many bits needed to represent a given number
We start with a problem and look at how to solve them...
1. How to get a message out of a country with poor human rights record?
2. How to write a secret message?
3. How to represent Te Reo in the American system with no macrons?
Our privacy depends on our understanding of technology. (Need 2 locks)
Lock - encryption.
Put credit card details in a lock box. Pass through all the providers - all the kids.
How long should it take to get to America? Seed of light - a few seconds.
How can she unlock the encryption? phone, e-mail...... not safe.
She locks it in America with your encryption and send back to the start. I take my lock off, leaving just her lock on it. Send it back so she can access it.
It is secure all the journey and the sender or receiver don't need to share their secret codes.
This allows:
Secure secret voting system - know you voted but no record of who you voted for. (Some countries might be useful)
Codes on security depends on prime numbers!
Digital technology is all about 0 and 1.
How can you represent things using just 0 and 1?
8 - 10 year old students:
binary- unpack the language.
You have the choice of black or white + a dot!
Traditionally we have worked with the 10 base - using binary is using just 2.
The back - 1 = a bit. We can count to 1.
How can we build up the sequence?
Groups of 8 = a byte.
1, 2, 4, 8, 16, 32,
On a CD there are about 6 million bits.
Challenge: (Maths, reasoning, problem solving, justify opinion, sequence)
Only using 5 cards to keep all the kids involved - larger groups and it is a management issue.
- How can I have 11 dots visible? 1, 2, -, 8
- Do you want the 16? Why is it out?
- Do you want the 8? Why?
- 21 dots = 1,-,4, -, 16
- No, No, Yes, Yes, Yes - start at the highest end -, -, 4, 2, 1
- Reason for the order - start with the most significant - the largest.
- Least significant bit is on the right.
- Most significant bit is on the left - focus on place value.
- Conventions - we agree on these before, consistent.
- Hexadecimal - chunking them in groups of 4 like place value.
- Smallest number to represent? 1 (Wait, they will review - 0 - that make the All-Blacks!)
- Can we count up in sequence 1, 2, 3, 4, 5, 6, class help them... 7, (one is very busy, every 2nd time - white for odd numbers.)
- All other numbers are even. Add even numbers = even. No way they can make an odd number without the 'odd one'.
- Even + odd = odd, Even + even = even.
- Difficulty of number - 2 hardest, 4 next hardest as they have the most work to do.
- 6 cards = 64 values
- 5 cards = 32 values - adding one bit makes a huge different.
Security of bank account - 200 bits - how many combinations are there - huge numbers. It might take till the end of the world to hack your number. Secure because there are so many options.
201 bits - double the level of security.
- How could I represent the letters of the alphabet? A - 1, B - 2, C - 4
- Use sounds - conventions quack - white, Moo - black
- Make Moo, quack, moo, moo, moo rather than numbers- what letter of the alphabet? H or black, white, black, black, black
- On a modem they were represented by high and low sounds.
- Can you represent all the letters of the alphabet?
- Can we write a secret message?
- What about macrons?
- Can we agree on what number = macrons, ! , .
- Compose music:
- Low, high, low, high - what's the letter? Low - 0, High - 1
- Art:
- Inverse koru - 0 or 1 - hiding messages in art - steganography
- Can you make a secret message?
It is not about devices but our thinking skills...
Computational thinking:
Logic - right card is odd numbers
Algorithm - How to add 1
Decomposition - Break things into one section at a time
Patterns - doubling, all white is one less that next card, frequency of flips
Abstraction - ow to represent alphabet, numbers, texts, images
Evaluation - largest, smallest, How many bits needed to represent a given number
We start with a problem and look at how to solve them...
1. How to get a message out of a country with poor human rights record?
2. How to write a secret message?
3. How to represent Te Reo in the American system with no macrons?
Our privacy depends on our understanding of technology. (Need 2 locks)
Lock - encryption.
Put credit card details in a lock box. Pass through all the providers - all the kids.
How long should it take to get to America? Seed of light - a few seconds.
How can she unlock the encryption? phone, e-mail...... not safe.
She locks it in America with your encryption and send back to the start. I take my lock off, leaving just her lock on it. Send it back so she can access it.
It is secure all the journey and the sender or receiver don't need to share their secret codes.
This allows:
Secure secret voting system - know you voted but no record of who you voted for. (Some countries might be useful)
Codes on security depends on prime numbers!
Thursday, 28 April 2016
Using Coding / Computer Science in the classroom: Tracy Henderson
Computer science is about solving problems:
Check out Computer Science Unplugged!
Can we teach computer science with everyday classroom materials.
Sequential programming:
Use a grid of whiteboards as the planning area. Need to get the blue counter to the house. What language could we use to get it there?
De--bug - you said turn, turn, turn, turn ... what could you use to be specific - 45%, clockwise?
Add a range of issues or barriers. How could you solve these problems. F9 - compression rather than F, F, F, F, x9 All answers are right but which is more efficient.
Move into adding the story that supports the plan. Oral language, written language.
Take to a maths challenge - move to the 100 board and pairs. Add different barriers and solve the problems.
Move to seniors... draw story and determine the language F or R 45 with the younger students.
B-Bots:
Place letters, maps, images or compass etc under the plastic mat. Focus on making an activity for the Year 3/4 students. Ideas like constructing a Spanish sentence, adding numbers, matching decimals with fractions...
We are learning programming - not doing SCRATCH. We are focussing on parameters & sequences required for programming. Parameters are what we write on... the programmer decided this. It can't be changed by the user.
Fitness unplugged: (Making a fitness app)
Make an unplugged app that teaches about parameters and loops.
Draw go. I don't know what go looks like. Decide on go.
How do you finish? Computers can't think for themselves, the need to be told.
We want to say something - that is a parameter in the programming. Add a white board to add the writing.
Start, run 10x, burpees, sit. REPEAT (repeat loop)
Put a circle with hoops around the small section - put a circle around it to act as a repeat.
x5 whiteboard so it is not a continuous loop.
In each station - one person is a computer developer. The remainder of the class is doing the fitness activity.
Each day: developers set up the sequence. Kids follow the task. Have 5-6 developers to set up 5-6 stations.
Ideas:
Try a dance sequence, drama sequence.
Binary:
OOps - STRUGGLING!
At the moment - there is no computer in the world that can crack an 8 character password.
Compressing Images: (unplugged site)
Being a human fax and 3D printer.
Following instructions. Keeping to the rule.
Being accurate and precise.
Tracking and systematic ticking off what had been completed.
Bridge: why is it important for the printer to be accurate and precise. Where else is it important to be accurate and precise.
Check out Computer Science Unplugged!
Sequential programming:
Use a grid of whiteboards as the planning area. Need to get the blue counter to the house. What language could we use to get it there?
De--bug - you said turn, turn, turn, turn ... what could you use to be specific - 45%, clockwise?
Add a range of issues or barriers. How could you solve these problems. F9 - compression rather than F, F, F, F, x9 All answers are right but which is more efficient.
Move into adding the story that supports the plan. Oral language, written language.
Take to a maths challenge - move to the 100 board and pairs. Add different barriers and solve the problems.
Move to seniors... draw story and determine the language F or R 45 with the younger students.
B-Bots:
Place letters, maps, images or compass etc under the plastic mat. Focus on making an activity for the Year 3/4 students. Ideas like constructing a Spanish sentence, adding numbers, matching decimals with fractions...
We are learning programming - not doing SCRATCH. We are focussing on parameters & sequences required for programming. Parameters are what we write on... the programmer decided this. It can't be changed by the user.
Fitness unplugged: (Making a fitness app)
Make an unplugged app that teaches about parameters and loops.
Draw go. I don't know what go looks like. Decide on go.
How do you finish? Computers can't think for themselves, the need to be told.
We want to say something - that is a parameter in the programming. Add a white board to add the writing.
Start, run 10x, burpees, sit. REPEAT (repeat loop)
Put a circle with hoops around the small section - put a circle around it to act as a repeat.
x5 whiteboard so it is not a continuous loop.
In each station - one person is a computer developer. The remainder of the class is doing the fitness activity.
Each day: developers set up the sequence. Kids follow the task. Have 5-6 developers to set up 5-6 stations.
Ideas:
Try a dance sequence, drama sequence.
Binary:
OOps - STRUGGLING!
At the moment - there is no computer in the world that can crack an 8 character password.
Compressing Images: (unplugged site)
Being a human fax and 3D printer.
Following instructions. Keeping to the rule.
Being accurate and precise.
Tracking and systematic ticking off what had been completed.
Bridge: why is it important for the printer to be accurate and precise. Where else is it important to be accurate and precise.
Subscribe to:
Posts (Atom)

