AI in the Classroom: From Code Writers to Code Readers – How GenAI is Reshaping Computer Science Education

Avatar photo Dan Ouellette

As generative AI increasingly handles code-writing tasks, computer science education must pivot from teaching students to write code to emphasizing code reading, prompt engineering, and testing skills that will be essential in AI-augmented development environments.

The Unavoidable Reality

Generative artificial intelligence (genAI) is having a profound impact on education.  A student can submit just about any assignment question to a genAI tool and receive an increasingly sophisticated answer.  There is an intense discussion about what role GenAI should play in the classroom.  Some instructors are trying to bury their heads.  A November 2024 survey conducted by zyBooks learned that 19% of college instructors prohibit students from using AI tools.  Yet, GenAI usage has already begun for many students who began using the tools in high school.  The impact is unavoidable – instructors who ignore it may resemble the Coyote who realized he just fell off a cliff.  GenAI is changing how students learn, how material is presented, how assignments are framed by instructors, and how they are completed by students.

What Hasn’t Changed (And What Must)

Although the focus here is the impact of genAI in computer science education (CSE), there are similarities with other fields.  The goal of CSE should be to produce a software developer that can minimally function at an organization.  With or without genAI, the goal of an organization that produces software doesn’t change: software must be as bug-free as possible.  It might even be nice that the software “delights” the customer.  It follows that the responsibility of a developer at that organization doesn’t change either: they must produce bug-free code.  If the developer increasingly relies on genAI to “write” code, then her tasks necessarily change.  She must be able to read, understand, and integrate the generated code into the larger application.  But like the message-whispering game of “telephone”, some nuances in the desired code may be lost in the generated code.  There may be some logic unaccounted for.  She must now place greater emphasis outside of writing code since something else is increasingly performing that role.

The New Educational Blueprint

With genAI changing how a developer writes code, CSE must accordingly alter its approach. What the student learns must shift. Coding is part of the application development life cycle. Coding sits between design and testing. Design describes what the code will do, coding implements that design, and testing ensures that the code works. CSE must place more focus on design, including the relatively new skill of genAI prompt engineering. A more precise prompt conceivably should produce more precise code. CSE must also brighten the spotlight on software testing to validate the written and generated code. Of course, genAI is beginning to help in this area with its growing ability to produce unit tests – validation of blocks of code. Regardless of the capabilities of genAI, students still need to learn how to read code. CSE assessments should gradually shift from asking students to write code to asking students to read code.


“With Google reporting that ~25% of its new code is AI-generated and students increasingly relying on genAI tools, computer science education must shift from teaching students to write code to teaching them to read, understand, and test the code that AI produces.”


The Organizational Reality Check

No matter where that student begins their career, their employer will reconfigure them. No doubt the new software developer will hear, “That’s nice what you learned at Ivy University, but here’s how we write apps here”. Every organization that writes its own software takes a unique approach. Like a fingerprint, the organization has its own standards, libraries, and proprietary body of code. For a new software developer to function, they must learn this unique approach, mostly from reading the code.

There are two reasons, therefore, for CSE to focus more on reading code than writing code:

  • Every organization already has a large body of code that must be read and understood by its developers.
  • genAI is increasingly writing more of the code that is being used by the organization. It must also be read and understood. Google reports ~25% of its new code is produced from genAI.

Real-World Classroom Experience

I taught a web programming course at the University of Michigan. When writing the syllabus, I had an unprecedented struggle with how to set the genAI usage policy. The technology was so new. After talking with several people in academia and reviewing various university policies, I settled on allowing usage on anything done outside the classroom (55% of the final grade). Any use of genAI on homework had to be documented by the students.

Summarizing their reports at semester end found that:

  • Only 40% of students used genAI.
  • 50% of the uses were how to do something; 50% were how to address a specific error; all the uses were narrow.
  • 75% of the genAI responses needed some tailoring; 25% were right on.

The Inevitable Future

Two things will happen in the near future. First, students reporting genAI usage will reach 100%. Second, asking students about their genAI usage will seem quaint – like asking them if they have a laptop.

The Watershed Moment

Recent history has been a watershed in the availability and power of genAI. The technology is not just changing academia but society as well. In academia, course policy must allow for the use of genAI. The increased reliance on genAI by students means education must change. In the area of computer science education, there must be less emphasis on code writing, and more emphasis on prompt engineering, code reading, and code testing.

Avatar photo
Author Bio

Dan Ouellette

Dan Ouellette is a Content Author at zyBooks. He earned a BS in Computer Science from the University of Michigan and an MS in Computer Science from Eastern Michigan University. He has had several jobs in industry and taught over 70 college computer science courses in the areas of general programming, and database, mobile, and web app development. He enjoys college football, American history, and writing.