AI and Education: A Hard Topic
This is perhaps the tenth time that I have attempted to write about AI and/in education. Some of the earlier abandoned topics, technical and non-technical, include reasoning about why AI is not simply the calculator’s equivalent in education or implementing AI agents as perpetual in-house graduate assistants. Thinking about these abandoned ideas, I can categorize them into two kinds: either by the time I am slightly happy with my draft, the technologies have already moved past, or, I could not take a clear position and the writing ended up in the middle: it depends.
I think I have finally narrowed down to a topic that is still being actively debated and on which I have a strong enough opinion to take a clear position: What and how should we teach computer science students in the age of AI?
The Illusion of AI-Augmented Skills
This semester, I have noticed a marked decline in participation in our competitive programming club’s competitions. From my perspective, students seem less interested in foundational computer science skills, such as data structures and algorithms, than in previous years. I suspect AI may have something to do with this. Why put in the effort to study when AI can quickly provide both algorithmic suggestions and working implementations, often for free?
This creates a dangerous illusion in students’ minds: I don’t have to study, yet I can produce code that looks as good as anything written by more advanced students. Why should I spend my precious time grinding through LeetCode problems?
At a glance, this reasoning makes sense. After all, many students rely on calculators for complex arithmetic yet can still study advanced mathematics and other sciences. However, comparing calculators to AI is somewhat like comparing a bicycle to an interstellar starship. AI does not merely automate computation, but it can participate in the reasoning, design, and implementation processes that students are supposed to learn.
What these students may be overlooking is a different comparison. If students with limited foundational knowledge can use AI to produce work comparable to that of advanced students, what new levels of performance and capability might those advanced students reach with AI? A Chinese proverb, like a tiger given wings (如虎添翼), seems particularly appropriate here. Furthermore, if AI allows capable graduates to accomplish substantially more, employers may eventually adjust their expectations accordingly. I suspect that once the current employment uncertainty settles and the impact of AI becomes clearer, the entry-level hiring bar may no longer be just a tiger, but a winged tiger.
Making Tigers Fly
Traditionally, our computer science curriculum aims to produce tigers from kittens. Once the tigers graduate, they join large companies where they learn how to fly in the real world. Now that wings are available wholesale, companies want flying tigers right off the bat.
Some kittens think they can be as dangerous as tigers simply by putting on wings. Meanwhile, some adolescent tigers are bumbling about, testing out their newly acquired wings, since our curriculum still only covers the kitten-to-tiger learning path.
What to do, what to do.
The obvious answer is obvious: let’s teach flying. The problem is that it is not just flying. People don’t want just a tiger with wings. They don’t want crouching tigers or flapping-wing tigers. They want swooping tigers, diving tigers, and dogfighting tigers.
It is no longer kitten-to-tiger. It is kitten-to-griffon.
Back from Analogy Land
Some have argued for strict, back-to-paper approaches to teaching computer science. This approach may help ensure the development of foundational knowledge, but it does not account for the role of AI, which is arguably going to be a permanent part of computing practice. In other words, this approach may produce very strong tigers, but non-flying tigers nonetheless.
My thinking is that, instead of kitten-to-tiger or kitten-to-griffon, let’s aim for kitten-to-tiger-to-griffon, within the same time and financial constraints that our students already face. Instead of five data structure problems completed entirely by hand, let’s have students work through twenty in a scaffolded manner: ten with AI support, five with reduced AI support, and five with no AI support. Require students to explain and evaluate their AI-assisted solutions, then demonstrate that they can solve problems independently. Once they have developed those foundations, let them use AI again to tackle problems of greater complexity.
Let’s incorporate more substantial projects and meaningful documentation throughout the curriculum. Let’s learn to use AI to augment the assessment process without making it impersonal.
After all, only flying instructors can teach flying tigers.
Enjoy Reading This Article?
Here are some more articles you might like to read next: