Friday 22 July 2016

Strategies for De-bugging

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.


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.

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:

  • 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?

Can we then programme this into Scratch?


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!

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.

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


Saturday 2 July 2016

Week 32 - APC - Changes in practice

Wow - the end of MindlabEd November Intake 2015!
It has been a rollercoaster ride of wishing I had more time to delve even deeper, opportunity to test ideas over and over again with my learners and even more time to just share with ‘like minded’ people. Stretch the course over two years and it might have almost been perfect!

I never realised how much I love learning and sorting my ideas out in the form of a blog post or assignment. Posting them was just the promise to my wider community that I am going to take action. The choices for research projects and leadership I made were to useful because they gave opportunity unpack the things that interest me or that I am struggling with. Mindlab has given me the opportunity and skills to be more effective in developing my own teacher inquiry, which is an essential skill to have as an effective teacher in New Zealand. (Ministry of Education)

I have also loved being fed all the current readings and videos that a reflective should be interacting with. I know it will be harder to find them without Mindlab but my Twitter CoP are always feeding new readings and blog posts into the mix. This continual cycle of reading, implementing and reflecting is one that will continue in my professional life as Osterman and Kottkamp (1993) identify it as the way practitioners can be more self aware about their impact and as a result grow as a teacher.

So how has the last 32 weeks changed me?
Honestly… I knew about lots of things but was experienced in just a few. Mindlab was the springboard into buying a class set of Makey Makey, running a computer science course and unpacking the Agile Approach. I have learned that I am a leader and the way I draw in my stakeholders and the leadership style I use impacts the effectiveness of everything I do.

As a school we are looking carefully at reflecting on our practice, working backwards from our action to see where it fits into the Practicing Teacher’s Criteria (PTC) which is going to be exciting as I unpack my Mindlab learning. It will be hard to focus on just to of the criteria!

Criteria 4:
Demonstrate commitment to ongoing professional learning and development of professional personal practice.
Wow - 32 weeks of Mindlab was certainly a commitment of critical self reflection and changing how I do things - not to mention a vast number of late evenings and weekends! It was a chance to examine my motivations, prejudice and how effective I really am in the classroom and our wider learning community. (Osterman & Kottkamp 1993)


My blog posts in the past have been unpacking an approach or resource in the classroom. I am now beginning to actually interact with readings, other practitioner’s blog posts and question my actions, effectiveness and my assumptions. I still look for opportunities for PD such as the Coding Training with the University of Canterbury in July and and working through my Teacher Inquiry for 2016 based around the effectiveness of the Feuerstein Method in our school setting.

My PD does not rely of what is offered vis school but feeds directly out of the connectiins I have made through Twitter and my wider learning communities, which reminds me of a whakatoki about working collaboratively: "Naku te rourou nau te rourou ka ora ai te iwi” With your basket and my basket the people will live.

Criteria 7:
Promote a collaborative, inclusive, and supportive learning environment.
I had already begun this journey, which is why the Mindlab programme appealed to me, but there have been some changes take place as the course progressed.
I love the opportunity that Aglie’ gives me to support students in learning to code and managing their groups through an inquiry project. Those quick 5 minute ‘check ins’ at the start to establish where we are at, what we are struggling with and intend to achieve during the session keep us all on track and aware of what support is needed.


Students are collaborating on Google Docs, even running AKO training sessions in how to use Google Draw and other tools to support their writing and inquiry. Constructive comments are made on blog writing and buddy conferencing supports the writing of students at all levels. All of this maximises learning as there are 58 teachers in our team. I have even begun to let of of the control that I used to crave. My three writing students on an independent writing programme are amazing me with the quality and quantity of the work they are producing, just because the have been given agency and trust.


I could go on forever about the amazing work my students are doing  but need to identify...
Where to Next?
  1. Carry out my teacher inquiry based on the effectiveness of the Feuerstein Method in our school and report our results to all stakeholders, while building greater connections with our growing community of practice.
  2. Continue my training in Feuerstein so that I can teach the whole range of enrichment activities.
  3. Continue to develop a bank of planning and resources to support staff in our school as they begin to take the Feuerstein journey.
  4. Develop my skills in coding and unpack how this can be integrated across the curriculum.
  5. Go back and play around with how Agile can be developed as an approach to scaffold student independence.
  6. Make stronger connections with our marae and look at ways to strengthen my cultural responsiveness in the classroom - Roll on Maori Language Week!
  7. Spend some time going back over what I have been learning and embed it in my classroom:
  • Makey Makey
  • Coding
  • Augmented Reality
  • Collaboration
  • Student led workshops
  • Student independence in learning

It sounds like I am going to continue to be very busy, but for the next few days I’m going to just going to put my feet up and reflect on the ups and downs of the journey so far.

Resources:

Freire, Paulo. (2000) Pedagogy of the oppressed /New York : Continuum
James, M. Agile Scrum Training Series (2016) http://scrumtrainingseries.com/
Ministry of Education (nd). Practising teacher Criteria and e-learning . Retrieved from http://elearning.tki.org.nz/Professional-learning/Registered-Teacher-Criteria-and-e-learning
Osterman, K. & Kottkamp, R.(1993). Reflective Practice for Educators.California.Cornwin Press, Inc. Retrieved on 7th May, 2015 fromhttp://www.itslifejimbutnotasweknowit.org.uk/files/RefPract/Osterman_Kottkamp_extract.pdf