Rob Dominguez

If you want to learn more about me, check out these posts. I've also got all my social links available right here.

← Blog

The Tutoring Bar is Open

What is a tutoring bar?

A tutoring bar is best described as an opportunity for one-on-one help. But it's so much more than that. In Prepared, Diane Tavenner, the author, proposes a spectrum of educators with which we're all familiar: On one end lies Ben Stein from Ferris Bueller's Day Off (an example of a dull and bad teacher) and, on the other, is Robin Williams from Dead Poets' Society (an example of the pinnacle of excellent teaching). Framed from a traditional context, these points of reference make total sense: one is inspiring, engaging, and empathetic to his students; the other is a monotone, well-dressed, robotic man struggling to keep anyone remotely awake.

However, Tavenner posits that the real continuum being illustrated is more emblematic of good and bad communicators, not educators. This distinction is critical. For as long as I can remember, my perspective on education - and more specifically on educators - revolved around that same ideal: to be a good teacher, one must be a good communicator. I still feel that way after reading Prepared. However, baked into that argument is the implicit understanding that teaching isn't necessarily all about communicating information or, more directly, about delivering content knowledge. Instead, teaching is about creating the conditions by which learning can happen and to help guide students along their way. The paradigm shift is away from a teacher being a deliverer of their own knowledge and instead a knowledgeable guide that can help students achieve outcomes 'on their own.'

If, even for argument's sake, you accept this notion, it stands to reason that students will not acquire knowledge at the same time. Thus, the most efficient teaching method by which one can spend their time isn't as someone standing in the front of the room (or on top of a desk in Mr. William's version), but rather someone who facilitates an environment that allows students to acquire knowledge at their own speed and to help them navigate roadblocks whenever they encounter them. Enter: the tutoring bar.

I like numbers. In her book, Tavenner makes mention of a series of surveys conducted to assess the effectiveness of their strategies at school; this data is what sold me on trying the tutoring bar concept for the first time. Continually, students at her school identified mandatory class meetings as having the least perceived value. Students who already had heightened content knowledge on a subject were bored; those who had gaps had difficulty keeping up. A single-speed class stuck to a track wasn't something that everyone found equally beneficial or enjoyable. It was inefficient.

So, what to do? Well, the data suggested that the most satisfaction for both teachers and students came during times when class attendance was low, the pre-planned lesson was abandoned, and the teachers helped the students individually or in small groups with concepts with which they had difficulty. In other words: tutoring.

How do I use it?

In the book, Tavenner explains how their school did away with mandatory class meetings, at least in part, and shifted to a model that emphasized tutoring opportunities like the one mentioned above. I neither have the authority to do away with mandatory synchronous class meetings nor do I think that's something capable of happening at my - or most - schools. However, during a 90-minute class meeting, I'm free to structure that time how I see fit.

My focus in experimenting with this methodology has been a middle school CS course that introduces the basics of OOP and the principles of CS. Prior to using my version of the tutoring bar, classtime would look something like this:

  1. Bellringer assessing the previous lesson's concepts/connecting to the current day's lesson [15 minutes]
  2. Guided discovery/notetaking on a new topic [40 minutes]
  3. Practice problems in the form of a pset; if not completed, do for homework [35 minutes]

In this version of my class, we'd roll through this process for 3-4 days per week; I was available to help during the 'pset' portion of the lesson. The 'icing on the cake' at the end of the week was a challenge problem that was meant to allow students to apply the concepts learned to date on an abstract problem with a series of desired outcomes and a set of constraints.

And you know what? It worked. From a cursory glance, this instructional design looks completely adequate to deliver content, formatively assess students' knowledge, and give them a form of summative assessment to see if they can apply what they've learned. Temporal chunking is present so students aren't stuck on one activity for a prolonged period of time; they have the opportunity for one-on-one time with the teacher; they can even collaborate and work together when they're stuck. Why change it? Because, if it can be better, why not try?

So, I set about challenging myself with one research question: How can I create an entire unit without one instance of direct synchronous instruction? I started sketching out ideas and trying to bridge what I'd learned from Prepared with my own educational background, experience, and the different technologies we have access to at our school.

I settled on this framework for a unit (typically one week's worth of material for a 90-minute block): tutoring-bar.png

Knowledge acquisition

Typically, this would have been the moment for direct instruction during class. For a significant portion of our time together, I would have been communicating and delivering knowledge that I had to students who, presumably, didn't have it. Instead, I replaced this portion of glorified lecturing with screen-recordings of me going over the same concepts I would have been delivering to the class. However, students have complete control over how to consume this information. They don't like me or the way I teach material? Great, here's a playlist on YouTube of real techies going over the same concepts. Don't like videos at all? Here's a list of blog posts and documentation you can read through to see the inner-workings of it all. Coupling curated resources that compliment - or even overlap - the outcomes I'm covering in my videos is key to student choice and student engagement in this setting.

Additionally, since I've recorded my instruction, students have on-demand access. They can slow things down, use captioning, or re-watch as many times as they need to in order to feel confident about the material. Plus, far fewer 'clarifying' questions on the lower-order side of things, which makes for a much more satisfied teacher!


In reality, students could jump straight into the self-assessment and use it as a pre-test to see what they do and don't know. If, by chance, they score 100%, then why sit through the acquisition phase? They can start working on their pset for that particular lesson because they've already demonstrated they have the content knowledge. The self-assessments I designed are intended to check for understanding; the majority of questions are lower-order Bloom's and generally have a couple of snippets of code each with a series of accompanying questions.

Periodization of content and splitting larger sets of outcomes into more manageable, related pieces is something with which all educators are familiar. These self-assessments are dependent upon a discrete set of learning outcomes being constructed in advance of the lesson being built. In order to know what to teach, it's first necessary to identify what students will need to know. In order to see if they have the base content knowledge necessary to complete a certain task, a formative assessment is necessary to check for their understanding.

I require students to score 100% on a self-assessment before moving onto the pset for that lesson. They can take these self-assessments as many times as they need to achieve that score. Most questions are multiple choice, but some are fill-in-the-blank. Luckily, the unforgiving nature of syntax in the languages we use allows for a very finite set of statements that can be written on a Microsoft (or Google) form. Feedback is instant and students know that they're accountable to go back and acquire that content they got wrong; additionally, they know that I'm available to help, too.

I've made a habit of keeping the backend of the self-assessments open during class; it provides me a barometer for how the class is progressing as a whole, but also which individual students are having trouble and where in the lesson they need an intervention. This allows me to be much more targeted and has resulted in more efficiency with students and, again, greater satisfaction for me as a teacher.


I love a good pset. This is a targeted opportunity for students to practice the skills they've just learned. In reality, for each lesson, it's the first chance they have to write any code. That's on purpose. I think a lot of value is placed on students learning from within an IDE or a terminal window; but before a student starts working with tools or building blocks, they first need to understand how they should be used or how they all fit together. I think this clip from The Office does a great job of illustrating this pedagogy.

Just like Nate, if a student doesn't know how to use the tools they've been presented, then they're not going to have any real success in using that knowledge in the pset. Luckily, there's less hornets in my CS class (not none, just less).

In a typical day, this is where I spend most of my time. Students are pretty quick to move through the resources I've created or curated for them and self-assessments average 2-3 attempts per student. During class I'm constantly circulating and looking for students that have error messages logged to the console or just look stuck. Proximity appears to still play a role - at least with middle-school-aged students - in prompting a raised hand. If I do approach a student unprompted, I make an effort to be as casual as possible, letting them know they don't have to accept my help. I'll generally ask, "Looks like you're a little stuck with [insert topic], do you want to talk through it, or keep working on your own?"

What's it been like for my students and for me?

The anecdotal feedback from my students is that they enjoy class more. When I press them on why they're enjoying it more, responses are varied but tend to include these components:

  • "I can go at my own pace."
  • "I feel like I'm in control."
  • "I get help when I need it."

On average, students knock out a lesson/day for the first few days of the week. That generally leaves them two days to work on the challenge problem. I make it due the following Sunday night for anyone that wants/needs to work after our class meetings are complete for the week.

As a teacher, there's the obvious benefit that I've alluded to several times, which is that it's a more enjoyable experience because I get to focus on what's arguably the best part of the job: working alongside students to help them understand a concept. Because of this one-on-one approach, I feel like I've gotten to know my students better and have a sense of who they are as individuals opposed to the composite identity of the class as a whole.

Logistically, it's been a lot of work in the beginning to get units set up. However, all of this work I've done is now reusable; I can do a wholesale reboot of the material next semester or swap pieces in and out as I see fit. We're a Microsoft shop, so my workflow is all inside one ecosystem:

  1. Record screencasts using Microsoft Stream
  2. Create self-assessments using Microsoft Forms
  3. Create psets using
  4. Copy/paste all these links onto a page for each lesson -- these are all embeddable and appear right inside a student's OneNote
  5. House all those pages inside a tab for a unit
  6. Push the unit out to the kids

Long story short: especially in a hybrid setting where student are in different locations, this is here to stay for my CS classes.