DEV Community

Cover image for Do Students Still Need to Learn Coding the Old Way?
Sarah Pan
Sarah Pan

Posted on

Do Students Still Need to Learn Coding the Old Way?

A friend of mine teaches at a university, and she has been noticing that more students are using AI heavily for coding assignments and projects. Some of them cannot explain most parts of the code they submit, and they struggle to build the same thing from scratch, but their projects can still work surprisingly well. They are able to turn an idea into something people can actually use from making small apps, 2D & 3D games, connect APIs. When they meet some troubles in their code, they first asked their AI to debug or not go to the Office Hour or discuss with friends. A few years ago, students would usually need much more traditional programming knowledge before they could even get to that stage, so this shift makes me wonder what learning to code is supposed to look like now.

I do not think this means traditional programming skills have suddenly become useless. Students still need enough technical understanding to notice when the AI is producing something unreliable and to understand why a project becomes difficult to maintain when they finding a job. AI can generate a lot of code very quickly, but it can also generate a very large mess with impressive confidence. Without some knowledge of data structures, students may be able to make a project look finished without really knowing whether it is stable.

At the same time, it may no longer make sense to require students to spend months proving they can build everything without assistance before they are allowed to create something useful. In most real jobs, people already use frameworks, libraries, documentation, search engines, code examples, and now AI assistants. The ability to work with tools has always been part of programming. What has changed is how much those tools can now do, and how quickly someone with limited technical experience can reach a working first version.

The biggest change may be who gets to build. A design student with a strong visual idea can create an interactive prototype. A film student can make a tool for organizing footage or planning a production. A humanities student who understands a niche community can build something for users that a traditional engineering team might never have considered. In this environment, creativity, taste, subject knowledge, and the ability to describe a problem clearly become much more valuable, because technical execution is no longer the only barrier between an idea and a working product.

This does not necessarily mean that art or humanities students will become more competitive than engineering students. It may mean that the advantage is shifting toward people who can combine several kinds of knowledge. An engineering student who understands users, design, and business may become far more effective with AI. A creative student who learns enough technical basics to evaluate and improve AI-generated code may also become capable of building things that were previously out of reach.

Maybe the real question is no longer whether students should learn programming in the traditional way, but which parts of traditional programming still matter most. Should they spend as much time memorizing syntax, or more time understanding systems, testing, debugging, and making good technical decisions? Should assignments measure whether students can write every line alone, or whether they can explain, verify, and improve what AI helped them produce? These are also questions that universities and instructors need to take seriously.

From what I have seen, many computer science and engineering programs still discourage or completely prohibit the use of AI and vibe coding in coursework. That concern is understandable, especially when teachers need to know whether students actually understand the material, but the curriculum also has to keep pace with the tools students will encounter in the workplace. If schools continue teaching as if these tools do not exist, they may leave students at a disadvantage rather than protect their learning.

I am curious how other developers and teachers see this. If you were designing a programming curriculum for students who will grow up with AI coding tools, what would you keep, and what would you change?

Top comments (0)