Paul Chiusano

Functional programming, UX, tech


About my book

My book, Functional Programming in Scala, uses Scala as a vehicle for teaching FP. Read what people are saying about it.

Popular links

Unison: a friendly programming language from the future the worldwide elastic computer (coming soon)
Type systems and UX: an example
CSS is unnecessary

Good teaching makes long-term investments in the learner

[   culture   econ   education   fp   ]            

In my post on “Worse is Better”, I stated that software development could be viewed as a form of investment management:

When a company or an individual develops a new feature, inserts a hack, hires too quickly without sufficient onboarding or training, or works on better infrastructure for software development (including new languages, tools, and the like), these are investments or the taking on of debt. Investments in software development bring risk (we don’t know for certain if some tech we create or try to create will pan out), and potential returns. Modern portfolio theory states there is no optimal portfolio, but an efficient frontier of optimal portfolios for each level of investor risk tolerance. In the same way, there is no optimal portfolio of software investment. Questions about whether an investment in new technology is justified therefore cannot be settled at the level of ideology or sloganeering. Actual analysis is needed, but “Worse is Better” pushes us unthinkingly toward the software portfolio consisting entirely of government bonds.

That same lens applies to another subject, teaching and learning, and it has some interesting things to say.

How is learning like investment management? Whenever you decide to spend time learning a subject, you’re expending limited resources (your time and energy) to acquire an asset—future knowledge. We might say that you’re “paying for” future knowledge using the “currency” of your own time and energy, which isn’t really much different than a portfolio manager purchasing a stock or bond for their portfolio. Like the portfolio manager, you have some expectation about the future value of this knowledge you’re attempting to acquire. And like the portfolio manager, who can’t know with certainty the future value of assets purchased, you are facing uncertainty as well—before learning a subject, you don’t necessarily know what its value will be to you.

There is a cultural tendency, pragmatism, to learn only what is deemed necessary and useful in the short term. On the one hand, we have the seemingly reasonable argument—why go to the trouble of learning something before it’s clear you need it, and before it’s clear it will be useful? But putting on our investment management hat, we can see that the same argument made for software investment applies here. Learning only obviously useful things when it’s clear you need them is the analogue of the portfolio consisting entirely of government bonds. In the long term, devoting at least some of your portfolio to assets other than government bonds yields higher overall returns. Likewise, learning some subjects before you’re sure you need them, and before society has definitively concluded the subjects are useful, is eminently practical. These riskier investments need not be the entirety of your learning portfolio, but making them some portion of your portfolio is entirely justified, even if you have no interest in learning for its own sake.

So far so good. Now let’s consider teaching. Teaching can also be though of as investment management. In a curriculum, whether in book form or any other form, the teacher expends a limited resource (the learner’s time, attention, and energy) to acquire an asset—knowledge in the mind of the learner. We might say that the teacher is buying knowledge for the learner, using the currency of the learner’s time and attention. Once again, there is a cultural tendency to teach only what is deemed necessary and useful in the short term. On the one hand, we have the seemingly reasonable argument—why go to the trouble of teaching something difficult, “before the learner really needs it”, and before it’s clear the learner will find it valuable? And once again, putting on our investment management hat, we can see the same counterargument applies–teaching things that are challenging now can be investments in the student’s long-term learning of that subject.

If you are a teacher, and you sincerely believe in the value of what you are teaching, then making long term investment in the learner not only makes sense, it’s an honest and respectful way of teaching. You are saying to the learner “I believe in the value of what I am teaching enough to invest in helping you develop a deep understanding of it”. You are also sending the message that you believe the learner is willing and capable of developing this understanding. This is something that learners of all skill levels can appreciate, regardless of what they decide to do with their learning. In contrast, the tendency to teach “only what is necessary” implicitly makes the pessimistic assumption that the learner is uninterested in the subject and unwilling or incapable of learning it!

What’s at the root of the unexamined pragmatism we see in teaching? Our educational system has “cured” many people of their natural curiosity and love of learning. There’s a culture that views learning as a traumatic activity, and newcomers to a subject are therefore to be shielded from the trauma of learning. The goal of teaching becomes (implicitly) to teach as little as possible in order for the learner to “get the job done”. And just what is “getting the job done”? The implication here is the subject is just a means to an end. But what end? If the subject is worth knowing, then investing in the long term learning of the student in that subject is entirely appropriate and will pay dividends many times over. Avoiding deeply teaching a subject or giving explanations that are wrong or misleading (but require less learning in the short-term) is analogous to taking on debt or purchasing only safe assets.

There’s nothing inherently wrong with this sort of thing, but let’s be honest about the fact that learners are being sold a portfolio full of government bonds, and let learners make an informed decision that this is what they want.

Everyone has opinions about the way rich, deep subjects like functional programming should be taught. But behind the bikeshedding about things like whether to call monoids “appendables” or whether monads should be called “workflows”, there’s a question—what sort of portfolio are we trying to build for learners? What are the investment time horizons? In functional programming, if the goal is just to provide the minimum of intuition needed to “get by” in the short term, then perhaps “appendable” and “workflow” are fine, and one shouldn’t bother mentioning abstract algebra at all. But if the goal is promoting deep understanding and long-term learning, then getting learners comfortable with the concept of abstract algebraic structures like monoids and monads is critical. So is learning that these structures are part of a grander zoo of interesting creatures that have been studied by mathematicians and programmers.

Reasonable people can disagree about the best path toward these goals, but watering down a subject or tiptoeing around fundamental concepts because they might be challenging for learners is just saddling the learner with debt they’ll have to pay back later. If you expect the learner to stick around, and if you really believe in the value of a subject, you owe it to learners to teach the subject deeply and honestly, in the best way you know how.

comments powered by Disqus