Tag Archives: Coding

Why every kid should learn to code (in the Humanities as well as Computer Science)⤴

from @ andrewjmclaughlin


Like art,
hashtagcoding enables self-expression. Also, like art, it can be a catalyst for political and social change.
Finding solutions to global and societal problems involves the same set of computational thinking skills as finding solutions to programming problems. Learning to code is not just about learning to use a powerful, modern 'lingua franca' to develop clever apps, but about developing the ability to understand how to break problems down, to spot patterns, to collaborate, to ideate-try-fail-tinker-and try again, to make sense of the world around us.

Learning to code is about learning to change society (hopefully for the better) - it gives citizens agency (see Jennifer Pahlka's TED Talk and read more about her work in '[Re]:Coding <America/>') and the tools to leverage impactful change despite the traditional political machinery being broken (as Jon Alexander champions in his book, 'Citizens').


It is important then for children to learn about programming and develop computational thinking at an early age - to build their skills, their confidence and their awareness, and to find new ways to express themselves and shape their world. Goodness knows, they will inherit a world in crisis, it is only right that we give them every opportunity to develop their solutions and build the new tools they'll need.

Linda Liukas succinctly addressed this with HundrEDorg (4 years ago).

This is just one of the reasons that I am grateful for organisations like CodeBase, Micro:bit Educational Foundation, Barefoot Computing and Digital Xtra Fund, and their efforts to bring coding to our young people in spite of a national shortage of Computer Science teachers.


Micro:bits Halloween Project⤴

from @ wwwd – John's World Wide Wall Display

micro:bit code printout

The Village of Banton, where I teach, celebrates Halloween on the Friday before the 31. Which is nice ’cause you can have a Friday party. We had one yesterday afternoon, in the morning we did some halloween related work.

When I sat down at my desk yesterday morning I had a quick look at twitter. I’d been in a conversation over breakfast. I ended up having a quick scroll through Mr Morrison‘s timeline. I saw a couple of interesting micro:bits things:

and

The first was to blow away a ghost. I couldn’t see instructions, but presumed it would be simple enough to figure out. The second was really simple, but linked to a blog post which had a nice wee pumpkin cardboard template that fitted a micro:bit.

Pumkin Ghost

My class have done a varying amount of coding, so I though we could do this as a stepped challenge. The more experienced could help the other out.

I printed off the templates and cut out the holes for the micro:bit buttons. I’ve found that making a neat job of these is difficult, but helps keep the cardboard on the micro:bit. Quite glad I’ve got a small class.

I then worked out and made the code to, add a face to the pumpkin with button A and a ghost with button B. Blowing on the micro:bit would blow (animate) the ghost off the screen.

I made a quick slide with the challenge and pictures of a few useful blocks.

Microbit Halloween Challenge: 1. Show a ghost for pumpkin on button a 2. Show a face on button b 3. Animate face 4. make ghost go away when you blow 5. make ghost only go when it is already on screen 6. play a sound when ghost flies off

We started the lesson by being really quiet and watching me demo. The class is 1-2-1 iPads and we use the micro:bit editor, we have enough micro:bits for one each too.

My though was that the least experienced could manage 1, 2 & 3. I hoped the images of the blocks would remind the others of enough to get them started on the harder ones.

Most of the class managed the first couple of tasks straightaway. To my surprise quite a few asked to skip the third. The vanishing ghost was too tempting.

The next step, to animate the ghost away on a sound was managed by quite a few of the class. The tricky part was only showing the animation if the ghost was on the screen. A few, having seen the clues on the slide, created variables to test for at the start of sound block. We did need to stop a few times to figure out when and where to toggle the variable and how to test for it in the right place. Lots of useful mistakes were made.

By this point a few children had managed to solve the complete problem, adding some sounds to their animation. They could then help, (without using their fingers), their peers. A couple of the class didn’t manage to get the whole thing done, not getting a full understanding, but they all managed at least some of the challenge.

Given the class have done at least a couple of recent micro:bit lessons covering inputs and decisions the challenge approach worked well. Some had used code that was not particularly efficient. Some strange and unnecessary repeats. I am not really sure my own approach to the code was the best.

As everyone put the finishing touches, cutting out pumpkins and tweaking code I though we could finish with a quick demo of the radio feature. For this bit I did just put the code up on the board.

One child, remembering radio code from previous years volunteered to make the controller. We finished by testing and recording the radio controller, setting all the micro:bits to show a ghost via the controller and getting all the ghosts to fly off by shouting boo!

A few interesting points emerged

  • This idea came to me though some tweets at around 8:00am I had to through some resources together before 9, scrap (recycle) some of the morning plans. The final section, using the radios, just came to me while teaching and extended the process by half an hour. I am sure this says something about my professionalism & planning.
  • Working through the logic is hard. The children with more experience are beginning to be able to debug sometimes. Noticing typos (or bad values for variables, blocks avoid a lot of these problems) you have made or miss-ordering or putting blocks in slightly the wrong place is easy. I was listening to a WordPress lesson driving into work on Friday and noticed that the tutor, presumably prepped and a confident coder, still made mistakes like these.
  • Somethings just didn’t work. Adding sound work if we used the play sound block with pre add sounds. Using the melody block or the block that plays sounds you write yourself tended to cause problems. All the code would stop working after a while. I am not sure if it is a bug or problem with the micro:bits or we just don’t know something.
  • A couple of pupils had exactly the correct radio code but it just did not work exactly as expected. The code used an if else block to switch depending on if it received a 1 or something else. The micro:bits just executed the first choice every time. The pupils and their pals couldn’t see any problem with the code and neither could I.
  • Most of the class wanted to get to the more dramatic bit of code quickly and asked to skip the simple animation of the face. Quite a few wanted to work in the code editor without testing their code until they got to the end. I was quite happy with the skipping bits but I did ask them to do quick tests as they went along.
  • One pupil who had got into a bit a mixup with the code had made a nice change to the animation, the ghost going off the screen at an angle rather than straight up.

The micro:bit editor has a nice print feature, I used it to make the featured image for this post.

TurboWarp Speeds up Scratch⤴

from @ wwwd – John's World Wide Wall Display

I saw a tweet from  James Abela:

Just found this amazing tool to convert any @scratch project into a #Mac #App. You can now literally use this kid’s tool to put apps together! Incredible and I managed this in less than a minute! #everyonecancode #scratch #appinamin #coding How to make a Scratch Project into a Mac OS app in under 1 minute – YouTube

The TurboWarp Packager Converts Scratch projects into HTML files, zip archives, or executable programs for Windows, macOS, and Linux. but it is linked to several tools that are part of TurboWarp:

TurboWarp is a Scratch mod that compiles projects to JavaScript to make them run really fast.

Now the sort of thing I do with scratch is certainly not in need of speeding up or turned into an application! But I have seen many really complicated scratch programs, but my needs are simple.

I did recall a maths project we made in class a couple of years ago, when working on probability & chance. The project throws dices a number of times. Of course the class wanted to run it many many times, but it got a bit slow once we got to 10 million throws.

Here is the Project on Scratch:

And in Turbowarp:

For me 100 million throws took 1056.443 seconds in Scratch and 21.784 seconds in Turbowarp. I guess device, browser, operating system and the direction of the wind might change these results a bit. I also expect the code could be a lot better;-)

Read: Why coding should at the centre of the curriculum⤴

from @ wwwd – John's World Wide Wall Display

Read Why coding should at the centre of the curriculum
Coding develops cognitive skills, problem solving and analytical thinking ("computational thinking"). By introducing and developing these abilities from primary school onwards, we create the building blocks and thought processes necessary for robotics and AI. This is not about displacing traditional subjects but, rather, changing the emphasis. Coding can comfortably sit alongside other subjects, especially those with a creative slant, reinforcing the development of key skills through multiple channels.

Coding develops cognitive skills, problem solving and analytical thinking (“computational thinking”). By introducing and developing these abilities from primary school onwards, we create the building blocks and thought processes necessary for robotics and AI. This is not about displacing traditional subjects but, rather, changing the emphasis. Coding can comfortably sit alongside other subjects, especially those with a creative slant, reinforcing the development of key skills through multiple channels.

Digital skills: Why coding should at the centre of the school curriculum | Tes

Coding certainly can develop cognitive skills, problem solving and analytical thinking. A lot of other things can too. I think it is difficult.

Any class will present a wide range of learners. Designing or adapting lessons to try and get as many of them in the right zone to develop these skills is tricky. If you don’t get this right coding is neither productive or fun.

The article notes:

. Coding can comfortably sit alongside other subjects, especially those with a creative slant, reinforcing the development of key skills through multiple channels.

I’ve certainly found that putting coding into a context can lead to more fun and success. By adding elements art or making to a coding project more pupils are involved in problem solving, collaboration and creativity.

A difficulty in managing this might be the perceive need to be an expert in several different areas. I’ve certainly found myself in situations where I’ve not be completely confident around some of these areas.

The article acknowledges that covid has had an effect:

It is a reasonable assumption that this immersion in IT and technology is preparing young people for a digital future and teaching them the skills they will need.

But we need pupils to be creators as well as users:

there is a largely unrecognised digital difference between the users of technology and the creators

I think there is also a gap around literacy and the problems that the mixing of commercial and educational interests in technology. A lot of the uptake in digital solutions lacks any questioning of the provides of these solutions.

This is something I am not very sure I’d know where to start with? Perhaps Coding is not ‘fun’, it’s technically and ethically complex:

In just a few years, understanding programming will be an indispensable part of active citizenship. The idea that coding offers an unproblematic path to social progress and personal enhancement works to the advantage of the growing techno-plutocracy that’s insulating itself behind its own technology.

Liked: Coding is not ‘fun’, it’s technically and ethically complex⤴

from @ wwwd – John's World Wide Wall Display

Liked Coding is not ‘fun’, it’s technically and ethically complex by Walter Vannini (Aeon)
Coding is seen as fun and glamorous, but that’s a sales pitch. In reality, it’s complicated, both technically and ethically
 Coding is not ‘fun’, it’s technically and ethically complex by Walter Vannini (Aeon)

Coding is seen as fun and glamorous, but that’s a sales pitch. In reality, it’s complicated, both technically and ethically

It’s better to admit that coding is complicated, technically and ethically. Computers, at the moment, can only execute orders, to varying degrees of sophistication. So it’s up to the developer to be clear: the machine does what you say, not what you mean. More and more ‘decisions’ are being entrusted to software, including life-or-death ones: think self-driving cars; think semi-autonomous weapons; think Facebook and Google making inferences about your marital, psychological or physical status, before selling it to the highest bidder. Yet it’s rarely in the interests of companies and governments to encourage us to probe what’s going on beneath these processes.

Clear well explained short and powerful article. via both Scripting News and Memex 1.1.

Perhaps we need another term for the coding like activity than can be a lot of fun for folk that have the skills that Walter Vannini explains coders need. I have a lot of fun dabbling in AppleScript, bash and JavaScript without the discipline and study necessary to be a coder.

Kids in school can have this sort of fun too, perhaps helping in maths and in skills like problem solving, working together and practical skills. Scratch and micro:bits can be a a lot of fun in a primary classroom.

Drones in the Classroom⤴

from @ ICT for Learning & Teaching in Falkirk Schools

What is a Drone?

Drones are devices which fly without a pilot on board – they are remotely controlled, either manually (perhaps from a mobile smartphone or tablet) or through programmed instructions. They can be very large and heavy (often carrying cameras, with a big battery capacity to enable long range in the air), or small, lightweight and able to be carried in the hand (with very limited battery capacity and air time but more suited to indoor use in a classroom). Devices suitable for the classroom will be lightweight and cause little issue if they fall from flying. Larger outdoor devices require more risk management and an understanding of the legal requirements as to where and how they can be deployed (for UK legislation about the use of drones see https://www.caa.co.uk/Consumers/Unmanned-aircraft-and-drones/ and https://dronesafe.uk/drone-code/

What can you do with Drones in the Classroom?

Drones provide an engaging way to develop mathematical and spatial concepts in the classroom – position, distance and movement in a real 3D environment, the classroom itself. Using coding to program a drone to take off, perform pre-planned movements and land safely, requires learners to put into practice measurement of distance, angle/turn, and spatial awareness – extending skills in coding programmable floor robots in another dimension.

Drones in the English Classroom – a podcast, with a verbatim transcript, of an interview with Santha Walters and on the blog by Vicki Davis about the experiences of getting started using drones in an English language classroom to teach writing, collaboration and more. There is helpful advice about how to get started, developing understanding of safety issues when having flying devices in the classroom, how to build on enthusiasm of the learners themselves to give them greater ownership of their learning, and handy technical tips for using drones in the classroom.

Learning Takes to the Skies – a blogpost by Matthew Lynch about using drones in the classroom. This describes the different skills being which are learned when using drones in a classroom setting and gives examples of drones in different curricular areas as well as cross-curricular.

Click on this link to browse various Tweets which have been shared about uses of drones which have application in educational contexts.

What do I need to get started?

So you’d need a drone (such as ones aimed at classroom use provided by companies like Parrot). And you’d need a smartphone or tablet device (such as an iPad or Android tablet) with an app (such as Tynker, Apple Swift Playgrounds or SpheroEdu) which controls the drone. Once these are connected the rest is down to what you are trying to teach – and the scenarios you wish to set up to support learning in a context. Can your learners program the drone to take off, make the outline of a square in the air and then land? Can they make different shapes in the air? Can they make the drone flip upside down? Can they go to above a specific location on the floor, hover, then move to another location before returning to precisely the same as the take-off point?

Here’s a video “Coding with students – Using Tynker and coding with Drones” by Richard Poth – showing how to use the Parrot Mambo minidrone using the Tynker app in a classroom.

 

Developing the digital skills to change career⤴

from @ Engage for Education

Last week Minister for Further Education, Higher Education and Science Shirley-Anne Somerville visited CodeClan, the UK’s first accredited digital skills academy.

Claire Smith, a graduate of CodeClan’s 16-week software development course, writes about her experiences as a career changer moving into the digital sector.

“After University I was lucky enough to get work in an industry that was relevant to my degree, Japanese Studies. However it didn’t pan out for several reasons. I found myself at a loss as to what to do next, and spent my free time working with a local Food Waste charity. Through this charity’s need to digitise their logistics I became involved in developing an app.

“From there, it was a natural process of wanting to push my skills further so I applied for CodeClan, although this involved some big risks that I had to consider, including money, time commitment and the big question of whether I would be able to get a job after doing the course. But I weighed it up and it seemed worth it.

 

“CodeClan is a 16-week intensive course covering the basics of web development. One thing I knew from the start was that it would not be a spoon-feeding course where your graduation present is a job. It involves your full commitment and pushing your learning further outside of class hours. However, the support of my instructors and teamwork with classmates kept me motivated through the course.

 

“Assignments were handed out daily as well as a mini project to cover each weekend. This led on to group projects, which I loved. The course highlighted that a successful project depends not just on technical knowledge but also learning about Agile methodology and the workflow process. But it’s not all work and no play. I was often in the ping pong room or having a game of Werewolf with other students.

 

“CodeClan organised Employer Sessions, where various companies would come in and give an insight of what it would be like to work for them. And by the end of the course, I had a portfolio covering a range of languages including Ruby, Java and Javascript to aid in getting a job.

 

“CodeClan put a lot of time into creating opportunities to meet employers, and it was through this that I got a job as a Backend Developer at Signal where I’ve  been working for just over a year.

 

“As a Backend Developer, I work mostly in PHP, a language that was not covered by CodeClan. But the experience of picking up various languages in just 16 weeks taught me the skills needed to get going with PHP. After a year working in the industry, I look back on the risk I took and I’m glad I was in the position to take it.

 

“One of the major learning curves I’ve had, and will continue to have, is being comfortable not knowing the answer – and having the curiosity to explore and research until I do. I am also lucky that my curiosity is supported and encouraged by my fellow colleagues. Working in a digital agency like Signal offers plenty of exciting challenges which helps keep me motivated to improve my skills.”

For more information about digital careers in Scotland visit digitalworld.net

The post Developing the digital skills to change career appeared first on Engage for Education.

National Coding Week 19th September 2016⤴

from @ Education Scotland's Learning Blog

NCW-Banner-BlueText-Scottish

How to get involved with National Coding Week

Children are part of a confident “Digital Generation” having grown up with the internet, smart phones and coding classes. However, many adults have missed out on the digital revolution and feel left behind.

“The aim of National Coding Week is to give adults the opportunity to learn some digital skills”.

Children can inspire adults

Children are learning digital skills in school or through coding clubs such as CoderDojos. We therefore would like these clubs to open their doors to parents for a one-off session in which the children will teach the adults some of the skills they have learnt.

Libraries can act as focal points

Libraries are in an ideal position to act as a focal point and can host a coding session. Either the staff can lead the session or someone who is confident and familiar with coding from the local community can share their skills. Read CILIP’s blog: Libraries — how they can improve our Digital Literacy

Schools can get involved

Children are learning coding but many parents don’t understand what their children are doing and many non-specialist teachers and governors feel they have missed out on these skills.

Web, app, creative and digital businesses can throw open their doors

Those with the expertise can share their skills and have fun teaching people the basics of coding. There are many training organisations who offer courses throughout the year. They can contribute to the week by offering taster sessions to encourage people to sign-up.

Tech Hubs

There are hundreds of tech hubs with amazing businesses working from them. The tech hubs are giving start-ups a platform from which to launch businesses and inspire others. These can be the perfect venue for the week and we would love them to be involved.

Advice:

1) Keep it simple — it might simply by showing people resources available on the Technologies Professional Learning Community  in Glow, Code.org or Barefoot Computing

2) If you are able to organise it, get a friendly local web development agency, ICT teacher or FE college tutor to lead the session.

Click here to get involved!

A micro look at microbit⤴

from @ John's World Wide Wall Display

microbit-animation

A lot of micro:bits from the BBC arrived in the centre where I work, ready to be distributed to North Lanarkshire schools. I’ve taken the opportunity to break one out and have a wee play.

The devices are aimed at secondary so outside my wheelhouse, but I could not resist a wee play.

The microbic works by creating code for it on a computer and flashing it to the device via USB (you can also use bluetooth from a mobile app). There are several different ways to create code. You can do in in the browser with severe different editors, Code Kingdom’s JavaScript, The Microsoft Block Editor, Microsoft Touch Develop or Python. I’ve had a quick try of most of these. You can also use the MU python editor that runs on Windows, OSX, Linux and Raspberry Pi.

Although I don’t really know any python I’ve found that the MU editor the most reliable. The browser based ones have been occasionally flaky, causing me to switch browsers a few times. I also like to have anything stored locally (the browser editor stores in local storage, but that means you need to either get an account sorted out or use the same browser on the same box all the time.)

There are already a nice set of resource building up, I found the Raspberry Pi and micro:bit Playground both useful.

When I was looking at the Tilty Game from the micro:bit Playground I though I might be able to make a ‘paint’ editor. This is the result. (click to start the movie, I’ve just found you can use a gif as a poster frame)

The code allows you to draw on the microbes LEDs, the left and right buttons move the cursor in a horizontal and vertical  directions and a double press toggle the lights.

And here is the code, I used hilite.me to make it look nicer. Not exactly rocket science. I expect there are better ways of doing this.

from microbit import *

Matrix = [[0 for x in range(5)] for x in range(5)]

#set initial position
x = 2
y = 2

def printmatrix():
    for x in range(5):
        for y in range(5):
            if (Matrix[x][y]):
                display.set_pixel(x, y, 6)
            else:
                display.set_pixel(x, y, 0)
    return;
            
#show cursor
display.set_pixel(x, y, 9)
 
while True:
    if button_a.is_pressed() and button_b.is_pressed():
        if (Matrix[x][y]==0):
            Matrix[x][y]=1
        else:
            Matrix[x][y]=0
        printmatrix()
        sleep(1000)
        continue
                 
    elif button_a.is_pressed():
        x = x + 1
        if (x>4):
            x=0
        printmatrix()
        display.set_pixel(x, y, 9)
    elif button_b.is_pressed():
        y = y + 1
        if (y>4):
            y=0
        printmatrix()
        display.set_pixel(x, y, 9)
    sleep(200)

The idea is we store a matrix of which lights are on. The ones turned on are shown by the printmatrix function. They are displayed at a brightness of 6 to distinguish them from the cursor, which is full beam.

The cursor is moved with the left and right buttons. it loops (I wonder if it would be better to bounce it?) Clicking the left and right buttons toggles the light on or of in the matrix. The reset button clears the screen.

I had quite a lot of fun getting this to work, the formatting of the script caught me out a few times. I wonder, if I was smarter, could I take the same approach and make a noughts and crosses app?

Featured image on this post a gif made from BBC micro:bit by Gareth Halfacree used under a Creative Commons — Attribution-ShareAlike 2.0 Generic — CC BY-SA 2.0 License.