Can the same programming objectives be achieved when pupils are creating different types of programs or must a class always work towards the same goal to ensure that no one misses out on a key concept?

 

This slideshow requires JavaScript.

What I will be investigating:

I want to find out whether all pupils need to be working towards the same end-goal in programming projects in order to achieve the same programming objectives. With the current extensive media focus on girls and computing, I also wanted to investigate whether there was a difference between how girls and boys approach the same programming projects.

Background:

At the start of the year, the Year 6 pupils I taught had never previously encountered Kodu so it was a steep learning curve to move to the advanced features of integrating scoreboards (variables) and GUI input features within the games they created. Pupils worked through the basics at the start of the year, quickly getting used to the programming environment and its features. Their previous programming background was mostly using Scratch with some encountering Crumbles in an extra-curricular club so they were familiar with using a visual block-based programming language. Pupils were keen to explore the software further with many of them choosing to download it at home in order to continue developing their skills. Many others chose to attend a lunchtime club to continue using the software to complete different challenges. By the end of their initial introduction at the beginning of the year, I was sure that the pupils had a secure knowledge of the basics. They ticked off skills as they went to track their progress.

What I wanted to do:

I have previously used two different programming challenges and I was keen to find out whether one of these was more valuable than the other in terms of the skills that pupils gained. Did one develop their understanding of key concepts than the other? Did they both allow progression of skills – both computational thinking skills and programming skills? Was there a gender divide in terms of how pupils felt about the types of projects they completed?

I have previously found that pupils using Kodu can be split into two groups:

  1. Beautiful game worlds but minimal programming and poor functionality.
  2. A game world barely changed from its default but advanced programming and functionality

In the past, I have overcome these issues in three ways:

  1. Paired programming – trying to pair up one of each of these ‘types’ of pupils together.
  2. Set aside lesson time for designing worlds.
  3. Planning time for both the programming and the world design so that pupils have information written down to refer to.

I wanted to know whether it was possible to achieve the same programming objectives in different programming projects or whether all pupils needed to work on the same project in order to get the same experience and an equal exposure to new concepts. To prevent any pupils being disadvantaged, I decided to spend an equal amount of time on each of the two programming projects with the pupils before allowing them to choose which of the two they wished to focus on.

Programming Challenge 1: Mario

This slideshow requires JavaScript.

I chose this project because there are lots of opportunities to develop their skills and to use many of the more advanced features of Kodu. One of these features is that of ‘pages’ where a character is programmed to behave in a different way depending on what page of programming it is following. Changing to a new page of programming is triggered by an event, e.g. bumping an apple. The project consisted of pupils watching a walkthrough video of the Gameboy version of Super Mario Land to decompose how the game worked:

  • What happens when ‘Mario’ bumps a specific object?
  • What happens if he bumps a mushroom when he is already large?
  • When can he shoot bombs?
  • What happens when he bumps a star?

These were the kinds of questions that pupils were able to answer to get a clear idea of the mechanics of the game. Some pupils were familiar with more modern versions of this game but others hadn’t experienced it before so that meant that this initial decomposition stage was extremely important. The challenge for pupils here was to recreate a version of Super Mario where his behaviours would change depending on events:

  • Mario 1: small and red. When eats a [mushroom] object becomes:
  • Mario 2: large and red. When bumps a [flower] object becomes:
  • Mario 3: large and white. Able to shoot.

There also needed to be the ability to become invincible when bumping a star. Pupils would need to work out how to create a way to do this and to ensure that when bumped by an enemy, it would return to a different version of Mario or potentially end the game, depending on the number of lives left.

 

This slideshow requires JavaScript.

Programming Challenge 2: Aquarium

This project was based on simulation games involving virtual pets, (e.g. the 90s popular toy, Tamagotchi and Nintendogs). I wanted pupils to see that they could create characters with autonomous movement and that they could add GUI buttons to their screen that could control aspects of the game. Simulations like this also involve more functions with operators, have to make effective use of the scoreboards (variables) and include timings, including events happening at random points. I wanted to include this project because I felt there were a lot of key programming concepts that pupils would encounter and may not choose to use if not explicitly shown and directed to use in a game with a specific end-goal. Their task was to plan and make a simulation game using an octopus character in an aquarium. They had to be able to keep the octopus happy so that it would not become sick and die.

 

This slideshow requires JavaScript.

Results:

There were 50 responses from pupils who had completed the two programming challenges. 24 of these were boys and 26 were girls.

Question Boys:

 

Girls
1.       Did you prefer the Mario Project or the Aquarium project? Mario: 25%

Aquarium: 75%

Mario: 54%

Aquarium: 46%

2.       In which project did you learn more new programming skills? Mario: 50%

Aquarium: 50%

Mario: 85%

Aquarium: 15%

3.       Which was your favourite topic in Computing this year? Kodu Programming: 83% Kodu Programming: 38%
4.       Skill questionnaire: using an event to trigger an action 83% confident* 85% confident*
5.       Skill questionnaire: using pages to control the behaviour of an object/ character 100% confident* 77% confident*
6.       Skill questionnaire: using scoreboards 83% confident* 54% confident*
7.       Skill questionnaire: using scoreboards 58% confident* 38% confident*

*confidence was defined as being able to explain the concept to someone else and to implement it independently in their projects

Additional questions:

  1. Were there any specific programming concepts that you used more in Challenge 1 (Mario) than Challenge 2 (Aquarium)?
  2. Were there any specific programming concepts that you used more in Challenge 2 (Aquarium) than Challenge 1 (Mario)?
  3. How did planning your projects on paper support your programming?
  4. What is the best feature that you included in either of your projects?

Analysis

It was interesting to see that in the skills questionnaire, a higher percentage of boys than girls claimed to be confident in all but one skill. The skill that a greater number of girls than boys claimed to be confident in (using an event to trigger an action) was the easiest of the concepts they were questioned about. It was also a skill they had encountered in previous projects. Did they judge their confidence differently to boys or were boys much more capable at the higher level skills? From interactions with pupils, to generalise, it was girls who lacked confidence despite being capable of producing some well-executed games. Perhaps a scale of confidence would have been more accurate to judge.

Questions 8 and 9 produced almost entirely unanimous results: Mario used pages and Aquarium used buttons. This shows the value to including both projects. Would there be a way of integrating buttons into Mario? Pages could certainly be integrated into Aquarium. Had pupils only completed one project, they would have been disadvantaged by not experiencing either pages or GUI buttons.

Answers in Question 10 showed the value in planning with comments including:

“I made fewer mistakes made in the programming”

“I didn’t waste time when I started to program because I had planned what to do”

“By planning my game, it had features that it wouldn’t have if I hadn’t planned.”

Question 11 almost exclusively included features pupils had included in their Aquarium projects. Many of these were innovative and creative. Others had copied some of these ideas into their games as they liked the sound of them and so there were many versions of shops and mini games, and visiting octopus friends in different tanks. This demonstrated the capacity for creativity that was available to pupils in Aquarium but less so in Mario.

Reflections

Prior to the investigation, I had assumed that girls would prefer the aquarium project by a large margin. In actual fact, this was the project preferred by 75% of boys. Only 46% of girls preferred this project to the Mario project, although one girl compared the two projects: she had learnt more programming skills in the Mario project because she had focused on her coding, whereas in the aquarium project, she had focused on creating a realistic and homely feel for her octopus so that it wouldn’t feel like it was trapped in a tank. To me this showed how pupils viewed the projects differently. The Aquarium project was quite mathematical, requiring operators and many variables so potentially pupils whose maths skills were further developed found this project to be more enjoyable. On the surface, the Mario project may have felt easier to achieve objectives as it was full of clear steps that needed to be decomposed and solved to make the Mario character ‘work’ in the way he did in the original game. It was if there was one ‘correct’ answer, even if the programming required was complex and used skills none of them had previously been aware of (the pages feature).

I found that the Aquarium project provided more scope for creativity, with pupils expressing this in various ways. One pupil wanted to allow her octopus to go to the toilet and found a way to simulate this. Octopuses made friends and some had octopus babies. A number of the boys were interested in the idea of creating a shop where coins could be exchanged for items including toys and extra food. It seemed that by allowing pupils to plan what made their octopus happy/sad and providing that time to generate ideas and share them did make this the more creative project of the two. Octopuses would socialise by visiting other tanks, change colour and use expressions to symbolise their feelings. The water level would decrease and change colour if it wasn’t cleaned. The sky would change colour to indicate day and night and pupils opted to include mini games (one example of this was an octopus race track) as is expected in simulation games of this genre. Whilst pupils gained some specific programming skills in the first project (Mario), it was in the second project (Aquarium) where they applied their knowledge to achieve a more creative end. In terms of Bloom’s Taxonomy, the Aquarium project allowed pupils the opportunity to use the higher order skills.

Questions that have come out of this investigation

75% of boys preferred the Aquarium project compared to only 46% of girls. Is this related to a fear of failure? Are boys happier to try something that they may get wrong or find harder? Do girls prefer to have a project with clear end goals at each stage? Do they prefer a checklist of skills and objectives that they can work through and successfully achieve? With 85% of girls believing that they had developed more skills in the Mario project, that may well be the case.

Conclusion

I would do these projects again and I would do them in the same order: Mario then Aquarium. This allows all pupils to encounter all programming concepts and then having the opportunity to apply them. I don’t think that the Aquarium project would have been as accessible or successful had they not completed the Mario project in the way that they did – decomposition, planning and then programming. I think that as the teacher, it is necessary to have a defined set of programming objectives that will be achieved in a particular topic. Whilst some pupils may be able to choose a game that will use all of these features, that structured scaffolding of them knowing what the outcome of the game will be means that they are all moving in the same direction, pupils can provide support for others, having already encountered similar issues themselves and the teacher is able to more effectively support the pupils’ progression as they have a clear understanding of the end goal. This removes the part of the conversation where every time a pupil requiring help asks for support, they first have to explain what their project is and what their aim is.

 

 

Advertisements

2 thoughts on “Can the same programming objectives be achieved when pupils are creating different types of programs or must a class always work towards the same goal to ensure that no one misses out on a key concept?

Add yours

    1. Hi Catherine,
      Sorry I have let my blog go a bit and didn’t see your comment. The aquarium project is quite complex in terms of how far I took it for my project but there are lots of things that could be suitable for Year 4 and there would be a lot of potential for stretching those more capable. What I like about this project is that it is quite open ended. Scoring systems and the buttons would probably need to be explicitly taught if you wanted to include them but things like characters moving on paths and changing colour and showing emotions might be a good way for pupils to use features they may not be familiar with. I hope your projects go well.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a free website or blog at WordPress.com.

Up ↑

%d bloggers like this: