ChatGPT and the Value of a Computer Science Education

I know lots of software developers are all up their feels right now over what ChatGPT (version 4 out now!) means for the future of the industry. But as someone who regularly recruits and hires college graduates for their first jobs in the field, I’m more interested in how it’s going to impact the future of computer science education.

The TI-83

I was in grade school when Texas Instruments’ series of graphing calculators broke onto the scene and math education as we knew it was over. Why did I need to learn how to solve a quadratic equation by hand when this magical tool could do it for me?

“You won’t always have your TI-83 handy” the powers-that-be argued. “What if the batteries run out in the middle of a life-or-death situation requiring that you solve for the zero points of a cube root?”

In the intervening years, I believe the educational establishment has adapted, and the answer was obvious in hindsight: Any tool is only as powerful as the user wielding it. The graphing calculator wasn’t a dead-end for learning math. Instead, it was an assistant to allow people to do more powerful math easier.

It supplanted the slide rule and trigonometric tables, not mathematics knowledge itself. When solving equations, it is still valuable to have strong fundamentals to be able to intuit whether a given answer “makes sense.”

The Current State of Computer Science Education

As a generalist software consultancy looking to hire new junior developers, we value two skills above all else:

  • Communication with fellow humans
  • Creative problem-solving with fuzzy inputs

I don’t think we’re alone in valuing these abilities. Strangely, these seem to be two of the most neglected areas in a typical undergraduate bachelor’s program in the U.S.

What CS programs do seem to emphasize are the extremely mathematical and theoretical underpinnings that make up the “Science” portion of the field (it turns out that hasn’t really changed since I was in college). Of course, this happens to be the same stuff ChatGPT is great at!

For example, here’s a problem I took straight from an MIT Open Courseware Intro to CS course:

A stated problem description for writing a program to determine the largest number of McDonald's Chicken McNuggets that cannot be bought in exact quantity by solving a Diophantine equation, along with accompanying code solution written in Python generated by the ChatGPT AI. The problem details and code are not relevant.

ChatGPT came up with this response faster than I could even read the problem statement after pasting it into the prompt. I was still trying to remember what a Diophantine equation was when it finished.

Another Graphing Calculator Inflection Point

The conclusion here should be obvious, but I’ll state it for all my non-sentient AI readers: I don’t believe ChatGPT is presaging an end to computer programming jobs (or humanity in general). However, I believe CS education is in for a reckoning.

The future of CS jobs is not based on whether you can compete with an advanced technological tool, but on how well you can wield that tool. Institutions that try to simply ban the use of AI tools in the classroom will be fighting a losing battle. “But you won’t always have an LLM AI in your back pocket!” they’ll scream into the metavoid.

It will still be vital to learn the ability to reason about the quality of a bit of code, or even what code needs to be written. I asked ChatGPT for a solution to a more real-world industry problem, and I’m not quite sure it’s ready to supplant McDonald’s human software team:

I ask ChatGPT to write me an app where I can track my Chicken McNugget supply chain, and it gives me an extremely simple python-based command line program that would just allow you to keep track of how many McNuggets you personally had, while the program was running.

My Advice to CS Students & Educators

Electricians have access to wonderfully powerful diagnostic tools that allow them to do things like check if a wire is live without having to lick their fingers and touch it. But ask any experienced electrician and they’ll tell you how easy it is still to fatally electrocute yourself on the job if you don’t know how to use your tools correctly.

If you’re involved in the business of computer science education, I think you should embrace Large Language Models (LLMs) like ChatGPT as tools to make your life easier. Make sure you understand their strengths and weaknesses (and, yes, ethical implications). I still want students to learn the fundamentals of Computer Science, but the abstract theory shouldn’t scare away or be used as a gate to weed out people who simply have a passion for writing code. As much as possible, curricula should emphasize all the problem-solving skills that allow students to be successful working in a field where such powerful tools like ChatGPT exist.

Meanwhile, as a student, make sure you’re spending time working on all the things ChatGPT and the like can’t do. Build meaningful relationships with other humans. Have opinions about ethical issues, and care about how your choices will impact those other humans! Try to solve problems that don’t have clear solutions. Question the status quo. And always, always make sure you can identify crosswalks from a grid of nine blurry street scenes.

Conversation

Join the conversation

Your email address will not be published. Required fields are marked *