Building a Programming Mindset
About this lesson
Video games are the starting point for Year 7 students at Parramatta Marist High to learn about coding. The focus is broader, however. Kelly Bauer, STEM and Innovation Coordinator at this school, describes some of the strategies used to promote both problem-solving and deeper engagement with digital technologies.
Year band: F-2, 3-4, 5-6, 7-8
Kelly Bauer is the STEM and Innovation Coordinator at Parramatta Marist High.
How do you build a successful coding culture, where students have a programmer’s, rather than an app-user’s mindset? At Parramatta Marist coding is taught at every year level and implemented within different subjects throughout years 7 to 10. Progressively more difficult concepts are developed throughout each level of schooling. For example, in Year 7 students program a game to solve the driving question of ‘How do video games use maths?’ This program includes a focus on iterative problem-solving, where students are encouraged to follow a modified Polya’s problem-solving process in order to encourage problem-solving ability as well as the ability to code.
‘We try to encourage a growth mindset around problem-solving. They will use this skill in everything that they do, not just in coding.’
Programming a Game
Students are first introduced to the project through an entry document to engage students in the project idea. The entry document is experiential; students are set the task of going through three different learning stations, each set up with a different programming device.
Students rotate through the following activities:
- racing an Ozobot through set activities, followed by programming their own Ozobot mazes
- using Spheros with the Tickle app to get the Sphero through a maze
- playing Geometry Dash on Scratch using a Makey Makey.
This set of experiences is designed to get students engaged in the project, and to give them enough experience to elect which technology they want to use.
The learning is scaffolded through a Google Form. Students rate their experiences, talk about what was difficult within that programming device, and select which device they want to use for the project. The students’ excitement is overwhelming, and it is interesting to note that although the students are not explicitly taught anything during the introductory set of activities, in our experience, every student comes away with a positive and successful experience of programming.
Following this entry document, students are placed into groups, based on a mix of their preferences, their previous work in the course, and their mathematics marks to ensure that the project is differentiated for different abilities. The students are then introduced to each programming language using the same geometrical context: ‘Can you get your device to draw a square?’
This introductory lesson sees students engage with the language. All students build a simple program using iteration. All students are able to succeed in this process through experiential learning. Teacher interaction comes down to helping students understand the problem by ‘stepping it out’ on the floor, or assisting them in problem-solving if their projects are not working.
We use the New Tech Network method of project-based learning (PBL) to support learning and thinking about the process. As part of the PBL process, students work out what they ‘know’ and what they ‘Need to know’, and as a class this list is developed. The teaching process is guided by this list, which is revisited and refined throughout the project. This allows students to design their game and then determine what objectives the game needs to meet. The ‘Need to know’ list now includes items such as ‘How do I create a score?’ and ‘How do I make it do something when it gets to a point?’, which leads to the concepts of variables and selection statements. This gives the students the impression that they are guiding the teaching within the project, and ensures that they are exposed to knowledge at the point where they need to know it, which allows them to apply their knowledge at the optimal point.
The project ends with students presenting their game in an exhibition to parents and the community in the school hall. In this ‘Maths in video games’ exhibition, students explain how geometry has been used to create or play the game.
Tips and Advice
Good teaching and learning practices are still required when you use coding. Although students are unlikely to be able to code Angry Birds after they first learn how to code, you can structure coding in small steps from easy to hard, differentiating for students who find it difficult. Most of all, encourage a growth mindset around problem-solving. Students will use this skill in everything that they do, not just in coding.
One common question is about whether there is time within the regular curriculum to teach coding skills. By selecting the right context, there are many opportunities to implement coding across the curriculum. Start with how the content that you are trying to teach is used in the real world, then move to how you can make this relevant to students. If you get stuck, check out A guide to coding and computational thinking across the curriculum, a NSW Education Standards Authority resource.
Parramatta Marist High is an all-boys Catholic school with a history and tradition spanning over 190 years. In 2008, Parramatta Marist High introduced project-based learning into Year 9 to cater for a new technology-rich modern learning environment. Classrooms were redesigned to cater for this technology-rich environment. See this news article Parramatta Marist High School embraces hi-tech classroom of the future for more details.