Skip to main content

23 February 2023

Code{;ish} Introducing Tax with Algorithms

Adrienne Tough profile image
Written by

Adrienne Tough

After reading this blog on inclusivity:, ‘Harness the interests of your students in projects and examples, and ensure they are relevant and meaningful’, particularly stuck with me and prompted by reflections on one of my most successful computing lesson[s].

In a previous school I worked in we would have drop down days to provide wider curricular opportunities. I had year ten computer science students and we could use this time to enhance/catch up curriculum or provide topics outside of the curriculum. So, I of course I did both!

After introducing careers and finishing up some odd lesson bits and pieces, I decided to introduce tax. Why? Because students have complained several times about how they don’t learn useful things in school. A student the previous week asked why they weren’t taught about mortgages or tax or the ‘useful stuff’. When I said I would try to incorporate it, he genuinely seemed excited and then their friend from another class asked if they could have the same lesson. Hence, this seeming the perfect opportunity. However, the lesson with a bit of adjustments (e.g. setting the video for homework), could easily be used in normal lesson time.

The lesson:

To begin students were shown a student friendly video on Tax: I learnt some new facts too! (I had no idea about the window tax).

They were then shown the thresholds for each tax bracket and was tasked to create an algorithm to ask a user their salary and then tell them which tax bracket they fell in. They were also reminded that discussing salaries can be controversial and we had a short debate about the ethics of salary discussion.

This was a great opportunity to explain that earning more money does not mean you get paid less overall. It quickly became obvious that this was a big misconception with comments like: "I don't want to earn about 45K then' or 'If I earn too much I'll lose half on tax!'.

Students took a while to grasp that the 40% tax would only apply to the amount above the threshold.  So for ease I modelled a couple of examples of salaries and what the tax would be. We also had a conversation about personal allowance as this was a new concept that seemed to blow their mind too. Students were really interested in this and it then prompted conversations about university fees/loans, which I said we’d return to at a later date (although, I realise now I never fulfilled that ☹ ).

After the flowchart they worked in pairs to apply this to a program. Now my students are/were not confident programmers. But they all eagerly logged on and worked on the program. Having a real world application they could relate to really stuck with them. It was also very useful for me from a computing perspective to help develop their coding skills (e.g. did you repeat the variable in the if statement, should it be an elif or an if) and because they were invested in the outcome they seemed much more attentive to my inputs.

I had a couple of students create the program successfully fairly quickly. They then helped other students complete or attempted challenge tasks - e.g. working out the amount they would be taxed on their salary, breaking down the amount that would be taxed at 20%, 40% etc. I took screenshots of the most detailed code to share in our newsletter.

What was so lovely about this session was (in addition to the development of their programming skills) the wider impact this seemed to have. Students not in the session came up to me discuss what they’d been taught by the pupils in my class (with a few complaining it was unfair they didn’t get taught it); when on duty I overheard some students discussing tax on the playground; a student the next day proudly told me that they explained tax to their mum who didn’t really understand it properly; and when the newsletter came out a parent called to thank me because their son was so proud of his tax algorithm and how he could understand how it worked.

So if you have time or are stuck on a lesson idea with programming, I encourage you to set a programming task on tax. This can incorporate selection, sequence, iteration and prompt discussions on data types so there is the computing knowledge present. But, it also provides this life skills that students sometimes feel they miss out on. Hopefully you will have the same success as me!


Please login to post a comment