RSS

Category Archives: Coding For Kids

Creating Flash Games – Communities Of Practice in the Classroom

We are so used to hearing bad news about the state of education and teaching, but teachers can make a difference, and it is important to remember this. My youngest son takes piano, and in the last concert he messed up his piece. It has been playing on his mind, and as this term’s concert approaches, he has become more and more nervous about it. His piano teacher has been working with him to try to get him into the habit of carrying on playing, instead of stopping when he makes a mistake. He came back from his last piano lesson very upset. His teacher had shouted at him for stopping! His teacher also gave him a poem to read about perseverance and fortitude. In the days that followed he resolutely sat at the piano practising not stopping! He may mess up again – the concert is next week, I don’t know, but what has impressed me as a parent is the patience and fortitude of his teacher in getting him to the point where he is a great deal more resilient, and now appears to have a level of confidence about his ability to face up to his hoodoo!

flash gameAt the moment I am very aware of the tendency many students have to give up when the task becomes difficult. Most of my grade 10 students are in the process of finishing off Flash games they have been designing, and this year most groups have been far more adventurous and ambitious than usual! This has meant that instead of using core skills taught in class to construct their games, they have downloaded tutorials off the Internet and included coding well beyond their understanding, and, I hasten to add, mine!

While this is fantastic and students have really stretched themselves, and learned a great deal in the process, it has placed many under stress and led many to want to give up, often a mere semi-colon away from working code!

Common problems included not being able to convert code written up in Action Script 2 tutorials to Action Script 3, not being able to edit code copied from tutorials to different purposes,and simply being very over-ambitious. I have had to spend many afternoons with students trying to help them adapt their code, searching the Internet for solutions and scouring Adobe manuals to find out exactly what a gradient box is anyway! It must be remembered that this was a general class, not a programming class.

The fact that I did not know how to solve many of these problems without searching the Internet, that I was in many ways learning alongside students was for me, a great experience, and a window into the kind of communities of practice that I would love to set up in my classrooms, but which is often elusive because I do know the answers already. It becomes too easy just to tell students what they need to do rather than work alongside them.

flash 2Teaching students to code is an obvious place where communities of practice can be very effective. Where one group had solved a coding issue in their Flash games, I asked them to help out another group with similar problems. This model worked quite well – because students were quite good at explaining things to each other, and it took the pressure off me when I needed to put in some solid research over some knotty problem.

As an English teacher I try to turn my writing classes into communities of practice, and I always write alongside students when thy are doing an exercise. I share my thought processes as a writer and show them that I also have some good results, and some duds when I write, that I also find it hard,  that I often also get stuck, and change my mind about what I want to do. I ask for their opinion about a word choice or as for an idea, and I hope this helps encourage students to see that learning a skill is an ongoing process, and that you need to be persistent, and have confidence that you can find solutions, and it’s OK to start without knowing all the answers.

But most of all it teaches persistence. When you are alone it is often tempting to give up. But working in groups and seeing that no-one is giving up, helps to keep going. Or, when it comes to the piano, having a teacher shout at you, is often necessary!

Advertisements
 

Bring Your Own Brain

code clubHackerspaces have a great deal to teach us about learning in general, and collaborative learning in particular. A hackerspace is a meeting space where people can come together and share their resources to create things. You literally Bring Your Own Brain and pool ideas and know-how to bring projects to life.

I have tried to use this idea when setting up a Code Club at school. Students have very busy schedules, and finding common time is virtually impossible, so I tried to create a virtual hackerspace on the school Moodle platform to set the club up. The idea is quite simple, on the Moodle page students will find links to coding tutorials on sites such as Codecademy and projects which they can work on collaboratively. If they need to learn JavaScript to complete a project, they will find the resources to do so. The club is open to all students and staff, and seeks to create a community of practice aiming at fostering collaborative learning based on problem-based challenges and projects.

I hope to be able to draw in parents as well, and mentors with an interest in fostering coding amongst girls.

The club is in its infancy, but already the enthusiasm is palpable, with interest both from staff and students.

 

Learn To Code in an Hour

DSC00175

I was fortunate enough to be able to have the Decoded Team visit the school and give a one hour workshop, which took 10 grade 9 girls from Roedean and 10 boys from St John’s on a whirlwind tour of learning to code.

They started by getting the students to follow an algorithm, got them to negotiate the Blockly Maze and then hacked the school website (in the local tab at any rate). They ended up by getting the students to design a quick website using JSFiddle deploying HTML, CSS and some JavaScript!

Not bad for an hour!

DSC00171Students were greatly excited, especially when they “hacked” CNN! They also learned a great deal, I think, about their own ability to create something worthwhile in a very short space of time. Most of this group had previously done some JavaScript in my class (creating a quiz), but the buzz they seemed to get from hacking a website was something quite special – and a clear lesson, for me at any rate, in how to engage students. It’s a trick I will certainly copy!

Important as I believe learning to code is, for me the main aim should be to embed coding within the curriculum. Kids should be coding in Maths, coding in Geography, coding in English! Not just in their IT lessons. While Maths teachers will probably immediately see applications, I’m sure that not many English teachers are reading this right now, and sitting up and crying “Eureka!” So I’d better explain myself!

With  a few skills students can easily create applications that are fun and challenging to make, but can deal with any content area. You can create quizzes, for example around any subject content, be it Science, Literature or History. You can create drag and drop flash games about parts of the body or French vocabulary! You can create mobile apps, webpages, or games dealing with anything under the sun.

I’m not suggesting that every lesson needs to involve creating games or coding, but I am suggesting that we should be seeing a great deal more of this sort of thing across the curriculum. I believe it would help students take ownership of their own learning, and help build their sense of mastery at being able to manipulate content in meaningful ways instead of passively consuming content.

We need to start hacking the curriculum, and taking ownership of it in ways that engage our full creativity and power to make meaning.

 
5 Comments

Posted by on October 4, 2013 in Coding For Kids, Pedagogy

 

Scratch IT!

sratchOne of the questions I ask myself every year is what kind of introduction to coding I can usefully give my grade 8 and 9 students. I have used both JavaScript and ActionScript at various times. This week the IT teacher taught my class to use Scratch, and the students produced a simple Pong style game in an hour lesson. The motivation behind this guest appearance was the desire to grow the number of students electing to take IT as a subject to Matric. Scratch is a free program which uses a visual interface to set up conditionals, loops and all those programming things that depend on pesky indents or braces in programming languages such as Java, very off-putting for students! The results are displayed in a preview window, and do not require compiling! Again, a big plus for beginners.

There is a huge debate amongst IT teachers about the usefulness of Scratch as an introduction to programming, many seeing it as a waste of time they could be using to get straight into Java. Others praise it!

I watched the lesson from the back of the classroom, and was impressed by what I saw: students engaged in creating the game and exploring the application beyond the instructions given. Coding games, is, I believe the way to go. No-one really wants to code tax return programs, and games tend to provide an enormous sense of satisfaction. Gosh – did I do that!?

Snapshot 1 (2013-07-12 12-58 PM)I used Scratch for he first time last year as part of an online course on Edx.org and found it tremendous fun. I am not sure about how it stacks up as a tool for programming students, but for a general class, with no interest in programming, it really seemed to old their attention, and the results were pretty good.

I believe all students should have some exposure to programming. We live in a world were coding is embedded in the very air we breathe and it is extremely dangerous to allow a situation where we become dependent as a species on something we cannot at the very least tweak! I also think it helps develop thinking skills. There is something precise and unforgiving about computer programming. It permits no margin for woolliness and demands the highest standards of precision and accuracy from students. Gratification is delayed, and I believe this is also a very useful lesson students sometimes don’t learn often enough in this day and age! It teaches the value of persistence as well, and, again, students tend to give up far too easily when tasks become difficult.

On this exposure to Scratch, I have to say that it seems about the best introduction to programming for a general class that I have come across.

 
 

Teaching Kids To Hack!

Ever since Google CEO Eric Schmidt’s speech last year in which he foregrounded the need for more computer programming in schools, there has been a mushrooming of initiatives around coding for kids. As an ICT Teacher, this is something I have thought long and hard about over the years.

Back in the 1990s I used Logo quite a bit, and it was fun, but both the students, and I found it limiting. So I started introducing JavaScript. Because it works in the browser, and you do not need a compiler, students can start coding right away. I start with a little html and then jump in with some JavaScript, getting my students to code a simple web page calculator which inputs two numbers and then adds, subtracts, multiples and divides the numbers. I use tutorialised content and whole-class, step-by-step instruction. Bearing in mind that this is a general class, not students taking IT as a subject, this is sometimes too much for a few students, and they struggle to complete even this, heavily guided task.

I then ask the students to use what they have learned to design a more complicated calculator, such as a web page which can do multiple conversions: such as kilometers to miles, kilograms to pounds, and so on, or to engage in their own project. A significant group of students clearly relishes this challenge, and every web page greets one with fun applications such as personalised greetings, web pages that change background colour depending on one’s favourite colour, and so on.

I think JavaScript works quite well as a general introduction to programming. It is relatively easy to learn, has a great deal of support and tutorialised content on the Internet, such as Codecademy so students can take it further and doesn’t need compilers which need to be configured. It also allows students to learn enough to be able to tweak downloadable JavaScript code for their websites.

You will lose a certain number of students with JavaScript, however, because it is not visual, and requires accuracy and debugging. It is very dry to learn. For any students who start switching off, it is important to give enough help and support to enable them to at least complete a simple project, and give plenty of opportunity to add visual elements using the design view of programs like Dreamweaver. For this reason I get students to do their JavaScript coding in the code tab of Dreamweaver. This seems to work well.

 
Leave a comment

Posted by on July 21, 2012 in Coding For Kids, JavaScript

 
 
%d bloggers like this: