Over the weekend, I read a couple of blog posts by programmers who were teaching workshops to either students or teachers, and who were quite amazed at how hard it was to teach. They didn’t come out and say that they thought teaching would be easy, but they implied that by talking about the challenges they faced. They weren’t condescending at all, just clearly surprised.
And then there’s all the venture capitalist folks who think software is going to replace teachers any day now.
Education, teaching and learning are challenging. People are often surprised by what happens in the classroom, of having to deal with different levels of students, of realizing that students don’t have some foundational information that you thought they would, of realizing that just telling them something doesn’t mean they actually learn it. There is research out there that helps, but every day, you have different variables, so you try things. And sometimes it works.
I don’t mean to be hard on the programmers trying to teach, or even the software developers trying to create something that will help people learn. But the truth is, teaching is something we’re still trying to figure out. If we had all the answers, then good teachers would be spitting out students who know everything they need to know and are equipped to continue learning all the time. But we know that doesn’t happen. And it’s not just that those good teachers miss a couple of students. Sometimes they miss a lot. Because there are other factors. Learners learn in different ways. Learners face challenges like poverty, drug addiction, lack of parental support that take up their cognitive capabilities, leaving little room for learning math or science.
And for the record, I find programming hard. And I have much of the foundational knowledge to do some pretty complex programming, but I still struggle with it. It takes me hours sometimes to do pretty simple things. In part, that’s because my job is teaching, not programming, so I have less practice. During the school year, I probably spend less than 2 hours actually programming things. The things I do program are simple activities for my students. They’re not complex, real-world problems. I’ve tried to remedy this in a number of ways, trying to make time for some “real” programming (I did some this weekend, in fact), but I spend most of my off time, grading, giving feedback to students, planning ways to teach basic concepts, all that good stuff. So I admire programmers, because I know they’ve had some practice and I admire them for wanting to share their knowledge with others, but like programming, teaching takes practice. And I’m going to guess that programmers spend as much time teaching (at best) as I do programming. We have a lot to learn from each other.