Peter Müller, what’s the point of studying computer science if AI is better at coding?
As AI chatbots steadily improve their coding capabilities, many young people are wondering whether it still makes sense to study computer science. Their fears are unfounded, says ETH computer scientist Peter Müller.?
A degree in computer science is as worthwhile as ever. There is, after all, a lot more to the field than just coding. The discipline covers many exciting topics, such as IT system design, security, and the continual improvement of machine learning and AI, to name but a few.
We’re still a long way from being able to tell an AI chatbot: “Implement an operating system for this new hardware, and make sure it’s fast and secure.” That’s a job for a computer scientist – for three reasons.
First, AI does an impressive job of carrying out relatively well-defined tasks such as coding an app or designing a website. But it can’t reliably develop sophisticated, secure, future-proof systems. That’s what we train our computer science graduates to do.
The expert
Computer science professor Peter Müller is an expert in programming languages. He researches new ways of coding, specifying and evaluating programs. He would still recommend that his 19-year-old daughter study computer science.
The ETH programmes in computer science teach students to use computer science concepts to solve complex problems such as crunching vast amounts of data. That requires analytical thinking and, in many cases, the ability to develop novel systems and algorithms. Computer scientists break big problems down into smaller ones until they can be solved using software. It’s a good thing if AI can help with those final programming tasks, because it makes software developers more productive – but we still need computer scientists to solve the complex problems.
Second, an AI requires detailed instructions in order to generate useful code. End users often have only a vague idea of what they expect from a software system. Computer scientists must be able to understand the users’ needs and express these precisely in technical terms.
That’s why ETH computer science students learn the skill of precise specification in the second year of their degree programme – not only for the core functionality of IT systems, but also for security and privacy.
Third, computer scientists still need to know how to program, even if AI might one day do the lion’s share of the work. Experts need to check, evaluate and improve the generated code – and in order to judge whether code generated by an AI is correct and secure, these experts must understand exactly how to write it!
In terms of what this means for teaching, we’ll probably see a shift in focus. In the past, programming courses were mostly about learning how to write code. In future, the ability to read and analyse code quickly to identify flaws and vulnerabilities will become more important.
It's quite a challenge for us lecturers, because we need to motivate students to practice their coding even if they would prefer to delegate programming to an AI. Ultimately, coding is a skill like playing a musical instrument: you learn by doing.