One of the challenges when teaching programming is that students do not see a purpose in it. Some students are motivated by puzzles, solving problems, and making progress, but this does not encourage everyone to learn more, and it certainly does not show the context of why students are learning computing.
Which is why in our school, we introduce a design thinking project early on in students’ coding journey.
This is done after students have learnt basic, selection, iteration and functions through Python and Turtle. The process of thinking about others and connecting that to the skills they have just learnt is very powerful. I say that it is fine to dream big and there might be gaps between what they know now and what they need to learn to do the project. However, I believe that simply going through the design process encourages them to think in an altruistic way.
Design Thinking

Students are also surprised to see that with very basic skills they can make a wide variety of projects that can help people such as quizzes and conversion calculators. I also stress that well-being is a legitimate way to help and so I am happy to include ideas such as word games and adventure games. Students are encouraged to think about the audience first, but if this does not come naturally to them and they are struggling then sometimes asking what they would like to code and then think about the audience can ensure they do not get completely stuck. I also offer four sample ideas to ensure that students are not completely starting from a blank page. In many cases, these quickly evolve into ideas that I would never have thought of.
Once the Design Thinking initial planning is completed, we discuss the gaps in their knowledge and what they would need to do to make the project. In my school’s case they are likely to know basic Python, Scratch and Python Turtle, which is surprisingly useful for making a simple GUI (window style app). Using Turtle to make Windows style app or a command line program hosted online feels like it has authenticity and gives the ability to publish. Other options that might be suitable for your school include: Thunkable, JavaScript, code.org’s studio, Microsoft MakeCode & Tynker.
However, some projects will take more time and I tell them that they might want to save their ideas for the following term when we teach how to make an app in Swift Playgrounds. In recent versions you can now make complete apps on macs or iPads and even release them to the app store. I note with irony that when Eben Upton released the Raspberry Pi, he told me that it was badly needed, because you couldn’t program an iPad! It might be a decade late, but now you can!
Example Student apps
Our students have made a huge variety of projects and these examples truly illustrate what is possible!
Bryan created an app to help improve students’ bedtime routines. This was his first project and then he went onto make an even more ambitious project to help forecast where landslides are likely to happen. This initially started as a binary classification model via an SVM algorithm.

Then, he realised that it needed to be transitioned from this to a Convolutional Neural Network. This was more effective at creating landslide susceptibility mapping. It was also able to take in live rainfall/surface temperature data, which could be used for warning systems during Monsoon seasons. It has already proven itself at detecting high risk areas such as Batang Kali (Malaysia), which recently suffered from a large landslide. These projects helped Bryan to get an unconditional offer from Harvard University.

Carmella is keen to study psychology at university and so she made a mood tracking app. It is designed to aid emotional awareness and well-being. Through this app, you can document your current emotional state by selecting one or more words from a list of emotions and gauge the intensity on a slider scale. This app encourages users to regularly engage with your emotions and provide tools for self-reflection, aiming to facilitate personal growth and resilience. It helps users to share the records on this app to a trusted friend or counsellor to discuss your emotional well-being. However, all data is kept on-device and no data is shared.
Dhivyesh is using the Raspberry Pi to detect number plates and then display the name of the child that needs to be picked up. This project is a great combination of artificial intelligence and hardware.
We have other apps such as Emily who made Stu Dino, which helps students with Dyslexia study more effectively through the use of timers and Zeitplan by Adit that uses your camera to make your to do list rather than writing tasks.
Each of these projects encourages a sense of citizenship and authentic context that is not always apparent in Computing lessons and gives every student a chance to make an impact.

Originally published in Hello World (24)