Project-based learning: A path to agency

By Mark Calleja. Posted

Learners with more agency will be more engaged in their learning.

Mark Calleja investigates project-based learning, a teaching method that gives your students the tools to take charge of their own learning

Project-based learning is about asking your students to solve a real-world problem by designing and creating a project over a specific period of time. Getting started with project-based learning in your classroom requires a bit of a shift in thinking: instead of providing an activity that demonstrates prior knowledge or acts as a unit assessment, students’ learning is directly embedded into and emerges from the investigative and design processes they engage in while solving the problem you’ve posed. That is to say, their project is the unit: it’s the vehicle for teaching the knowledge and skills that students need to learn, as well as the assessment process that demonstrates their learning. I’m a huge proponent of teaching this way, for a whole host of reasons. 

Creating solutions from the ground up

Agency: For your learners, there’s a massive difference between being asked whether they know the answer to a problem, and being asked to find a solution to one. The first question assumes knowledge (and thereby frames a lack of knowledge as failure) and has a narrow focus, while the second gives learners the room to be wrong or not know yet, and to develop real understanding and practical skills in a self-directed way.

Engagement: Learners with more agency are likely to be more engaged in their learning, too. A huge benefit of project-based learning is the scope it gives you to set relevant, real-world problems for your students. Being able to relate their learning to their own lives motivates students: when they see that they can apply new skills and knowledge to other situations in their lives, they understand the true purpose of the work they’re doing.

Universal skills: Project-based learning doesn’t give students ready answers to a specific problem; it asks them to build a mental toolkit for understanding any problem, so that they can create solutions from the ground up. By enabling this in-depth learning, you equip your students for real life, letting them practise skills required in most industries today: taking initiative, working responsibly, decomposing and solving problems, collaborating in teams, and communicating their ideas clearly.

Giving the power back to your learners

When your learners are interested and engaged with their own learning, your job changes from passing on knowledge and managing motivation to facilitation and inspiration. In project-based learning, you direct learners towards information instead of handing them answers, and you support them in creating something they didn’t know they were capable of.

Learners need only teach themselves using the sheets and videos provided to make their ideas real.

One way to get started with project-based learning is to use a bank of Python resources that embody the idea, developed with the National Citizen Service. There’s a bank of 14 different helpsheets (with accompanying YouTube animations) that provides images of each basic electronic component, a simple wiring diagram with numbered GPIO pins, and the simplest of gpiozero code snippets to execute its basic functions, all on one handy page. 

The helpsheets cover the most common simple components used in digital making, from LEDs to infrared motion sensors, cameras, Bluetooth remote controls, and beyond. There are also sheets that explain the Sense HAT’s on-board sensors, joystick and LED array, with accompanying code examples. We also made some that cover some commonly used processes in digital making, such as playing sounds with Python, making a remote control with the Blue Dot Bluetooth app, and setting up a Raspberry Pi-based gadget to function automatically as your students intend it to as soon as they power it up (known as ‘running headless’).

The intention behind the sheets is that you will first support your students through the design discussions they’ll need to have before they start making things and show them the library of components they have available. When they know what functionality they want from their invention (and what’s possible given their time and hardware constraints), learners need only teach themselves using the sheets and videos to make their ideas real. All of the code is broken into three sections to make each Python script modular; students can simply combine the code snippets on the sheets to make larger scripts that create more complex functionality. 

If you’d like to replicate our hackathon model with your own students, we have released the facilitator’s guide to running the full two-day experience, complete with session timings, delivery notes, workshop slides, and a student support document called the ‘Developer’s Guide’ in which participants can make notes and get discussion prompts and tips throughout their build process. 

Why not run a hackathon with your own students?

Resources to support project-based learning

Guides for how to run hackathons with your students are available at and



If you’re a UK-based teacher, volunteer, librarian or something in between, we'll send each issue free to your door.



Just want to read the free PDF? Get each new issue delivered straight to your inbox. No fuss and no spam.


From £6

If you are UK-based but not involved in education, you can get hard copies by buying back issues or subscribing via our partner service.