A Planning Spreadsheet With A Curriculum Coverage Heat Map

When planning out your course it’s helpful to be able to see what parts of the curriculum are well-covered and what parts may need more attention.

Department heads, school board representatives, or Ministry of Education inspectors will find a heat map like this useful, too.

If you populate a planning spreadsheet as described in this article, you will have a heat map like this:

A heat map illustrating coverage of expectations based on planned lessons.

Curriculum Coverage Heat Map

A point in time while planning out Grade 11 Functions. The heat maps makes it clear that financial applications needs a little attention.

Colour codes are as follows:

Color Meaning
Red No coverage
Yellow Addressed once
Blue Addressed twice
Light green Addressed three times
Dark green Addressed four times or greater

To generate the heat map, while planning out the sequence of your course, all that’s needed is to tag what you are doing in a lesson or activity with curriculum expectations.

For example, with Grade 11 Functions a few years ago, a colleague and I built the course in a spiralling progression, using many small “threads” and attempting to revisit larger curriculum topics more than once in a given year. To keep track of the learning occurring, we tagged our plans using curriculum expectations. See the Exp. columns at right below:

An outline page listing threads, lessons, and expectations met through each day of instruction.

Using the Planning Spreadsheet for an Existing Course

If you happen to teach any of the following Ontario courses then you are in luck. I’ve already built versions of this planning spreadsheet against the expectations from each course below:

To use any of the spreadsheets above:

  1. Follow the link; you will be prompted to make a copy of the spreadsheet in your own Google account.
  2. Complete this one step so that links within your new copy of the spreadsheet connect to your own spreadsheet (and not the templates provided).

Adapting the Spreadsheet to Another Course

Adapting an existing spreadsheet like this to a new set of curriculum expectations is unquestionably a chore, but once it’s done, you can use it for a course over and over again, without having to go through this process.

Some tips:

To get started with adapting the planning spreadsheet to a new course, make a copy of the spreadsheet for any of the existing courses mentioned above.

Step One: Update Strands and Overall Expectations

This tab consolidates course strands and overall (major) expectations. It is used for reference and as a destination for hyperlinks from within the planning spreadsheet.

Overall expectations for the course in question.

Open the curriculum documents for your course (see tips above) and begin cutting and pasting.

Colour coding for each row is managed automatically based on the contents of the Strand column.

Step Two: Update the Minor Expectations

This tab consolidates the minor expectations for a course. It is used for reference and as a destination for hyperlinks within the planning spreadsheet.

The Link Key and Link Value columns are used for generating automatic links from the Outline sheet when you tag lesson plans with relevant curriculum expectations.

Minor expectations for the course in question.

There are several sub-steps required to build out this part of the spreadsheet.

  1. Cut and paste the minor expectations within each overall (major) expectation from the ministry curriculum document.

    As you go, be sure to retain accurate labeling/numbering of strand, major, and minor expectations. The Link Key field will then be automatically populated.

    For example, say that you are looking at the first strand (A), from the first major expectation (1), and there are four minor expectations (1, 2, 3, 4). The progression would look like this:

    Progression of minor expectations for the course in question.
  2. Notice that the Major column contains hyperlinks. These connect back to the Overall Expectations sheet. The first major expectation is cell C2 on that sheet. The second major expectation is cell C3, and so on. Cut and paste and/or adjust formulas for the Major column cells following this pattern.

  3. Finally, still on the Minor Expectations sheet, the Link Value column must be updated to refer to the current spreadsheet (rather than the originating spreadsheet from the template).

    In the raw web site address from any cell in the Link Value column, identify the section noted here in red:


    The precise letters and numbers of that section of the link will vary. Whatever they are for the spreadsheet you are working in, highlight them, and press Command-C to copy to your clipboard.

    Perform a find and replace for that text (Command-Shift-H).

    Replace that existing text with the characters in the same section of the address for your own copy of the spreadsheet:

    Links in the Link Value column must point to the current spreadsheet.

    Be sure to configure the find and replace operation as shown:

    Using the Find and Replace dialog to update the Link Value column.

Step Three: Revise the Heat Map

Now it is time to modify the heat map to reflect the major and minor expectations of the course you are building the spreadsheet for.

Here is what the heat map looks like for MCR3U (the course this planning spreadsheet was originally built for in 2017-18):

Heat map for MCR3U showing hidden cells that drive the colour coding logic.

Note that the non-coloured columns (C, E, G, I, et cetera) have been unhidden so that the underlying logic of this sheet can be explained.

There are several sub-steps involved to update this sheet, but they do not take too long to complete.

  1. First, update the text for the strands (bold, larger text in the screenshot above) by copying and pasting from the Overall Expectations sheet that you have already modified.

  2. Next, update the text for the major expectations that are part of each strand.

  3. Now to adjust the core of the heat map – the colour coded cells.

    Each colour coded cell is shaded based on the cell to its immediate right.

    For example, consider expectation A1.1 in the MCR3U spreadsheet:

    Expectation A1.1 has been tagged twice, so it appears in blue.

    It is blue, because the cell to its right contains a 2.

    The cell to the right contains a 2 because expectation A1.1 was tagged twice on the Outline sheet, meaning the expectation was addressed on two separate occasions throughout the year.

    So how to update this part of the spreadsheet?

    For each minor expectation, we need to update the link (on the colour-coded cell itself, B4 in the image above). We also need to update the formula that counts how many times that expectation was tagged (C4 in the image above).

    For reference, open the Minor Expectations sheet in one browser window on your computer (if possible, it helps to work on a large monitor while doing this).

    Keep a second browser window open on the Coverage Heat Map sheet.

    Remember, there is one color coded cell for each minor expectation.

    (If you need to add more cells for additional minor expectations, copy and paste from existing cells so that existing formulas and conditional formatting rules come along for the ride.)

    First adjust hyperlinks for each color coded cell – in this example, we are linking to the minor expectation listed at cell C2 on the Minor Expectations sheet:


    Next, update the formula in the cell to the right, so that it counts occurrences of the correct curriculum expectation on the Outline sheet:


    In this example, the formula looks for how many times expectation A1.1 was used as a tag for lessons.

    So, after updating links and the formulas to count expectation tags – that should do it.

Of course, a bit of testing of your updated curriculum heat map is advisable.

As well, columns containing the white cells on the Coverage Heat Map sheet can be hidden, if desired.


My hope is that this article is helpful to other teachers.

If you do adapt this planning spreadsheet to another Ontario course, please let me know. I can add the course you’ve made a template for to the list provided above, allowing more teachers to benefit.

A Peculiar Form of Torment

A possible future exchange on a popular TV game show:

I'll take Tedious Math Curricula for $200, Alex.

Answer: It's the Ontario mathematics course where half the expectations involve quadratic relations.

Question: What is Principles of Mathematics, Grade 10?

If you're a math teacher in Ontario, it's likely that at some point in your career, you've wondered whether your students – or you – could possibly make it through another day studying quadratics.

Another day of fitting curves to photos of a bridge:

Sipapu Natural Bridge in the Natural Bridges National Monument in central San Juan County, Utah, United States. A natural stone bridge that spans the White Canyon.

Sipapu Natural Bridge

A stone bridge in central San Juan County, Utah, United States. Photo by Daniel Schwen, Wikimedia, with Desmos overlay by the author.

Or learning one more algebraic procedure to convert a relation in standard form:

\[ y = ax^2 + bx + c \]

...to its equivalent in vertex form:

\[ y = a\left(x - h\right)^2 + k \]

You might even struggle to make it through, who knows, dressing up some drab review of quadratic relations by using a Jeopardy! template at the end of a unit of study.

We are, of course, beholden to the curriculum, old and flawed though it may be.1

At issue is that each of the tasks described above involve seat work where students primarily manipulate symbols on paper or on a computer. They are not particularly engaging or challenging. To boot, the Jeopardy! review activity introduces time pressure.

Given that we must work within a curriculum where the overemphasis on quadratics is a special form of torment for many students, what kind of tasks could we do instead?

What tasks might better activate the seven processes at the core of Ontario's math curriculum?

The Ball in a Can Challenge

In 2006 I had the opportunity to attend the Anja S. Greer Conference on Mathematics and Technology2 at Phillips Exeter Academy for the first time.

Larry Ottman led a weeklong session focused on getting students up, moving, taking measurements, and testing hypotheses in math class.

With his permission (and his reminder that the task did not originate with him) I will describe the Ball in a Can Challenge here.

It says something about me, perhaps, that from Larry's weeklong session, I've only retained this one activity. It's a pretty good one, though, and just about the only task I can think of where the class often ends with a scene like this:


Students at Royal St. George's College celebrate.

As you see from the video – that's the task.

A ball bearing rolls from a ramp.

If the mathematics are sound, the ball lands in the can.

Simple, right? It can be. Let's dive in!


Here's what you need:

Diagram illustrating the construction of the ramp required for the Ball in a Can Challenge. Two 24-inch lengths of wood are joined with a 2-inch angle iron at a 90-degree angle. An angle iron is attached at the end of each length of wood to allow a 35-inch piece of plastic molding or quarter-round to be inserted inside the bracket. This creates a ramp upon which the ball-bearing will roll from.

Building a Ramp

It takes some time to source materials and build the ramp, but after that initial investment, the activity is straightforward to set up in your classroom year after year. Diagram by Larry Ottman.

To build the ramp, use a couple of angle irons to join the lengths of 24-inch boards together. The boards are optimally just under an inch high and three inches wide:

Angle irons are used to join the two boards together at a 90-degree angle.

A strong join between the boards is helpful to be certain they remain perpendicular.

Once that's done, attach an angle-iron to the end of each board.

The plastic corner molding, or quarter-round, is placed between the angle irons on the board ends. This creates the curve that the ball bearing will roll down:

An angle-iron is used to stop each end of the quarter-round.

The angle-iron should sit just a bit above the board, so that the corner-molding can be squeezed in at each end.

On the bottom of the ramp (the end the ball will fall from) attach a screw eye.

Use thread (or lightweight fishing line) and attach it to the screw eye.

Attach the magnet (or a weight) to the thread. Ensure that the thread is long enough such that the weight hovers just an inch or so above the ground. The thread length will need adjustment based on where you choose to place the ramp in your classroom. A couple of desks, carefully stacked on top of one another, can work, or a ladder. The higher you are able to safely place the ramp, the more fun the activity tends to be. Measure the length of the plumb line accordingly. You're aiming for something like this:

A weight is suspended from the plumb line that begins where the ball leaves the ramp.

Here a weight borrowed from the Science department allows the plumb line to hang perpendicular to the floor.

You'll note that the end of the ramp in this most recent photo is constructed a little differently. The main idea is that, however the ramp is built, you want two boards that remain firmly perpendicular to one another. The ramp must allow for stable placement of the corner molding and for suspension of the plumb line directly under the location where the ball bearing leaves the ramp.

When you set up the ramp to begin the activity, it's a good idea to use a C-clamp to secure it to the ladder or desk:

A C-clamp is used to secure the ramp to the desk or ladder on which it is placed.

It’s no fun at all if students carefully take measurements, perform their calculations, prepare to do the final drop, and then someone accidentally bumps the ramp – requiring the entire process to begin anew.

Setting the stage

How to prepare students?

I've most often run the Ball in a Can Challenge as a consolidation activity in a unit of study.

A group of twelve works well, with students mostly partnered and assigned specific roles. This table is adapted from the original by Larry Ottman:

Role Responsibilities Number of students
Recorder Writes down measurements, observes, makes suggestions. A quasi-leadership role. One
Dropper The person who actually drops the ball. Consistency of drop technique is important! 😅 One
Carbon paper When the dropper is ready, this team tapes down a sheet of paper on the floor so that the ball is dropping into the middle of the paper. Then they lay the carbon sheet over top of the paper and when the ball is dropped, it leaves a mark on the paper. The dropper continues dropping until they are in enough of a rhythm that they consistently hit the same location on the paper (within a dime's diameter is sufficient). Once students have the spot, they should mark this on the paper. Another tip – it can be helpful to have the carbon paper team number the drops on the paper (1, 2, 3...) which can help the dropper become consistent more easily. Two
Floor measurement This team measures the co-ordinates of the point where the ball hits the floor. If you want, you can tell students that the floor represents the horizontal axis, but in my experience, they will arrive at this conclusion themselves after some valuable conversation. Two
Vertex measurement This team measures the co-ordinates of the vertex (where the ball leaves the ramp). You may wish to tell the team they are measuring "where the ball leaves the ramp" and leave it up to them to, again, decide amongst themselves that this represents the vertex, and that it's on the vertical axis of the mathematical model. Two
Can height This team measures the height of the can above the ground. Some good discussion typically ensues when students debate whether to measure from the top or the bottom of the can. Two
Can placement This team is responsible for placing the can prior to the penultimate drop. Two

After measurements have been taken for the vertex and where the ball hits the ground, students can algebraically determine the missing value in the quadratic relation. I've had groups use both of these forms with success:

\[ y = a\left(x - h\right)^2 + k \]


\[ y = a\left(x - r\right)\left(x -s\right) \]

It's a good conversation to hear students decide on which equation to work with, and how that connects to the physical apparatus of the task.

I encourage students to be clear about the meaning of the independent and dependent variables. What does \( x \) represent, and what are its units? And so on. This can be a nudge in the right direction if you've noticed the two measurement teams working with different units.

Finally, once students have the complete equation that describes the path of the ball bearing, it doesn't take long to decide how they can use the can's height above the ground, and what this implies for their next steps.

It's worth noting that this entire task can run in a far more free-form manner.

I've had students work in groups as small as four, assign roles independently, and meet with success.

Here's another photo:

Students work together to determine the where the ball bearing hits the ground.

Where is that ball landing?

After the dropper has become consistent, it’s time to determine exactly where the ball is hitting the ground.

And another step in the process:

Students measure the height of the tomato paste can that is attached to a lab or retort stand.

What’s the height of that can?

Once students have a mathematical model to describe the flight of the ball bearing, they must determine the height of the can. What would the next step be?

Note that should your classroom be carpeted, you'll need a thin, firm board to place beneath the paper and carbon paper – otherwise the ball bearing will be too cushioned upon impact to allow the carbon paper to make a mark.


I have sometimes assessed student work on this task, and sometimes run it simply as a consolidation activity before a major holiday during the school year.

The task is ripe for recording observations and conversations or assessing learning skills.

Recall the seven mathematical processes in Ontario mathematics instruction:

  1. Problem Solving
  2. Reasoning and Proving
  3. Reflecting
  4. Selecting Tools and Computational Strategies
  5. Connecting
  6. Representing
  7. Communicating

The prompts given in this document can be helpful in guiding your students as they complete the Ball in a Can Challenge.

Before the task begins, I've sometimes told the class that later on, they'd each need to author a short reflection, answering these four questions:

  1. Including a diagram, organize and explain the mathematics used by your group to obtain a successful result.
  2. What went well in your group's effort to land the ball in the can?
  3. What would you have changed about how your group completed the activity?
  4. Evaluate your own participation in the group. What were your contributions? Were you an effective team member?

In some years, a day or two after the task itself, I've given a quiz or test question where a diagram is presented along with key measurements, and then each student must individually solve and explain the problem once more.

Final thoughts

The groups that are most successful are those that can communicate calmly and effectively with one another.

Don't permit students to work by trial and error, or "eyeball" measurements. This short-circuits the rich conversations that will ensue when a quantitative approach to problem solving is used.

It can be a real drag if a group doesn't land the ball bearing in the can on the first try.

With a small nudge to reconsider some part of their approach, I've never had a group fail to land the ball in the can on their second try.


A small group of four students at Lakefield College School ace the challenge.

The Ball in a Can Challenge takes time to set up, but the payoff for your students will be worth it.

  1. Nils Ahbel outlines this very well in Reflections on a 119-Year Old Curriculum. The content of his talk is well worth looking past the less than ideal audio quality of the recording. ^
  2. The Greer conference at PEA deserves to be explicated in its own article. Here's the short version: if you're a math teacher, go. Find a way. You won't regret it. ^

Snow Clearing and Computer Studies Enrolment

What impacts Computer Studies enrolment in Ontario?

There’s the chicken and egg problem, for one. Our courses are not prerequisites for STEM-related majors in Ontario universities… because not all secondary schools in Ontario offer Computer Studies courses. It’s hard to require a course that is not offered. That’s only going to get worse.

There’s a perception that our courses are difficult. Any student who has spent inordinate amounts of time struggling with syntax will agree that can be true (even if it’s really the tools that are deficient and not the programmer).

And then… there’s this, from the lede on a recent episode of 99% Invisible by Roman Mars, interviewing Caroline Criado Perez:

Today’s show is about a design flaw that might be, and I’m not exaggerating here, the single-most common design flaw in human history. It potentially affects everything we have ever built. Its consequences are felt by more than half of people worldwide…

What’s this now?

There’s a town in Sweden. Karlskoga. It snows there. For a long time, like many places, when it snowed, major roads were cleared first. In the process of doing a gender analysis of local town policies, someone made a joke – snow clearing. It couldn’t possibly have anything to do with gender, could it?

Karlskoga city planners looked at the types of tasks women handle on a daily basis. Tasks like shuttling children to school, stopping off to pick up groceries, dropping in to check on elderly relatives. Tasks that were often completed on foot or by taking public transit on smaller residential roads.

It turns out… it’s a lot harder, and much less safe, to push a stroller through a foot of snow than it is to drive a car down a major arterial road. Karlskoga decided to clear minor roads and residential areas first, and saw a significant decrease in healthcare costs, savings that far outweighed the cost of winter road maintenance. Everyone benefits.

What if, by making deliberate choices about how we describe, promote, and deploy our Computer Studies courses, we bring in not just more young women, but more students overall to this vital field of endeavour?

Context Over Tools

I recently visited Austin, Texas to attend a weeklong workshop with teachers using Swift for instruction in the College Board’s Advanced Placement Computer Science Principles course.

The workshop was hosted by Apple, and we naturally spent time examining their curricular resources and tools.

I was pleased to see that the agenda focused not just on tools, but also on the bigger picture of inclusion in the software industry and in our classrooms. Douglas Kiang gave an excellent talk on fostering a sense of belonging for young women in computer science courses.

With permission from Douglas, I will include text from a few of his presentation slides here.

The following is an older description for a course offered at Douglas’ school:

Introduction to JavaScript (1 credit)

This course introduces students to the basics of JavaScript, HTML, 
 and CSS. It covers basic computer programming concepts such as variables, loops, operators, arrays, functions, and conditional statements. It features best practices for current web-standards compliance techniques using the HTML DOM (Document Object Model) and offers interested students the opportunity to dive deeper into asynchronous data requests using AJAX and jQuery.

The question Douglas posed: Who is your audience?

To whom does that original course description speak?

As teachers, we understand it. Would a student?

It’s kind of like seeing a course description like this:

Introduction to Japanese (1 credit)

基本クラスは、基本的な⽂文法に注意を払いながら、コミュニケーションスキル (主に会話型)を身に付けることを⽬目的としています。 中級クラスは、基本レベ ルの⽂文型を組み合わせることにより、実⽤用的な会話能⼒力力をさらに⾼高めることを⽬目 的としています。 各グループは週に1回、⽇日本⼈人ボランティアによる約90分の レッスンを受けます。 参加者のスケジュールが特定の⽇日の出席を許可しない場 合、会議は⾒見見逃される可能性があります。 授業内容は、グループの規模と参加者 の興味と能⼒力力に応じて調整されます。 基本的な焦点は、⽇日常⽣生活や勉勉強に必要な ⽇日本語の会話⼒力力を伸ばし、⽇日本の⽂文化や伝統について指導することです。

Douglas and his colleagues revised the course description to read as follows:

Building Websites for Non-Profits (1 credit + community service)

Work closely with a community organization to help design a website that meets their needs. Gain programming experience while designing a front-end web interface that retrieves data from a server. Previous projects have included an event registration page for Malama Honua, an after-school program site for the Boys and Girls Club, and a web portal for the Arcadia Retirement Residence.

Same course, same content, different description.

The result? Punahou School school saw many more young women enrol, as well as more young men.

Students in Ontario will always see the standard Ministry of Education course descriptions in official documentation.

However, it’s the very definition of picking the low hanging fruit for us, as teachers, to provide the Guidance staff, students, and parents at our schools with accessible and welcoming course descriptions, and ensure that these are made visible to students well in advance of course selection time.

How we describe what we do in our courses matters.

Build Community

For the first time in my teaching career1, the gender balance in my Computer Studies classes across grades 10 and 11 is precisely even. At last check, there are seven boys and ten girls enrolled in ICS2O; eleven boys and eight girls in ICS3U.

With few other variables in the mix, I’m left to cautiously conclude that new opportunities we offered last year at Lakefield College School have made a difference for enrolment this year.

First, in December 2018, my school partnered with the Hackergal team to participate in a hackathon. In their words:

A Hackathon is an event in which groups of people come together to solve a problem. The term is largely used in the tech industry to describe a fast-paced event in which computer programmers or “coders” work together to create a functioning product. During a Hackergal Hackathon, groups of girls work together over a day to apply coding skills they’ve learned leading up to Hackathon Day. Teams will work together to create an interactive project with a theme that is revealed on the morning of the Hackathon.

To prepare for the hackathon, we had twelve grade 9 girls complete five lessons over roughly ten hours of co-curricular time.

The Hackergal organization provided all of the preparatory material and tools free of charge, and were extremely strong communicators leading up to the event itself.

On the day of the hackathon, the girls were excused from class and completed the challenge along with a much larger group of young women across the country through an online presence.

As a strategy, advocating for and offering an event like this takes more time than re-writing course descriptions – but it created an amazing sense of community among the young women at our school before they even got to the point of considering enrolment in a computer studies course.

Provide a Trial Run

Developers often allow users to try out their software prior to asking for the commitment of a payment.

In the same vein, at LCS, we offered a coding-themed day to coincide with Computer Science Education Week. The timing here is deliberate – positioned in advance of (but not too far before) course selection on the school calendar.

On an intercession day at LCS – when the entire school has a break from regular classes, but the learning continues through other tasks – students had (among other options) the opportunity to participate in a day of coding-related activities.

Tasks offered included the creation of physical artwork by generating SVG files through code and then sending the files to a plotter:

Generating Physical Artwork Using Code

Any programming environment capable of generating an SVG file can be used to drive the output on an AxiDraw plotter.

Senior students enrolled in Computer Studies courses mentored junior students who expressed an interest in starting to prepare for computer science contests, using online coding environments like repl.it and past problems published by the CEMC.

Another option saw students use Processing to explore introductory tutorials explaining how to produce graphics and animations, with more experienced students digging into the work of generative artists or simulating natural systems.

The centrepiece of the day involved a visit from a Dr. Rachel Wortis from Trent University who gave a hands-on talk about encryption and quantum computing.

The day, to be honest, was a lot of work to organize, but it doesn’t have to be that way.

In the future, we plan to run a similar day at LCS, but may make more use of externally sourced content that does not necessarily involve coding, such as the popular CS50 Puzzle Day authored by David J. Malan and his team at Harvard, or the College Puzzle Challenge provided by Microsoft.

The theme of the series of activities was to provide students with a taste of what computer studies is all about before those students need to make a choice about course selection.

How we promote computer studies matters.

Positive Role Models

When it comes to recruiting women into computer science, whether a role model projects current stereotypes of the field may be more important than whether that role model is female or male. Role models may be successful if they elicit a sense of belonging.2

Douglas Kiang emphasized those points during his talk in Austin in July.

During that same intercession day in early December at LCS we arranged for several graduates of my past classes to speak with current students through video chats.

The speakers – two young women, three young men – do not all exclusively write code in their positions. None hew to Hollywood hacker stereotypes. Of the speakers we were fortunate to ask questions of:

  • two are developers at Apple (iPhone and Watch teams)
  • one is an analyst at KPMG
  • one is a project manager at Yelp
  • the final speaker works in a variety of roles exploring the intersection of visual arts, business, and technology (she is about to graduate from this fascinating program at USC)

Of course, I had not yet heard Douglas make his point when I organized speakers. What he said resonated, however, and the response from LCS students was positive.

A young woman takes part in a video chat with current high school students.

Question and Answer

A past graduate of my computer studies classes talks with current LCS students.

The key here – whether we find role models in past students, parents in a school’s community, or members of the public – it is helpful to show current students where our courses lead – before they are asked to decide on course selection.

Embrace the Depth of the Field

If you’ve been paying close attention, you’ve noticed that I have used the term computer studies throughout this article – not computer science.

That is deliberate – the former is a superset of the latter.

Computer studies is about how computers compute. It is not about learning how to use the computer, and it is much more than computer programming. Computer studies is the study of ways of representing objects and processes. It involves defining problems; analysing problems; designing solutions; and developing, testing, and maintaining programs. For the purposes of this document, the term computer studies refers to the study of computer science, meaning computer and algorithmic processes, including their principles, their hardware and software designs, their applications, and their impact on society.3

Is that quote familiar?

If you’re a teacher in Ontario, it should be – it’s from page 3 of the Ontario Computer Studies curriculum!

That bit of rhetorical flourish exists in this article with feeling.

I know that it is not easy to be a teacher, let alone a Computer Studies teacher.

However, if all that we focus on are algorithms, code, and tools – if we address but don’t emphasize the rest of the curriculum – we are doing our students a grave disservice.

Over March Break this year, the Hackergal organization ran a terrific one-day workshop for teachers. The highlight was hearing from a panel of dynamic women working in the software industry:

One common theme that emerged from the comments of the panelists was that they all started in the field of computer studies after high school4.

Why was that? The specific examples varied, of course, but the gist? Computer studies classes in their schools focused nearly entirely on writing code, and there was little to no emphasis on the idea that computer studies is ultimately about talking to people to identify problems and finding ways to solve those problems using technology.

Look, we know Apple has an excellent marketing team – but this video nails it:

At my school, I am working to build a three-year computer studies program that provides the full experience of problem solving and software development. I want students to graduate having published meaningful applications with a portfolio of code they can use when speaking to prospective future clients or employers.

So, in grade 10 this past year, we started early, working deliberately to improve our skill in offering an effective critique of each others’ work.

Ron Berger’s book, An Ethic of Excellence, is well worth your time – a brief but powerful text on how to guide students in creating meaningful, high-quality products.

I like to use this video, featuring Ron, to introduce effective critique to my students:

Eyes roll when my students see the age of the children in the video, but they are wowed by the end.

As the year progressed, we practiced running usability trials for software that my students had authored, of the sort described here:

I make a point of building the opportunity for feedback and revision into the timeline of a task. This figure is instructive:

A diagram illustration steps in the design process.

The design process is described in the preamble to the Ontario Technological Education curriculum.

Here is one example of the outline and rubric for a task in Introduction to Computer Studies. This was filled out incrementally for every student as they submitted each required deliverable.

That rubric may look a little different than you’re used to – I am not fond of the traditional four-column rubric. I recommend taking a look at John Rampelt’s deep dive into single-point rubrics.

After gaining confidence with software tools like Alice and Thunkable, and giving and receiving effective feedback first within our own class, then with students in other classes at LCS, I felt that my grade 10 students were ready to work within our local community.

Through a collabration with two amazing teachers at a nearby elementary school, each my grade 10 students were tasked with being a contractor for a group of two to three grade 4 students. Based on requirements provided by the younger students, students in my class would design, prototype, and deliver a custom educational application.

My students visited the grade 4 classes a total of four times to:

  1. Meet their clients and document their requirements.
  2. Present a paper prototype and receive feedback on their design.
  3. Present a functioning, but incomplete, software prototype, and receive feedback on their work to date.
  4. Deliver the final application.

Each visit lasted about forty-five minutes, and was spaced approximately two weeks apart on the calendar.

The younger students asked for a wide variety of applications, including ideas like:

  • a game that makes learning the Cartesian co-ordinate system fun
  • a narrative where aliens landed and the student must find a way to prevent their family from being abducted
  • an interactive hockey game, where correctly answering occasional math facts gave each player greater speed and dexterity when moving the puck

Here are some photos from our visits to the elementary school:

A grade four student operates a computer while a grade ten student looks on.

An older student looks on while the younger student provides usability feedback. Photo by Will Callaghan.

Two grade four students manipulate an iPhone while a grade ten points out some functionality.

Thunkable allowed my students to produce apps that ran on mobile devices for the younger students. Photo by Will Callaghan.

Two younger students listen while an older students explains some code running on a computer.

An LCS student explains how some of the code he wrote works. Photo by Will Callaghan.

A teacher observes two younger students trying out a hockey game written by an LCS student.

Good humour while a prototype of an interactive hockey game is demonstrated. Photo by Will Callaghan.

The hope was that by engaging with an external audience in a fairly authentic manner, my students would be motivated intrinsically to do their very best for this culminating task in the course.

Mario Treasure Hunt

The completed version of the game that teaches Cartesian co-ordinates through play.

What was the response like from my Grade 10 students?

Here are some comments offered through an anonymous end-of-year survey:

This culminating task was more meaningful because it was more interesting and realistic. I felt like I was doing a real job and I loved working with the kids.

Another offered:

For me, this culminating task was more meaningful, because I got to actually talk to people and it felt like I was really communicating with a user. Being with kids who have a lot of ideas was also helpful because then I could make my game more specific.

There were other similar responses.

100% of my students felt a similar culminating task should run in this course next year.

All of this makes it clear to me that how we deploy our courses – how we ask our students to demonstrate their mastery of expectations – matters a lot.


As described in the episode of 99% Invisible, it was not the benefits to residents of Karlskoga, or the town’s bottom line, that was the point.

It’s that well-intentioned city planners actually forgot to remember that women exist.

This would never have happened were there equitable gender representation in the city planner’s office.

The podcast episode describes several other examples of real harm that has come to women due to design that neglects to consider fifty percent of our planet’s population.

We cannot let the same thing happen in the software industry.

As teachers, we have a moral imperative to do everything we can to make our computer studies classes welcoming to young women and to other under-represented groups.

  1. Talking about historical gender balance in my Computer Studies classes is complicated by the fact that while I have been a teacher at co-ed schools, I have also taught at an all-girls and an all-boys school. In Canada, some might call that a hat trick. ^
  2. Cheryan, Sapna, Benjamin J. Drury, and Marissa Vichayapai. “Enduring Influence of Stereotypical Computer Science Role Models on Women’s Academic Aspirations.” Psychology of Women Quarterly 37, no. 1 (March 2013): 72–79. doi:10.1177/0361684312459328. ^
  3. The Ontario Curriculum, Grades 10 to 12, Computer Studies (Revised) (Toronto: Ministry of Education, 2008), 3. ^
  4. Except Riya Karumanchi, who is still in high school – but she is a pretty amazing special case. ^