Code4Kids – Building a Simple Scratch Game

I had the pleasure this week to be a guest on Code4Kids, a webinar series with Kelly Moore. Kelly is a teacher and tech coach in Melbourne, and she asked if I’d come on the show and talk about the use of Scratch to help teach computational thinking and coding. Well, you might know I’m a bit of a Scratch fanboy so I didn’t take too much convincing!

Rather than just talk about theory stuff, we actually created a classic but simple guessing game in Scratch during the live show.  I thought this was a good example because it uses quite a few fundamental programming constructs such as sequencing, looping and branching, etc. It also makes good use of Boolean comparisons, if-then decisions, and reassignment of variables. Throw in some simple maths like random number generation, greater than and less than operators, and it’s the start of some simple yet sophisticated Scratch coding.

It was nice to get some comments from the livestream viewers that they learned something from watching.

If you’d like to check out Kelly’s channel and her other videos, head on over to her Code4Kids playlist

And if you’d like to check your own Scratch skills, you can take the 15 question Scratch Quiz I mention at the end of the video… just head to bit.ly/scratchquiz and take the quiz… your results will be emailed to you immediately thanks to Google Forms and Flubaroo!

Reflecting on Coding

I was at the ACEC Conference in Adelaide recently where I bumped into the ABC Splash team and got chatting with the wonderful Annabel Astbury. We were talking about getting kids coding and the importance of digital technologies in schools. One thing led to another and I was given an opportunity to write a series of three blog posts on the importance of coding for children as part of ABC Splash’s buildup to the Hour of Code.

If you’d like to read them you can find them here…

As well as these three written posts I was also interviewed for a video series on the importance of coding, which was released as part of the Hour of Code promotions.

Thanks to Annabel and the team for the opportunity to contribute to what I think is a very important conversation to have. Our currently education minister has exhibited a good deal of short-sightedness in regard to the importance of technology education in Australian schools, with many people believing that the recent curriculum review has taken a backwards step in the way digital technologies is approached in the national curriculum. Let’s hope if we keep the conversation going that we can keep this agenda on the table, for the good of our kids and the future of Australia as a technologically relevant country.

Where’s the Coding?

The following press release  was written by Dr Jason Zagami, president of the ACCE, in response to the recent review of the Australian Curriculum. This review, undertaken by Ken Wiltshire and Kevin Donnelly on behalf of the Liberal government makes a number of recommendations that are hard to understand in their inconsistency and lack of vision.

Here is Jason’s press release. Please spread it around.

For immediate release

Australian Council for Computers in Education has deep concerns with inconsistent support for school computing in the government’s response to the Review of the Australian Curriculum

ACCE has considered the Review of the Australian Curriculum Report and Supplementary Material, and is deeply concerned by some of the recommendations being considered by the government in the Initial Australian Government Response.

While ACCE acknowledges concern about a perceived overcrowding of the primary curriculum, there are many ways to address this other than a return to 19th and 20th Century curriculum priorities. It is an opportunity to refocus the curriculum on the 21st Century and to acknowledge ways in which subjects can be taught together in the primary years. This interdisciplinary collaboration in industry has stimulated many of the great innovations we now enjoy in modern society.

The USA and UK have identified the teaching of the computing discipline as a national priority. It would be a threat to Australia’s economic future if Australian students are excluded from being able to fully contribute to such innovations by a curriculum that limits their learning about digital technologies to a comparably superficial treatment in the senior years of schooling. Students in other countries will be advantaged by a developmental curriculum throughout their schooling. We do not expect students studying mathematics or science to start their studies in upper secondary for the same good reasons.

It is perplexing that the lack of support for computing as a discipline in the report is inconsistent with the Australian Government’s recognition of the importance of Science, Technology, Engineering and Mathematics (STEM). ACCE was encouraged by the government’s investment of 12 million dollars in the Restoring the focus on STEM in schools initiative that includes “the introduction of computer coding across different year levels in Australian schools leading to greater exposure to computational thinking, and, ultimately, expanding the pool of ICT-skilled workers.” ACCE is subsequently dismayed that this is not reflected in the proposed curriculum models.

For Australia to have a world class, 21st Century curriculum, students should have the opportunity to engage in meaningful ways with how they can develop digital solutions that improve their lives and solve problems that increase in complexity over time. This is necessary to develop students’ capacity to creatively develop digital solutions, and in doing so, enable them with the ability to make considered study and career choices that involve the many facets of digital technologies, be they in information technology, science, the media, service, construction, medicine, arts, entertainment, law, teaching, politics, or other careers.

ACCE maintains that the teaching of computing as a discipline should be a core subject in any modern curriculum. Unfortunately, that view was not expressed in the report. Curiously, this view was expressed by the report subject matter specialist in the supplementary material. Of the two models presented in the report, the one proposed by Dr. Donnelly includes study of Digital Technologies only as an option for educational authorities in the states and territories. Such an approach loses much of the value of an Australian curriculum to further national goals. However, this is preferable to a mandated limiting of the study of the computing discipline to just the upper years of schooling as proposed by Professor Wiltshire. ACCE reiterates the need for Digital Technologies to be included as a core subject to some degree at all levels of schooling to enable a developmental approach to the discipline.

ACCE strongly recommends the government consults more widely with industry and professional groups such as the Australian Council for Computers in Education (ACCE), Australian Computer Society (ACS), Australian Information Industries Association (AIIA), and Digital Careers, and relevant government departments, to resolve how Digital Technologies can be included as a core subject in a 21st Century Australian Curriculum.

Dr Jason Zagami
President of the Australian Council for Computers in Education (ACCE)
j.zagami@griffith.edu.au 0755528454

The Australian Council for Computers in Education (ACCE) is the national professional education body for the teaching of computing in Australian schools. It comprises representatives from all state and territory associations and the Australian Computer Society (ACS).

Coding for Kids

While not every student might want to write their own software, understanding the big ideas of coding is a skill that all students would benefit from, even the very young ones. Understanding the key ideas of computational thinking – identifying patterns, thinking algorithmically, manipulating data, solving real problems, etc – is an important step in helping our students build mastery over their world.

This presentation aims to take you on a guided tour through some of the resources available to your students to help them learn the principles of creating code.  It starts by looking at a range of desktop and mobile apps suitable for teaching very young students to program, right through to tools and websites that can help your older students learn to hack code, and much more.

If you do actually try any of this stuff out, I’d love to hear your thoughts in the comments below.

PS: This is my fourth contribution to the K12 Online Conference, and I think it’s a great format for an online event. I like how it drip feeds out a bunch of presentations over a 2 week period online, but continues to make them available as a permanent archive. There is quite a collection of presentations in there now. Check them out!

Should Students Learn to Write HTML Code?

I saw an email from someone today suggesting that they would be starting next term to teach their students to write HTML code from scratch, so the kids could make their own webpages. My initial reaction when I read this message was to ask “Why?” Why would anyone bother to learn HTML coding from scratch when there are so many great editing tools around? Surely, in a WYSIWYG world, learning how to to actually write HTML code is a complete waste of time? With so many great web editing tools around, isn’t learning to write raw HTML code a pointless exercise?

In once sense, these are valid questions. There’s no doubt that the majority of websites these days are created using a templated approach and an “engine” such as WordPress, Drupal, Joomla, Squarespace, etc. It’s also true that for any really customised web work, it would still fall to a workhorse like Adobe Dreamweaver or something else, such as excellent free tools like KompoZer or NVU editor.

However, on reflection, I think there is a great deal to be said for being able to understand basic HTML code. Take using Moodle as an example… as much as I would like to tell my teachers at school that Moodle has a wonderful WYSIWYG editor, and that it will automatically format all the text and images for you just by cllicking on the little buttons in the editing bar, the fact remains that I still find myself hitting the little <> button on the Moodle editor bar to dive into HTML code on an almost daily basis just to fix little quirky things that are going on.

It’s also true that, although you can use the buttons on the editor to align text to the left or right (which in HTML, behaves quite differently to how it behaves in, say, Word) knowing a little bit about what those buttons are actually doing on a code-level makes it much easier to predict how things will actually look. Being able to manually write a link to a URL, being able to strip out some rogue heading level text, fixing paragraphs that have gone askew because of a stray tag, and so on… these are all things that I find myself doing fairly regularly, even WITH access to fancy WYSIWYG editing tools. I taught myself the basics of writing HTML nearly 15 years ago now (well, to be completely honest, one of my students taught me!) and I can’t even begin to tell you how handy it has been and how often I have used that knowledge. Although I would like to think that we are living in a world where it SHOULD be completely unnecessary to know how to write HTML source code, the truth is that over the years it’s proven itself to be a damn handy skill!

Even being able to use the provided code to put an YouTube video or a Google Map into a wiki or blog, for example… sure, you CAN do it without having the slightest idea of how it all works, but if you want to make a minor adjustment such as changing the width or height of the frame, just being unintimidated by the code makes a big difference to your general level of technological fluency.

I’m not saying that everyone should be able to write heavy-duty CSS code or be able to create complicated PHP script, but HTML is dead simple… and for the number of times I find myself rescuing a page because of a relatively simple adjustment to the underlying code… I gotta say, I can’t think of anyone who would not benefit from knowing the basics.

So, should this teacher spend time teaching his kids to code? Some may disagree, but I say yes. My advice would be to teach kids to write a fairly simple webpage. They should know the core structure of html, head and body. They should understand heading levels (and depending on the age of the students, how these can be tied to style sheets). They should know how to manually write (or at least understand) the code for a hyperlink, for an image, and for an embed. It’s good to know these basics. I guarantee you those kids will find them useful at some point in their future.

For the majority of your students, that’s probably all they need to know. Then, once they have a grip on the basics, switch over to a decent visual editor like Dreamweaver or similar… some tool that lets them switch back and forth between code view and output view. Output view will make SO much more sense once they see the relationship between code and output!

And who knows, just that small exposure to the underlying code could make all the difference to that one kid in your class. It could open them up to a whole world of coding and being interested in what really makes a computer tick. In this WYSIWYG world, God knows we need more kids like that!

And if nothing else, you’ll at least understand why the picture that goes with this post is so funny! 🙂

What about you?  Do you think teaching kids to understand HTML is a useful skill, or a waste of time?

Image: ‘html tag italicized
http://www.flickr.com/photos/30127486@N00/346483297