Tech Titans: Teaching Python and FLL robotics at Barrie Public Library
A 24-session community STEM program for ages 9 to 14. Two introductory Python coding cohorts followed by twelve sessions of FIRST LEGO League SUPERPOWERED robotics. Concluded April 2026.
The first thing I noticed in Session 1 of Coding Batch 1 was that one of the kids would not look up. He was twelve, signed up by his parents, and he sat at the end of the table doing his typing exercise with both hands and not saying anything. By Session 4 he was the one explaining list comprehensions to his pair partner. By the end of Advanced Robotics he was the participant other kids asked when their colour sensor was misreading the field.
That kind of thing happened often enough across 24 sessions that I started writing it down.
Tech Titans was a community STEM program I ran in the Library Associate role at Barrie Public Library's Angus Ross Downtown Branch from September 2025 to April 2026. It was funded by the City of Barrie's Bright Futures Grant and built around one premise: youth aged 9 to 14 who feel connected to a community of peers are more likely to keep showing up and keep taking risks. The technical curriculum was the carrier; the social outcomes were the point.
This is the postmortem.
By the numbers
| Metric | Value |
|---|---|
| Sessions delivered | 24 |
| Streams (cohorts) | 3 |
| Unique participants (ages 9 to 14) | 26 |
| Schools represented | 8+ |
| Volunteers | 8 |
| Volunteer hours contributed | 150+ |
| Programming hours total | 100+ |
| Family Showcase + Competition Day | March 25 + April 4, 2026 |
What the program looked like
Three streams across the year:
Coding Batch 1 (September 25 to October 29, 2025). Six sessions. 12 registered. Block-based programming on EduBlocks, transitioning to text Python through Codedex.io's structured curriculum (Chapters 3 to 8). By Session 6 most participants were writing 140-line scripts from scratch.
Coding Batch 2 (November 5 to December 10, 2025). Six sessions. 14 registered. Same curriculum, restructured around a narrative "Adventures and Trials" format that gave each lesson a story arc. Several Batch 2 participants independently wrote object-oriented code (classes, methods, initializers) by the final session, a topic adult learners often struggle with.
Advanced Robotics (January 7 to March 25, 2026). Twelve sessions. 13 registered, drawn primarily from the two coding cohorts. LEGO SPIKE Prime kits and the FIRST LEGO League SUPERPOWERED challenge field. Participants moved from guided exercises to independent mission-solving by Session 9, when teams were chaining three FLL missions in a single autonomous robot run.
The year closed with a Family Showcase on March 25 and a public Competition Day on April 4. By the numbers: 26 unique participants, 24 sessions, more than 100 hours of programming, 8 volunteers contributing more than 150 hours, 8+ schools represented.
The session shape that worked
Every session, regardless of stream, used the same skeleton:
- A short typing warm-up on Typing Club to build keyboard fluency and let kids settle in
- A guided coding or robotics lesson, structured around pair programming with assigned Driver and Navigator roles
- Hands-on practice on whatever the lesson built toward
- A cool-down activity on supplementary robots: Sphero Bolts, Ozobots, Indi robots, or VR
The pair-programming roles were the single most useful pedagogical decision I made. The Driver writes code, the Navigator guides strategy, and they swap halfway. With kids who were initially shy, having a defined role meant they had something to do that did not require them to start a conversation. Several of the participants who arrived most reserved ended up doing some of the most independent navigation work by the end of Batch 2. The thing I did not anticipate was how much the swap mattered. The half-session swap forced even the kids who would happily have stayed at the keyboard for 90 minutes to spend 45 of them watching, explaining, and pointing at things on a partner's screen. That second half is where the verbalization happens, and verbalization is where the learning consolidates.
The supplementary-robot cool-down started as a reward and became a structural element. After 90 minutes of Python, kids needed something tactile, low-stakes, and social. Sphero Bolts on a sheet of bristol board were better for boosting morale than I expected.
The bug that taught me the most
In Session 4 of Batch 1, a platform data loss erased participant work. Saved-but-not-exported code disappeared with no recovery path. I had assumed the platform's autosave was the durable layer. It was not.
For the rest of the program I taught explicit backup as Step 0 of every session: save your work, export it, drop it on a USB. Batch 2 lost no code. The Advanced Robotics participants who had attended Batch 1 became unprompted backup evangelists, which was its own kind of pedagogical success.
The lesson generalises. Trust nothing about the persistence model of a tool you do not control. Teach the backup ritual as if the tool will fail, because eventually it will.
What we measured
Every coding batch ran a pre/post Sense of Belonging Instrument (SOBI) survey, scored against an established scale. Both cohorts showed maintained or improved positive-belonging scores and reduced disconnection scores, consistent with the qualitative evidence I was already collecting in session reports.
The qualitative evidence was harder to quantify but more direct. From parent feedback at the Family Showcase:
"It was the first time I have seen him actively engage with a peer group and genuinely enjoy a social setting. He has historically had difficulty making friends."
13 of 26 participants progressed from the introductory coding workshops into the Advanced Robotics cohort. That number does some work. It is a 50 percent retention rate across two stream transitions. More importantly, it was driven by relationships: the kids who continued were the kids whose pair partners continued. Multiple families reported the program had created their child's first sustained peer friendships.
What I would do differently
- Code backup as Session 1 doctrine. Should have been the first thing taught, not the fourth.
- Right-size registration. Registering 12 with the expectation of 7 or 8 consistent attendees produces a strong group dynamic without overcommitting kits, laptops, or facilitator attention. 14 in Batch 2 was too many for the room and the kit count.
- Test on the actual surface. Robots behave differently on carpet versus the FLL hard mat. Always test programs on the surface where participants will be running.
- Build a co-facilitator into the schedule. Running 24 sessions as a single facilitator built consistency and trust, but it was a single point of dependency. A co-facilitator who could lead a session in my absence would have been the right operational hedge.
- Send a mid-program family update. Families that received proactive communication kept their kids engaged. The ones who did not heard about the Family Showcase from their child two weeks before it happened.
What I built that outlasts the program
The program was funded for one year. The point was to build something the library could keep running without me.
By April 2026 the Tech Titans documentation library included 21 session reports walking through what was taught, what worked, and what to adjust; staff training manuals for both the coding and robotics streams; the Python curriculum mapped session-by-session to Codedex.io Chapters 3 through 8; and the registration and equipment guides for the next FLL season. All hardware, including LEGO SPIKE Prime kits and Chromebooks, remains library property with a 5-to-7-year projected lifecycle.
The replication value is the part I am most willing to defend. Another library or community organization can run a version of this program from the documents I left behind. That was a deliberate design constraint from week 1.
What it taught me about my technical work
Teaching twelve-year-olds to write Python is the best technical-communication training I have done. You cannot get away with vagueness. You cannot hide behind a library you do not understand. If a kid asks why their loop is not stopping, "off-by-one error" is not enough; you have to walk through what the index actually represents this iteration.
That habit carries back to my day job at metricHEALTH. The clarity that works for a sixth-grader debugging a list-index error works on a healthcare integrations call too. So does the patience to assume that the person asking is asking because the system is genuinely confusing, not because they are not paying attention. The kids were always paying attention. So are the people on my Slack threads at work.
Tech Titans concluded April 4, 2026. The library is registered for the 2026 to 2027 FLL season. The program runs again with the documentation I built, whether or not I am the one facilitating it.