In my last post on teaching, I talked about how my students all seemed to struggle with similar weaknesses in their ability to follow instructions or operate within an external, codified system. I felt like these skills were sort of representative of a larger group of skills that were building-blocks for success in mathematics and science, but not practiced (by default) in “high context” cultures.
(Remember, people in “high context” cultures tend to rely on non-verbal or “insider” information while communicating, while people in “low context” cultures tend to mean what they say and say what they mean.)
So why did I start teaching computer programming in my math classes? Well, at the time, intuitively it just seemed to capture the set of skills my students needed to practice. But later, as I began to think of programming in this framework of high and low context culture, I realized how perfect of a fit it really was.
Computer programming is the ultimate in low-context communication. You must be direct, unambiguous and efficient when you give a computer instructions. That’s the definition of low-context communication right there. You must operate by the computer’s external, standardized, inflexible, and explicit system.
My freshman year I had a friend taking a beginning programming class that would constantly scream at his computer, “WHY WONT YOU JUST DO WHAT I MEAN!” when his programs weren’t working. And that’s exactly the point. Computers act on the instructions presented, nothing more, nothing less. No body language, cultural ideas, shared history… what you say to do it does, and that’s that. Low-context at its essence.
Every technical discipline requires these low-context skills. A good mathematical proof is direct, unambiguous and efficient. So is a good scientific procedure. But what’s nice about computer programming, from a teaching standpoint, is that it exercises all these skills with a minimal amount of extra prerequisite knowledge. Teaching programming allows me to isolate and build low-context skills in my students before we even attempt to start tackling the more abstract thinking required in math and science.
It makes me wonder if the connection I’m seeing between low-context skills and technical disciplines is part of the reason why the people in these fields have such a bad reputation of being “socially awkward”. People that gravitate toward these areas of interest tend to form a subculture that is lower-context than the rest of society. In general, when someone from a higher-context culture tries to interact with someone from a lower-context culture, the person from the higher-context culture will often be frustrated that the lower-context person does not pick up on the non-verbal messages in the communication… that the person “doesn’t understand social cues”. (Simultaneously, the lower-context person will be frustrated that their higher-context friend doesn’t just say what they mean.) Sound familiar?
I remember being a part of a couple playful discussions at my engineering college in which we tried to rate departments based on their “social awkwardness”. There was always a lot of squabbling, but it seemed that in general, everyone agreed that computer science (including software engineering, etc.) was the most awkward. But this would make sense given all that I’ve proposed so far: computer programming being the lowest context discipline, it either attracts (or creates?) the lowest context group of people. In the eyes of the higher-context world that makes them the most “awkward”.
But again, just because you have strong low-context skills doesn’t mean you must lack high-context ones. (Any more than vise versa). They’re just two differing skill and value sets. Both can be learned, practiced, and modulated by an individual. Just because you spend most of your time working in a low-context environment doesn’t mean you can’t leave work, enter a different environment and switch modes – adjusting your communication style, values, and sensititivies to suit your new environment.
When I first came to Liberia I sort of had this idea I could learn the culture here, and then figure out how to teach math in a “culturally appropriate” way. And this has certainly been possible in the sense that I’ve figured out ways of presenting ideas and communicating concepts in ways that my students can identify with and understand easier. But fundamentally, mathematics is a low-context subject — there’s no “high-context” way of doing math any more than you can program a computer and expecting it to act on what you mean instead of what you say.
I think it really needs to be understood that teaching math to a group of people who are only used to operating in a high-context environment is so much more than just “teaching math” — it’s teaching how to function within a completely different culture, a completely different set of values, patterns of thinking, and ways interacting with reality. This is no small task!
When I start to think of my classes in that light it’s fun to realize that I’m not the only one thrown into a different culture and having to learn a different set of values and skills… my students are in the same situation! Realizing this helps me really understand and appreciate their progress.
In my next post, we’ll look at the actual programming I did with my students!
(Edit 4/13/14: If computer programming is low-context communication at its lowest, is poetry high-context communication at its highest? I sort of agree with the analogy, but would add that high-context communication includes forms of communication that isn’t verbal/written. So I don’t think it’s that simple.)