Skip to main content

Daniel Stucke

Fizz Buzz Scratch

2 min read

The title sounds like a nasty affliction - but I actually want to describe a great lesson!

I was looking for a nice challenge for my Year 9 Computing class to continue developing their understanding of variables, if statements and loops - ideally moving on to nested statements and loops.

As ever Twitter came to the rescue when politely asked.

http://storify.com/danielstucke/intro-programming-tasks.js

FizzBuzz was a great idea, having already built a program myself this year on Codecademy I knew it could step nicely through the required skills and work fine in Scratch.

I decided to break this into 4 challenges so that I could scaffold the learning a little for the group, their challenge was to :

  1. Build a program that asked for an input number and then either repeated the number or said ‘Fizz’ if it was a multiple of 3.
  2. Extend so that multiples of 5 reply 'Buzz’.
  3. Extend so that multiples of 3 and 5 return 'FizzBuzz!’
  4. Change program so that rather than returning just one value it counts up from 1 to a user inputted number.

This turned out to work really well - particularly part 3. Students tended to duplicate code and check sequentially for the different multiples. Meaning that an entry of 15 would often output all three responses. When I pushed students to adapt their program to return just 'FizzBuzz’ in this case they began to think in depth about how their If then Else statements worked and to experiment with nesting the statements. Finally part for introduced loops to their previous work.

By then end students had a great understanding of how and why you would nest statements and a much better idea of when a program would cease based on a True If statement and when it would continue.

Here’s an example of a finished Scratch program:

Fizz Buzz Scratch Code

Next steps for this class are to do this all again but with some real code this time. We’re going to work through the Javascript Fundamentals course on www.codecademy.com and tackle the Fizz Buzz challenge there. That will pretty much wrap up their taster of GCSE Computing - hopefully it’ll have some of them hooked and they’ll choose to take the course in Year 10.

Daniel Stucke

Computing meet Maths meet Scratch, Maths meet Scratch meet Computing

3 min read

I have the pleasure of teaching two great Year 9 classes this year. One is a fabulous Maths group that I have taught for the past two years, another is an ICT taster class (we have brought taster options into Year 9 this year, allowing students to get a taster of KS4 courses - this group is doing a few months of Computing and a few months of Creative iMedia).

To introduce the concepts of variables, if statements and loops in the Computing class we’ve been working with Scratch. We already use Scratch in Y7/8 to cover some of the control aspects of the old curriculum. This normally takes the form of a simple maze game. 

Being the Mathematician that I am some simple Maths challenges seemed like a good place to start. We’ve created a times table machine that lists the first 10 numbers in any times table and a host of other challenges that a colleague of mine wrote.

This week I set them the challenge of writing a program that found all the factors of a number. This used the mod function to check for a remainder when dividing, a loop an if statement and a list (Scratch’s 1 dimensional array) to store the answers in.

Here’s an example of what this looked like:

Scratch Factors Program

This worked so well I realised that this was a great way to teach Maths too! Coming up with a solution to this problem really gets to the bottom of what a factor is and how you can calculate it.

With this in mind I took advantage of a double lesson with my Maths group to very quickly teach them the basics that we’d covered in Computing and set them the same challenge. We also then moved onto checking whether the number was a prime (by checking the number of factors in the final list, if = 2 then it’s a prime). We left the class discussing whether it would be possible to make Scratch calculate the Highest Common Factor of two inputs. I wasn’t sure if it was up to it, but a little work at home and I’ve managed to make it work: 

Scratch Highest Common Factor Program

I was pretty proud of myself. I plan to set this little challenge to the class this week as a homework and see if anyone can come up with a solution. It’s probably more of a programming challenge than a Maths challenge but either way I think it’s a great little challenge and I’m continually impressed with the flexibility and scope of Scratch.

I’m particularly excited to see what Scratch 2.0 has in store for us.

I’ve used Scratch years ago as a LOGO replacement in Maths too, writing a program to draw regular polygons is a great challenge to develop an understanding of internal/external angles.

With this in mind I’m planning to teach at least one topic each half term this year using Scratch with my Maths class.

As for the Computing group, next challenge was a game of FizzBuzz, more on that in a future post.

If you’d like to download and play with the Scratch programs mentioned then click to download:

Factors Tables CommonFactors

What Maths have you taught via programming tasks? Ideas and examples would be most welcome in the comments!

Daniel Stucke

BBC Micro 2.0 #ictcurric

4 min read

I attended Alan O'Donohoe’s excellent Hack To The Future event at Our Lady’s High School in Preston on Saturday with 13 of our students, many of whom are on our GCSE Computing course.

There were many highlights, in particular I should mention Freaky Clown and his tales of a hacker turned good. I won’t repeat his story of hacking a whole country in 7 seconds as that would be bad form, but safe to say it was engrossing stuff and our pupils were intrigued by his story.

I spent a good portion of the day talking with the team from the BBC who were there with their pre-alpha software that was the much rumoured and discussed BBC Micro 2.0. I’ve written about this previously when Keri Facer put out her call for a response on the topic.

BBC Micro 1.0

I felt a tad smug as my guess that a 2012 BBC Micro project should take the form of a software only programming environment, hopefully outputing HTML5 results, turned out to be pretty close to the mark. Parmy Brar has been the lead developer on the project and kindly talked me through some of his work so far. They have taken Eclipse (something I’d not come across before) and forked it to begin creating a simplified programming environment for children. Programming could be done in HTML or Javascript and the package was being developed to be as forgiving as possible for the amateur coder. In it’s basic mode there are 3 panels, one for coding, a browser to output the code and the final one a project file explorer. As well as outputting complete HTML5 websites, the team have an Android App output that was in semi-working form, and eventually will be looking at iOS output.

Integral to the project are built in lessons that talk you through the basics of programming different projects (akin to taking a course on CodeCademy). Parmy talked me through the back end to this area where he is creating a tool that will allow anybody to create their own help file / course for others to use. If this project is really going to take off this will be crucial as they look to build a large community around the environment. Michael Sparks had put together some exercises for the young learners to have a go at for the day and I saw kids ranging from about 8 to 16 all enjoying their first stabs at programming. Response from teachers seemed a little mixed, I saw many who were as excited as me but I also heard some discussing what was one show as scary looking (these were Heads of ICT!). I think this shows what a long way we’ve got to go on the rebirth of computing in schools and in particular the huge skills gap that we have to overcome. Projects such as this are going to be crucial in skilling up the teachers as much as the learners.

My coding experience starts with BASIC on ZX Spectrums & BBC Micros, takes in a tiny bit of Visual Basic and then stops. My experience of the past month or two with CodeYear do suggest to me that Javascript seems like a great choice of language for us to teach in schools. I discussed this with a few of the BBC team and they were all big proponents of the language, pointing out that it is now ubiquitous across the world and that almost everyone has a device that can and does read it on a daily basis.

More details about the extended BBC Hello World Project should be up at http://www.bbchelloworld.co.uk/ soon (it was online this morning but has disappeared again at the time of writing). I’m excited to see how this one develops.

Daniel Stucke

Bravo Mr Gove #schoolstech #ictcurric

4 min read

Unless you’ve been living under a rock today I’m assuming you’ll have seen some excitable headlines followed by a more detailed speech about the future of technology in education in the UK and in particular the future of the subject of ICT.

In a nutshell Mr Gove has scrapped the ICT curriculum, whilst keeping ICT in the curriculum. Confused? Don’t be. We can now effectively teach whatever we want. There will be a consultation, and there will hopefully be new ‘Computer Science’ qualifications in the pipeline. Mr Gove has listened to the calls of industry and responded with startling ruthlessness.

I’m delighted that my school is in a great position to make the most of these changes (in fact we won’t have many changes). We acted on the NextGen report when it came out last year and have a Y10 group working on the OCR Computing GCSE that I suspect Gove was alluding to in his speech. (Some of our other decisions back then with regards to Creative iMedia & MOS might not prove so long serving).

I never thought I’d say the words, but bravo Mr Gove!

The ICT programme of study was dull and out of date in places, and there is a lot of poor ICT teaching across the country. There is also a wealth of incredible teaching by teachers who have ignored / bent / destroyed the current program of study to their needs. Gove’s decision today means they are free to do so without worry of Ofsted and co castigating them for doing so. There is of course a danger that specific ICT lessons will dwindle in number further with this move. Integrating the skills across the curriculum is key, but we still need specialist teachers delivering these skills with panache if we are to really generate the next generation of talented, creative, coders.

The move to include more Computing / Programming / Computer Science has been much debated of late. It needs to be optional at KS4 but I’m in full support of this. Well qualified & skilled teachers to deliver this will be an issue.

It’s an exciting time to be involved in ICT. It’ll be interesting to see if we really do make it through the next few years without being told what to teach. And it will be interesting to see what qualifications become available at KS4 for us to work towards (and in turn what skills they focus us upon). This is a great chance to continue some of the great work that has gone on with and other endeavours to start putting together a set of core skills and competencies for Digital Literacy & ICT.

A particularly exciting thought crossed my mind when reading the full transcript of the speech. As the programme of study goes, so do the assessment levels and criteria. There will be nothing to say what a Level 5 in ICT is. So how about we scrap levels? What does achieving a Level 5 in ICT really mean? And who understands it? I’d suggest that half the students in KS3 don’t know, no teacher outside of the subject would know, and very few parents would know. Could we put together a simple list of core skills and competencies and measure learner’s progression in each of these. Something akin to APP lite, maybe with a Mozilla Badge system to award and recognise mastery and application of these skills? I suspect that National Curriculum levels will be phased out across the board over coming years, so this could be a great opportunity to put together something far more meaningful. I’d be much happier with my Maths teaching hat on if I could look at my learners records and see who has a Silver Award in Spreadsheets, or a Bronze Award in Scratch Programming, it would be far more meaningful to me and make planning the integration of ICT skills into that subject far easier.

So. Bravo Mr Gove. I may disagree with you a lot of the time, but you’ve been bold today and deserve respect for it. Join in the conversation that has been started today using the hashtag and at the website http://schoolstech.org.uk/. And welcome to the brave new world, when the National Curriculum review finally kicks into action don’t be surprised to see other subjects head in a similar direction.

Daniel Stucke

FizzBuzz CodeYear Fun #schoolstech

3 min read

With todays announcement from Mr Gove it seems a good point to reflect on my first steps on a year long coding journey. I spent my Tuesday evening completing the first week of lessons on the brilliant CodeYear. It took me about an hour and a half and was a great little introduction to Javascript. First week covers defining variables, basic arithmetic, and moves on to if/then/else/while statements.

It’s an interesting learning model, there are hints at each stage and I didn’t find myself stuck on too many occasions. If you teach ICT or Maths then I’d thoroughly recommend you take a look at it. It was quite a challenge and I’ll be interested to see how far students could get without a teacher to help them. If they do get stuck, some good Googling skills would help them find a way forward pretty quickly. It’s not a replacement for a skilled teacher thought, but that’s a conversation for another post!

The final bonus challenge is to write a FizzBuzz program that writes out a set of consecutive numbers, but replaces multiples of 3 with “Fizz” and multiple of 5 with “Buzz” and of course, multiples of both with “FizzBuzz”. It’s a great little challenge that the Maths teacher in me loved!

I’ve been encouraging staff and students at school to join me on this journey so it’ll be interesting to see how many are up for the challenge.

Here’s my final FizzBuzz code in case you’re interested or stuck:

// Ask user how far we should Fizz Buzz for
var Total = prompt("How far shall we fizz buzz?");

// for the numbers 1 through to Total,
for (i=1; i<=Total; i++) { 

  // if the number is divisible by 3, write "Fizz"
  if ( i % 3 === 0 ) { 
    // unless the number is also divisible by 5, then write "FizzBuzz"
    if ( i % 5 === 0 ) {
    console.log("FizzBuzz");
    }
      else 
        console.log("Fizz");
  }

  // if the number is divisible by 5, write "Buzz"
  else if (i % 5 === 0 ){
    console.log("Buzz");
  }

  // otherwise, write just the number
  else {
    console.log(i);
  }
}

Has anyone written this in a neater, purer way? I’d love to see it if you have.

EDIT:

I have to include this, a solution in a tweet by Martyn Colliver:

http://www.clipboard.com/embed/LQt10-weqBP1W3iRMmcAtE_4JDm1GAT1OOme?widthAdjust=0&heightAdjust=0&sho...