Debugging the student
I’d like to explain to you what differential equations are. Imagine that we have the following:
f''(x) + 2 * f'(x) = 3 * f(x)
It’s saying that the second derivative of f(x)
plus two times the first derivative of f(x)
is equal to three times f(x)
.
Following me so far? No? Why not?
In order to understand differential equations, you have to understand what a second derivative is.
In order to understand what a second derivative is, you have to understand what a first derivative is.
In order to understand what a first derivative is, you have to understand what limits are.
In order to understand what limits are, you have to understand what functions are.
In order to understand what functions are, you have to understand algebra.
In order to understand algebra, you have to understand arithmetic.
In other words, there are dependencies. It’s similar to how classes in college have prerequisites. You have to take Biology 101 before you take Biology 102.
Except “biology” isn’t a single concept. Here I’m saying that at a more granular single concept level, there are dependencies just like there are with college classes.
It looks something like this:
Cool, let’s jump back to the differential equations example. In that example, I just started to explain differential equations to you without first checking to see if you know what a second derivative is. Or what a first derivative is. Or what limits are. Or what functions are. Or how algebra works. Or how arithmetic works.
Was that reasonable of me? Well, it depends on the context. If we’re in a college differential equations class, I know that the students have all already taken calculus and have the prerequisite knowledge for me to start explaining differential equations this way.
But what if I’m talking to a person off the street? Is it reasonable for me to assume that they know what a second derivative is? No. A first derivative? No. Most people have never taken calculus.
What about limits? That’s part of a normal high school curriculum, but most people have forgotton it by now.
What about functions? Maybe that’s more basic and would be something you can expect someone to remember? Well, I was recently explaining what a function in programming is to someone new to programming and I tried to use functions in math (eg. from high school) as an analogy, but he was rusty on how those work. So I’d say it’d probably be a good idea to check that they know how functions work too.
What about algebra? That’s probably basic enough that you can expect people to know it. Then again, maybe not. Maybe they’d need a refresher there too.
What about arithmetic? I think at this point it becomes a reasonably safe assumption.
To me, a big part of being a good teacher is traversing this dependency ladder appropriately. If the student doesn’t understand your explanation of differential equations, maybe it’s because they don’t know what second derivatives are in the first place, so it’d be good to check if they understand second derivatives. If they don’t understand second derivatives, then check to see if they understand first derivatives. In a way, it’s similar to a programmer debugging computer code. In this case it’s a teacher debugging their student’s understanding.
As a teacher, you don’t have to hit the right rung of the ladder on your first try. Maybe you start off towards the bottom of the ladder by explaining what functions are and the student tells you that they’ve taken calculus before but are rusty on it, so you proceed to move up a few rungs and do some quick checks on how well they understand first and second derivatives. It’s a back and forth dance that you and the student perform. You guys work together to walk up and down the ladder in order to find the right rung to begin at. From there, you just take things one step at a time.
(In reality it’s a graph with nodes and connections like the image from Khan Academy above, not a ladder. But thinking about it as a ladder is simpler and makes it easier to talk about.)
When I talk about the teacher and the student, I mean it in a general sense. If I’m giving you directions to the nearest gas station, I’d be the teacher and you’d be the student. I’m teaching you something. I’m not just referring to teachers and students in a classroom.
In life there are many little interactions like this where someone is the teacher and the other person is the student. Something that I find frustrating is that the teacher quite often makes the mistake of starting at a rung that is way too high. The equivalent of starting to explain what differential equations are to a person off the street without first checking to see where their math knowledge is at.
In theory, it’s not a big deal if you start off at a rung that is way too high up. The student can just say:
Um, excuse me. I actually never took calculus. I’m even rusty with my high school math, so I don’t understand what you are saying.
And then the teacher would realize the mistake, go down a few rungs on the ladder, and try to figure out what the right starting point is.
The issue is that in practice, this rarely seems to happen. I find that if I do something analogous to what the student did above, the teacher would pause, give a brief reminder of what a derivative is, and then, without pausing to see if I understood it, they’ll continue on with their lecture about how differential equations work. This reminds me of the blog post To listen well, get curious. It seems that teachers usually have a rundown of things they want to say and aren’t trying to check in with the student to see if the things they’re saying are actually registering with the student. As if it’s a one-way lecture rather than a two-way conversation.
I’m not sure why this occurs. Using the example of differential equations being explained to someone off the street, if you asked the teacher to reflect on this an hour later, they’d probably say:
Hm, yeah, in retrospect it was silly of me to assume that this person knew calculus.
But in the moment, I think it’s easy to get caught up in what you have to say.
They don’t know what a second derivative is? Ok, let me explain that quickly so I can continue what I was saying.
I don’t even think that this happens consciously. It’s just some sort of instinct. This is one of my biggest pet peeves and I myself still make the mistake all of the time. I often find myself noticing that I’ve made the mistake and then I kick myself for it. Maybe it’s unnatural for humans to be simultaneously keeping track of what they have to say while also thinking about whether the listener is keeping up.
Again, I’m really just spitballing here. I’m not sure why this happens and why it’s so hard to avoid. But I do feel strongly that a) it’s widespread and b) it’s important, so I’d like to call attention to it.
- Conversation, event loops, and error handling by 8 Jan 2021 8:05 UTC; 18 points) (
- 28 Dec 2021 7:09 UTC; 3 points) 's comment on Conversation as path traversal by (
- 8 Apr 2022 1:15 UTC; 1 point) 's comment on Duncan Sabien On Writing by (
I’ve taught and tutored math, and this concept is very familiar to me.
When tutoring, I will do as much debugging and back-and-forth as I can. Whenever possible, I would prefer to spend the time to really help cultivate understanding rather than just helping someone stumble through the homework.
When teaching, there’s a lot of constraints that limit the ability to go back and forth. Not all the students are at the same level, there’s a course curriculum that needs to be covered (as much as possible), and there’s simply not enough time to debug the least prepared student. Even if you attempt to do so, you’ll start to bore the rest of the class and waste their time.
The best balance I’ve managed to strike (in my limited experience) is to do short quizzes on prerequisites get an idea of where the class is, take some extra time on things that too many people have forgotten, give explicit instructions and invites to office hours and/or extra study sessions, and then just try and strike the best pace I can. If I get the “dead fish look” of glazed-over eyes from the class, I’ve lost them and need to slow down, schedule be damned.
One of my instructors in grad school actually took the time on the last day to write up a giant graph of all the major results from real analysis, moving downward as one theorem was used in the proof for another. After he finished, all I could think was “why didn’t he give this to us on the FIRST day of class???” In retrospect, I didn’t appreciate that thought enough, because it could have been useful to give something analogous to my students as a way to concretely check what they need to know going into each lesson or concept.
That definitely makes sense about it sometimes not being possible for various reasons, like larger class sizes or time constraints.
Our intuitions are more geared toward the assumption that everybody knows most of what we know.
That was a hypothesis of mine too, but it seems to only scratches the surface. If teacher stops to reflect, they’ll usually realize that it was silly to try to teach differential equations to someone off the street. It’s not that they “actually” think there’s a short inferential distance, it’s that they didn’t ask themself the question of what the inferential distance is in the first place.
I have not read the article fully (though I will) but I have to stop and immediately ask: Where is that graph from? Can I have it—preferably both the raw dependencies as well as the image?
Well, if I googled right the pic is from the Khan Academy Achievement System:
https://www.researchgate.net/figure/Example-of-badges-and-knowledge-tree-gamification-efforts-on-Khan-Academy-a-free_fig2_316636723
Not sure if the graph is accessible.
Yeah, it’s from Khan Academy. I found it by searching DuckDuckGo images. I recall coming across it on Khan Academy’s website in the past but couldn’t find it there anymore.