Computational Thinking and Geometric Reasoning – Year Seven Mathematics

Schools are increasingly being asked to integrate digital literacy across the curriculum. In this article I will share how I have used the Python language to develop my students geometric reasoning.

Before you read any further, be warned this is coding with Python 101. If you are in a High Tech High with digital technologies well established across your curriculum, then this read will not be for you. But if you are in a traditional Australian high school, and are looking for a practical way to embed digital literacy across the curriculum, then the mathematics class may be just the place to start.

In the last few years I have immersed myself in the development of integrated STEM curriculum in my school. I am passionate that digital literacy should be embedded across the curriculum, just as numeracy and literacy are. It has however been a long time since my computer science units at university and I am trying to get my head around how to best make this a part of my normal teaching practice.

When Australian Education Ministers signed up to the Melbourne Declaration on Educational Goals for Young Australians in 2008, they recognised that schooling should support the development of skills in cross-disciplinary, critical and creative thinking, problem solving and digital technologies, which are essential in all 21st century occupations. Computational thinking, logical reasoning and algorithmic processes to solve problems naturally belong in the mathematics classroom, hence creating the ideal environment to begin the integration of digital literacy in a high school. In this article I will share how I have used some free online resources to develop a series of maths lessons to develop students computational thinking.

Year 10 Mathematics, Year 11 Applications and Methods students are required to solve trigonometric problems that involve directional language and bearings. It is my experience that these have always been difficult problems for students to solve. 

The example is taken from my year 10 test on non right angle trigonometry.

Stephen runs a distance of 10km in one direction, and then turns through an angle of 25⁰ and runs for another 6km. How far is Stephen from his starting point?


While many of the students in my class could use the cosine rule, nearly all the students read the angle as interior. Students continually find directional language and bearings questions difficult and fail to draw appropriate diagrams from the instructions. As teachers we give them the follow on marks but really the deeper understandings of directional language has not been demonstrated.

The year seven mathematics curriculum requires students to develop their geometric reasoning using angles, transformations and rotations. It is with this year group that we began using computer programming with Python to develop a stronger foundation in students geometric reasoning.

Activity 1 – WHICH WAY?

Coding a computer requires the programmer to give a clear set of instructions. Our  year sevens were able to use computational thinking in their physical environment, by finding a variety of shapes on an obstacle course. With one student blind folded, students had to rely on the directions given by their partner. Using directional language of angles, rotations and bearings they moved around the basketball courts collecting their shapes.

This activity was taken from the Literacy and Numeracy Week resources. There is also a range of digital literacy resources available. Promoted across the country in September, you may want to use this as an opportunity to promote digital literacy and numeracy in your school.

Activity 2 – DESIGN A FLAG

The Python Turtle application is ideal for developing student understanding of directional language and geometric reasoning.Python is free to download and has a drawing module in it’s library called turtle that is part of the standard installation. To use it, you need only type: from turtle import *

FlagDesign a Flag is designed to give students their  first experience in programming, and has been specially developed by GROK learning for the HOUR of CODE . The HOUR of CODE is a global movement to get more students coding. In this activity students use Python’s turtle module to draw flags from around the world!

You can participate in the tutorial through GROK’s online platform, it is iPad friendly and the instructions are really easy to follow.  You can sign up for a free teacher account to access the full range of GROK learning resources. To use this application you do not need to have downloaded Python.

My HOUR of CODE activity had been chosen and I had linked it to the Year 7 Maths program. I had worked through some of the Python courses available on my free GROK teacher account. I was ready to integrate digital learning in my mathematics class…. well maybe not.

With 30 twelve year old students trying to access the internet and register an account, we didn’t get very far in our hour of code. Determined I  could get my year sevens coding in Python. I decided I would go offline and use Python idle directly.  Ask your I.T department to upload Python to your school computers.

Coding with Python is not suitable for iPads.

So I snipped the Hour of Code lesson into a Word document that I could hand out to students. I hope I don’t get myself in trouble for this admission but as the one hour lesson was written as a free resource, I think I am safe with this admission. In the document students were given explicit instructions how to open a new Python file and how to write code to draw particular flags. You will find the student copy in the resources at the end of this page.

Students worked in pairs on their programs and completed the task by designing their own flag. The year seven students loved designing their flags in Python and all students had a level of success in their journey. While not all students are going to go on to be computer programmers, all students can be given an opportunity to develop simple programs.  Mathematicians use computer programs to solve problems, a deeper understanding of mathematics can be attained by embracing the technology.

Coding doesn’t have to be a solo activity, let your students work in pairs

Will using Python turtle improve the geometric reasoning of these students in future years? Only time will tell, but I love the the self regulated nature of using turtle,  and the programming activity required them to think of exterior and rotational angles in a much more practical way.

Will John Curtin College continue to develop activities that incorporate Python in their maths classes?  Most certainly…one of my year 8 students pointed out to me why does his math teacher use a Venn Diagram when he can just write a quick piece of code to sort the data? We have only just begun this journey with our year sevens, it is exciting to think where we may be five years from now. Watch this space as I share other applications of digital technologies in maths. I would also love to hear how other high schools are using Python across the curriculum.

Will we be ready when the primary school STEM gen get to High School? I hope so, it is a more difficult task for secondary teachers to start a cross-disciplinary approach but it can be done in the system we have.

Change occurs slowly, teacher by teacher, conversation by conversation.

“The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking” Albert Einstein



obstacle-course_2017            Flags with Turtle DT Activity

Author: steamdonnab

Mathematics teacher in a secondary school of the Arts. Passionate about STEAM learning and finding real ways to make it work in the classroom

Leave a Reply

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

You are commenting using your 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