This thread is now available as a blog post:
https://innig.net/teaching/liberal-arts-manifesto
–––
In college, I took a class called The Letters of Paul. I took it for two very good reasons:
1. I was (and am) named Paul.
2. The prof, Cal Roetzel, was (and is) cool.
I didn’t figure it was an especially practical course. It was for fun, for the challenge, for the cultural knowledge, for the pleasure of doing it.
WHAT LIBERAL ARTS EDUCATION IS FOR: A THREAD
1/
The class turned out to be more less “A Letter (singular) of Paul:” we spent the semester reading Paul’s letter to the Romans, at a rate of about 3 sentences per week.
Why so slow? Because we read multiple translations of each of those sentences, and multiple commentaries on them, spanning many centuries — plus a bit of social and historical context. Slow, diligent, careful. And…
2/
We asked, over and over: “What do we think Paul was thinking, given that he chose those words? What do we think each commentator thought Paul was thinking? Why do we think they thought he was thinking that? Does it really make sense for Paul to have thought X? For us to think they thought he thought X?“ …etc. A theory of mind hall of mirrors!
3/
The heart of the course: “What can we learn about what other people are really thinking, about their mental models of the world, by paying very careful attention to the words they use?”
And I thought that course had •absolutely no practical relevance• to my career as a software developer until I started encountering text like this (from a presentation by Lenore Zuck, https://fm.csl.sri.com/UV10/slides/UV-Zuck.pdf, ht @AndrzejWasowski):
4/
When I’m on a software project, I try to listen hard to what everyone is saying, to the words they choose. “Don’t blame me! They asked for it!” is never good enough. I ask critical questions about what people are really thinking, what we’re all hearing each other say, from the start.
I have saved many companies on many projects a whole lot of money (and tears) by using that skill to nip misunderstandings and hidden assumptions in the bud early.
A skill I honed in a Religious Studies course.
5/
Here’s the hidden truth of education:
You don’t know what you’re preparing for.
Your teacher doesn’t know. Your school doesn’t know. Your future employer doesn’t know. Nobody knows. Not really.
Much of what you’re preparing for doesn’t even exist yet. We •hope• it doesn’t exist yet: don’t we educate students in the hope that they will make the world better by changing it? By creating realities that don’t even exist yet?
6/
Doesn’t that mean education is impossible then? Not at all! Because we’ve learned over time that there are kinds of learning that help you prepare for an unknown and unknowable changing world. We can do that learning with joy and confidence in its value if we accept that we will only understand its specific utility in hindsight.
7/
Is a Religious Studies course “for” a software career? Well, is a Computer Science course “for” a software career?
That Religious Studies course applied to my software career in •exactly• the same way that my Algorithms course applied: I rarely use (and have mostly forgotten) the specific knowledge from it. I use its approach, its patterns of thought, •constantly•.
8/
@inthehands I have said many times that I use my humanities degree more directly in my software engineering career than my computer science degree.
My humanities classes taught me how to speak to an audience, how to craft an argument, how to spot rhetorical sleight of hand, how to work across cultural differences.
My CS degree taught me how to build data structures that I just use libs for and resource management that the VM does for me and algorithms that I have long forgotten.
@q_aurelius
It’s all true. I should also say that CS education has not been standing still, and the kind you describe is not the universal norm anymore. In my own dept, collaboration, communication, clarity, problem-solving, careful reading, sussing out and reasoning about abstractions, being comfortable with the unfamiliar, and healthy responses to frustration (for example) are all among our intro courses’ primary learning goals.
@inthehands And to be clear, I don't think my education was bad or useless. That's just what would fit in a single post.
A detailed understanding of the fundamentals of computing helps me in lots of intangible ways.
And even for that era, my program was atypical. We were working in ANSI C while friends at other schools were using Java. My job in software engineering is akin to a skilled trade, and my computer science degree was organized to prepare me to do graduate research in computing.
@q_aurelius
Totally, right there with you. There’s a big tug of war in CS ed between “undergraduate CS is for software jobs” vs “undergraduate CS is for grad school CS,” and as you gather from my thread, I’m in this weird third camp of “undergraduate CS is for people to become the best human beings they can.” But I’m not alone!
@q_aurelius
I wish more folks in industry could see what cutting edge undergraduate CS looks like these days. So many of the “I wish my schooling had done X” things I hear professional devs talk about are things that we’re already doing. The classes I teach are very different from the ones I took 25 years ago!
@inthehands I'm with you on that one.
I've taught programming outside the university and humanities courses inside it. I think both types of programs can benefit from that approach.
The goal is to help students achieve their goals and figure out what they are, not to put them on train tracks and send them to the next stop.