Sunday 23 June 2019

Computational Thinking for Upper Primary / Intermediate School using Scratch

Following on from my post from last week about introducing Computational Thinking in the junior classroom, here are some thoughts on where to start for teachers of Upper Primary and Intermediate School.

Like for the juniors, I would always start with the teachers understanding the revised curriculum content.  With that I mean not just the Progress Outcome that might appear to be aligned with the CL most of your students are working on, but Progress Outcomes 1 - 5 as their alignment against curriculum levels is subject is still tentative. My previous blog post contains suggestions where you can get help with this - or you might want to start as simple as carefully reading the PO descriptions, noting down similarities and differences between the different levels and work out unfamiliar terms (and there is lots of jargon built into these brief paragraphs...).

Again, it really important that you acquire a basic understanding of coding, it is another form of literacy that our students need to become familiar with. As I said in my post last week, I personally like https://code.org/, it has given me a good starting point in block coding which in my opinion is all that you need to know about for this age group. From there, familiarise yourself with Scratch (if that is the platform you choose to use with your students).

At this age I would still start the students off with unplugged activities to get them thinking 'like a computer', just add a layer of complexity to it in comparison to the juniors. CS Unplugged is a great source of ideas.
One of the activities we do in Raranga Matihiko at Waitangi is based on an idea we first saw facilitated by Rosalie Reiri at a Kia Takatū workshop: Programming a tohu to move across a grid to a selected destination with the instruction to get there as fast as possible = using as few lines of code as possible.
We use a clear plastic sheet with a grid drawn on it (greenhouse plastic from your garden centre) and students move tokens of your choice to the destination they have chosen, only using the instructions of 'move forward', 'turn left' and 'turn right'. They are encouraged to use iteration/repeat such as 'move forward x5'. For this age group we add a second priority: While you move across the grid as fast as possible, collect as much money as you can -> in case of a draw between different players in the end, the person with the most money will win. OR you can make any variation of this and other ideas you have to get their brains thinking 'like a computer'.
 


While code.org have a lot of interesting pre-set courses, for this age group I would straight move them to a a platform like Scratch. Start with a good 'tutu', let them figure out what they can do on there. Here are some ideas for you:

Suitable code blocks to start with include:

    

Remember that the code is always attached to a particular Sprite (if you delete the Sprite, your code is gone! I suggest you teach your students to take screenshots periodically so they have a copy just in case). Select the Sprite, then drag blocks from the left onto your workspace in the middle of the screen. Connect them together (just bring them close, they act like they are magnetic and attract each other). Ensure you always start with an event block, most commonly When green flag clicked:

One of the absolute must have blocks is go to x:___ y:____ (found under the motion blocks), it should be placed at the beginning of a project right under the event block that starts it all off. This ensures that the Sprite always starts in the same place.

Apply iteration and reduce the number of lines in a program:

Both of these algorithms do exactly the same thing...

... but this one uses fewer lines of code = less chance to make a mistake while writing the program

There is a wide range of Backdrops and Sprites students can use for their projects, but here at Waitangi we prefer students to create their own.



While we tend to create Backdrops and Sprites in other programs such as Paint 3D, Scratch includes tools to create your own (just select the brush you see above), or to edit existing ones (including your own uploads):

Click on the Sprite you want to edit (highlighted in blue here at the right), then select the second tab Costumes at the top to make changes to the way your Sprite looks or to create additional costumes for your Sprite

Click on Stage instead of a Sprite and the second tab at the top becomes Backdrops.
Handy hint: Look at Stage, the number under Backdrops indicates how many different backdrops are loaded into the project. You might want to delete backdrops that are not needed or are duplicates.

Costumes can help animate a project. Have a look at the subtle difference between these two projects:


Hiding and showing different Sprites can have its own little challenges: Anytime you use a hide block in your code, you also need to include a show block. While this might seem counter-intuitive to you, it makes sense in computational thinking: Imagine playing hide and seek with a robot, and you tell the robot to hide. Unlike our students it won't get bored or hungry and come out anyway, it will hide forever UNLESS you tell it to show.


Timing can be very important; if your students are writing more complex code where something new happens after a particular event, or after a certain amount of time, look at broadcast message.


Found under events, broadcast message can set in motion a new sequence of events:
As you can see, the workspace can include more than one sequence of code: On the left the command for the mouse to hide at a certain place as soon as the green flag is clicked. On the right, after receiving the message which I named Chase mouse it will show itself and forever move around the screen randomly.

On the left, the original code with a broadcast message block added at the bottom (to create a new message, just click on the drop down arrow and name your message something that makes sense to you).
On the right I added a new sequence of code: Once the cat receives the message, it miaows once, then waits for one second before it glides towards the mouse forever.
Below that I added a third block of code, not currently connected to any event block. If I drag this into my forever block below glide to mouse my program will stop when the cat touches the mouse - and there is lots more you could add here.




Managing and sharing Scratch projects

For the Raranga Matihiko programme at Waitangi we currently work under just one account in Scratch which allows us to manage all student work. We place all projects for a class into one Studio (= folder), and we share the URL to the studio with the visiting teacher. For this we have to 'share' each project, make it publicly visible which is covered under our parent permission forms. I have turned commenting off for projects created under the WaitangiMuseum Scratch account because we don't have enough time to monitor all comments to all projects.


To embed a Scratch project into a blog as I have done here you can use the following code:
<iframe allowtransparency="true" width="485" height="402" src="https://scratch.mit.edu/projects/embed/308725885/?autostart=false" frameborder="0" allowfullscreen=""></iframe> 
Instead of the yellow of the URL, add the number of the project you wish to embed.
Often students want to continue working on the projects they started with us so I encourage visiting teachers to set up their own class account or individual student Scratch accounts and use the Remix buttonto make a copy of the project in their own account:



This is also a good opportunity to reinforce Digital Citizenship, explore the ideas of Creative Commons as well as attributing where work comes from. Student might also be interested to explore other Scratch projects to learn from the code used there; however, I suggest you curate a selection of suitable projects (add them to a studio) so your students don't get lost in the thousands of projects available.

Sunday 16 June 2019

Computational Thinking in the Junior classroom

The other day on Twitter I came across Victoria Macann's post on the Learning Architects' blog about implementing CT into the classroom. I agree with many of her thoughts, there is a lot of unplugged computational thinking already happening in classrooms (this previous post contains some of my ideas). Today I want to focus on where to from here.

I have long been thinking that the alignment of CT Progress Outcomes 1 and 2 against Curriculum Levels might be setting the bar a bit low (see also in this previous post). I have seen plenty of examples now where young learners code their digital stories on Scratch though according to the curriculum document computerised contexts are only required for Progress Outcome 2 which is currently sitting at Curriculum Level 3 (many teachers would consider CL 3 as appropriate for year 5 & 6 students):

Am I expecting too much too early? To be honest I am concerned we are packing too much into Curriculum Levels 3 - 5 when we could start at a younger age (the following is an excerpt from TKI, my highlights for emphasis):

Progress outcome 2

In authentic contexts and taking account of end-users, students give, follow and debug simple algorithms in computerised and non-computerised contexts. They use these algorithms to create simple programs involving outputs and sequencing (putting instructions one after the other) in age-appropriate programming environments.

Progress outcome 3

In authentic contexts and taking account of end-users, students decompose problems into step-by-step instructions to create algorithms for computer programs. They use logical thinking to predict the behaviour of the programs, and they understand that there can be more than one algorithm for the same problem. They develop and debug simple programs that use inputs, outputs, sequence and iteration (repeating part of the algorithm with a loop). They understand that digital devices store data using just two states represented by binary digits (bits).
Progress outcome 4 

In authentic contexts and taking account of end-users, students decompose problems to create simple algorithms using the three building blocks of programing: sequence, selection, and iteration. They implement these algorithms by creating programs that use inputs, outputs, sequence, basic selection using comparative operators, and iteration. They debug simple algorithms and programs by identifying when things go wrong with their instructions and correcting them, and they are able to explain why things went wrong and how they fixed them.

Students understand that digital devices represent data with binary digits and have ways of detecting errors in data storage and transmission. They evaluate the efficiency of algorithms, recognising that computers need to search and sort large amounts of data. They also evaluate user interfaces in relation to their efficiency and usability.
Progress outcome 5

In authentic contexts and taking account of end-users, students independently decompose problems into algorithms. They use these algorithms to create programs with inputs, outputs, sequence, selection using comparative and logical operators and variables of different data types, and iteration. They determine when to use different types of control structures.
Students document their programs, using an organised approach for testing and debugging. They understand how computers store more complex types of data using binary digits, and they develop programs considering human-computer interaction (HCI) heuristics.

[You wouldn't believe how much debugging I went through to display this copied text in this format - Blogger didn't seem to like me today...]

In my opinion, we could start working towards Progress Outcome 2 from year 2 (6 year olds) onwards and spread out the required learning to meet Progress Outcomes 2 - 5.


Where to start as a Junior teacher

Firstly, you need to understand what the revised curriculum content includes. There are a number of helpful sites around, especially Kia Takatū ā-Matihiko, I can also recommend Mindlab's Digital Passport. We have also collated useful information and resources on our new Raranga Matihiko website https://rarangamatihiko.com/.
Talk to your colleagues in your kura or school and across your Kāhui Ako. Ministry funded PLD is available, check out the Ministry of Education sites with information for your sector. If you are teaching at a Decile 1-3 school in Northland, Auckland, the Hawke's Bay or in Wellington, check out if our Raranga Matihiko programme is an option for you.

Next you need to get yourself acquainted with coding which I regard as another form of literacy. I personally really like the resources from https://code.org/, no cost involved, lots of useful activities, information and videos. Once you have worked yourself through the different levels of a pre-set programme, you can start branching out into more open, sand-box type environments like Scratch (which now also supports te reo Māori).

From there move on to how can you introduce coding into your classroom? From my own experience as Y3 teacher, I first introduced my students to coding through unplugged activities - check out CS Unplugged for some great ideas. From there I set up my class in Code.org and that became one of our 'Can Do' activities. Once students have mastered the basics of this, show them how they can transfer these skills to a platform like Scratch. Don't make it too complex in the beginning, given them an opportunity to explore and then share with each other what they have come up with.

Using coding as a digital story telling tool makes it relevant (rather than coding for the sake of coding); students could use Scratch to retell (an aspect of) a story, make alternative endings, create new stories etc. Even with limited levels of literacy, students can learn to use suitable blocks as the most useful ones are usually at the top of a colour section:


There are other platforms aimed at junior students which you might want to explore, such as Scratch Junior (available for Chromebooks, iOs and Android) but I feel restricted by limitations like not being able to upload my own backdrop or my own avatar which especially juniors love.


Have a look at these examples from our Raranga Matihiko programme in Waitangi where junior students shared their learning using Scratch; they created their own backdrop and uploaded it, inserted their own sprite and coded their digital story:



(Looking at our collection of Scratch projects, I'm so proud of these children and their teachers, I think they did an amazing job!)

Digital Technology Hangarau Matihiko will be taught in all schools from 2020, if you haven't started yet, hopefully this post can give you some ideas.

Sunday 2 June 2019

Digital Technology Hangarau Matihiko: One year of delivering the Raranga Matihiko programme at Waitangi Treaty Grounds

We started delivering the Raranga Matihiko Weaving Digital Futures programme a year ago here at the Waitangi Treaty Grounds. As to be expected, we have gone through a huge learning curve ourselves:
  • What exactly does the Digital Technology Hangarau Matihiko curriculum describe?
  • How do you put this into practice at different year levels and within the local curriculum of a school?
  • What does this look like in the Raranga Matihiko context?
  • How do we best support ākonga of all ages, teachers, students, parent helpers?
DT HM curriculum content
I have previously blogged about the revised curriculum content (e.g. here). A year into this programme, I am fairly confident with the concepts and with the Progress Outcomes up to the end of CL5 - keeping in mind I work in this area all day every day this is not really unexpected. For me DT HM is very much cross-curriculuar (see previous blog post), I see it incorporate into all Learning Areas. Like with any specialisation, it takes time to become confident with it, and I am very pleased to see that our returning classes overall appear much more confident than they were a year ago. For teachers who have not had a chance to investigate DT HM, I encourage you to do so asap so you feel you are confident when this curriculum content will be fully implemented (from Jan 2020).

Local curriculum and DT HM
There has been a lot of mention of 'local curriculum' in my world lately; where we would have used the phrase 'localised curriculum' in the past, it seems to now have been replaced by 'local curriculum'. I find this Leading Local Curriculum Guide a really good resource to start thinking about it.

As a museum and historic site, we are part of the 'wider community' that can be a partner in schools' learning-focused relationships and help the schools provide rich opportunities for learning. As PLD Facilitators we should go beyond the mere understanding that we are a partner from the wider community but actively support schools as they develop the finer details of their local curriculum. While our PLD aspect is within the DT HM realm, the concept for Raranga Matihiko has been designed from the outset to link to class inquiries with bespoke programmes, therefore it is part of our role to support schools in their local curriculum development, at least as far as our scope and our availability allows.

DT HM in the Raranga Matihiko context
Our Raranga Matihiko vision states: Empowering ākonga/kaiako to think, challenge and create using authentic, integrated experiences. Authenticity and integration includes the setting of the individual partner museum and the facilitators working at that setting, so just like no two programmes are identical, the programmes across the museum sites differ also. At Waitangi, we tend to focus on Designing and Developing Digital Outcomes in the first year, and on Computational Thinking (supported by DDDO) in the second year - not that you could completely separate the two strands anyway.

Our first year programmes tend to be collaborative projects now, generally Virtual Worlds, created and contributed to by all students in the class. This allows the students to use a range of different apps and programmes to create images and objects to tell their learning, and they get to combine all of these in a digital world using Tiltbrush via HTC Vive. They take snapshots and videos of the resulting world and use these to share their learning with their audience. While, and partly because, few schools would have access to their own VR setup, students get an opportunity to work in VR during the programme with us. Over time we have made it clearer to teachers how the skills learnt through Raranga Matihiko transfer even without access to the same tools (and some schools have decided to invest in tools and / or devices they found useful through their experience with us).
Our second year programmes use the DDDO skills the students have gained and incorporate them into coding projects, generally within Scratch as this platform is free, available to access from any device, provides a true sandbox approach and is available in te reo Māori. So far we have mainly been using Scratch as a tool for Digital Storytelling, but as our students get more confident, the complexity of their code has increased a lot.
As a reflection of what we have seen children being capable of, I am very confident that over time some of the CT Progress Outcomes will shift downwards in the their alignment against Curriculum Levels.

Support for teachers, students, parent helpers
Much of our support happens face-to-face, during the time we spend with the classes. Travel time can be a real barrier, and while we try to make the most of any and all time we have with students, we know that we can get better results when we have more time together. Our online support has been more sporadic, on an as-required basis, but now that our website is up and running, this will help immensely: https://rarangamatihiko.com/

___________________________________________

We also had some other challenges to manage, like to how to balance individual workload, resourcing requirements (classroom bookings, car availability, additional equipment, covering for absent staff etc.) and the contractual requirements. One of the intended yet still surprising benefits has been the connections we have built with the extended team across the North Island; Museum Education can be a lonely field within many smaller, regional museums, and it's been great to break down the barriers and make online and face-to-face connections.

___________________________________________

So one year in, I think this is probably one of the most enjoyable PLD programmes I have ever been involved in, and from what our evaluation report has shown at the end of 2018 it seems to meet all expectations. If you are interesting in supporting learning at the Waitangi Treaty Grounds, check out our current vacancies here.