pkrp-about
This activity is designed to develop understanding of how QR codes store and represent information through structured patterns and positioning. Learners will investigate the visual features of QR codes, analyse their components, and begin to recognise structured order in what might previously have appeared random.
Guide learners to identify key structural elements, understand that digital information can be encoded in different ways, and consider how design and structure influence function of these common digital tools we see being used around us every day.
What looks like a random jumble of black-and-white squares is actually a carefully engineered design — and this activity is where learners get to prove it to themselves. Building on the "what is a QR code" grounding from Part 1, learners zoom in on the five key components that make a QR code readable: the position markers that help a scanner orient itself, the timing patterns that set the grid, the data modules that hold the actual message, and more. Working with real QR code images, learners practise spotting these features and start to understand that good digital design isn't accidental — every part is doing a job. It's a satisfying bit of digital detective work, and a solid stepping stone toward Part 4, where learners get to design QR codes of their own. Ka pai te mātai — nice noticing!
pkrp-supp-materials
[Video] | Video Essay (Recommended for Y7+)
https://www.youtube.com/watch?v=w5ebcowAJD8
YouTube link for video “I built a QR code with my bare hands to see how it works” by Veritasium.
{Description}
Consider using this video to help explain and demonstrate aspects of a QR code in more detail. These sections are most relevant to this activity:
00:00-00:24 QR Codes as Language for Machines [00:24]
10:34-12:32 Encoding Information for QR Codes [01:58]
12:32-16:18 Anatomy & Building a QR Code [03:46]
16:18-16:44 Redundancy & Error Correction [00:26]
18:16-28:40 Levels of Error Correction & Masking [10:24]
28:40-29:06 Scanning the Handmade QR Code [00:26]
pkrp-links
pkrp-dt-detail
ctdt-po3
The data modules section of the guide — "most of the rest of the squares... represent data that's translated into useful information" — is a hands-on, visual entry point into the idea that digital devices store information in a two-state (on/off, black/white) system, without needing to introduce binary notation itself
Comparing damaged versus intact QR codes (per the Extension idea) builds toward the "recognising that algorithms interpret patterns" side of this PO — learners see that the scanner is applying a consistent rule to read the pattern
dddo-po2
Identifying and naming each of the five components (position markers, alignment pattern, timing patterns, data modules, quiet zone) is directly "analysing features and components of an outcome" — the exact language of this PO
Discussing why each component exists (e.g. position markers so a tilted code still scans) connects structure back to purpose, which is what separates "component-spotting" from genuine design understanding
pkrp-cc-detail
maths-stats
The QR code's grid structure — regular rows and columns, repeating patterns, and a fixed positional layout — gives learners a genuinely concrete, real-world example of spatial reasoning and pattern recognition, which is exactly the kind of grounded context Maths and Stats benefits from at this level.
arts
Looking at how contrast (black against white) and layout make the pattern scannable is a simple, accessible entry point into design principles — how a visual choice serves a functional purpose, not just a decorative one.
pkrp-diff
Colour-match first, then name — for younger learners, start with the guide's colour-coded diagram and have them match colours to component names before asking them to describe what each part does, splitting recognition from explanation
Provide a range of real QR codes at different quality levels (crisp print, slightly worn, small) so learners across ability levels can find components at a pace that suits them
Extend confident learners into the "build a large-scale QR code" Extension idea, which asks them to apply component knowledge rather than just identify it
pkrp-ext
Build a giant QR code — using bodies, chairs, or floor tiles, map out the key components at large scale (a great one for a hall or outdoor space)
Damage-test a printed code — cover, fold, or partially obscure sections of a printed QR code and test which parts are essential to a successful scan versus which the scanner can tolerate losing, connecting back to error-tolerance ideas
Y9+ video-essay extension — the linked video's "Anatomy & Building a QR Code" and "Redundancy & Error Correction" sections go well beyond this activity's scope, for learners keen to see how error correction actually works under the hood
Challenge learners to build a large-scale version of a QR code that focuses on mapping the key features, using physical objects available or even their by arranging their bodies as a group.
Prompt learners to modify existing QR codes by covering distorting, or otherwise damaging parts of the image to test error tolerance and evaluate which features are critical to functional scanning.
pkrp-notes
Teachers should consider:
Device Preparation as a pre-lesson task, including charging batteries, loading applications, and connecting to the internet.
Group Assignments and logistics, including supporting student collaboration and content focus.
Have a few real QR codes on hand (printed handouts, posters, or packaging) so learners can scan and explore hands-on rather than only discussing the concept
Devices with camera access will be needed for the scanning step — check beforehand which learner devices can scan natively versus needing a scanner app
The six real-world sectors work well split across small groups, each becoming the "expert" on one sector to report back to the class
Keep a couple of trusted, pre-tested QR codes ready to demonstrate with, rather than relying on whatever's scannable in the room on the day
Print or project a large, high-resolution QR code image so the five components are genuinely visible — small printouts make the finer patterns (timing, alignment) hard to spot
The guide's colour-coded reference image is the anchor for this whole activity — make sure every learner or group has access to it, not just a description
If using the damage-test Extension, prepare a few pre-damaged printed codes in advance rather than having learners damage a working one mid-lesson, so there's a clear "before" to compare against
This activity pairs naturally straight after Part 1 in the same or a following session, since it builds directly on the "what is a QR code" grounding
pkrp-dsw
This activity is mostly hands-off from a safety perspective — learners are analysing image structure, not scanning into unknown content — but a couple of things are worth holding onto from Part 1's habits.
Use pre-approved QR code images or printouts for analysis, rather than sourcing fresh codes from the open internet
If learners do scan a code as part of exploring anatomy (e.g. comparing a working vs. damaged version), stick to teacher-tested codes only
Keep reinforcing the "not every code should be trusted" idea in passing — even here, where the focus is structure rather than safety, it's a useful habit to keep alive
While analysing QR code design can deepen understanding, students testing or modifying codes independently can lead to unintended exposure to unsafe content.
Teachers should:
Use approved QR code examples wherever possible
Avoid using QR codes sourced from the open internet without verification
Supervise device use closely, particularly with younger learners
Make sure any experimentation like modifying QR codes is done using safe links
It is best practice to:
Frame QR codes as encoded data that connects with real content, not just “things to scan”
Reinforce that not all codes should be tested and trusted blindly
Maintain a clear boundary between learning environments and uncontrolled digital spaces
pkrp-lp
>>> y4-6 | Y4-6 | 1 Lesson (Guided, Visual)
A puzzle of pixels(10 min) — Introduce the idea that every part of a QR code has a job, using the puzzle-piece framing from the guide
Colour-match the components(15 min) — As a class or in pairs, work through the five components one at a time against the colour-coded reference image
Focus on recognising each part before explaining its function
Spot it in the wild(15 min) — Give pairs a printed QR code and ask them to find and label as many components as they can
Share-back(5 min) — Quick class share of one component each pair found tricky to spot, and why
>>> y7-8 | Y7-8 | 1 Lesson (Independent, Analytical)
A puzzle of pixels(5 min) — Quick framing discussion: why might a "random-looking" pattern actually be highly structured?
Independent component analysis(15 min) — Learners work through a real QR code image independently, identifying and explaining the function of each of the five components
Compare and contrast(15 min) — In pairs, compare two different QR codes (e.g. different sizes or from different sources) — what's the same, what's different, and why?
Extension option(10 min) — Fast finishers begin the damage-test Extension, predicting which components are safe to lose before testing
>>> y9+ | Y9+ | 1 Lesson (Independent, Analytical)
Fast component pass (10 min) — Independent identification of the five components, moving quickly since the goal here isn't spotting them but reasoning about them
Watch: error correction and masking (11 min) — Use the video's full Levels of Error Correction & Masking segment as the lesson's anchor — previously extension-only material, but a genuinely good fit for this level's attention span and appetite for "how does it actually work"
Why build in redundancy at all? (10 min) — Discuss the trade-off directly: more error-correction capacity means a QR code can survive more damage, but it also means less room for actual data — a real design trade-off, not just a feature list
Predict, then test (14 min) — Before running the damage-test Extension, have learners predict which components they think are safe to obscure and why, then test against real printed codes — turns the activity into a genuine informal experiment rather than trial and error