Beginning this semester, students enrolled in Computer Science 61A, one of UC Berkeley’s introductory computer science courses, will complete a project with the assistance of an AI coding agent.
This is one of many shake-ups to the CS 61A curriculum, as the course, which primarily sees students use coding language Python, will also transition its use of a 1970s-era language called Scheme to a more modern alternative, Gleam.
The project involving AI replaces one where students used Scheme, which has been taught in the course since 1986.
While the outlines of the course project will remain similar, with students building a system known as an interpreter that deciphers and runs code to produce line art, the project will now have students employ an AI agent to create an application visualizing their code.
According to class instructor John DeNero, a vendor for the coding agent itself has not yet been decided.
“They write the interpreter, but all the stuff to make that interpreter actually draw stuff on the screen, that’s where AI is a natural fit because there’s a lot of complicated details to get that right,” DeNero said. “That would be a lot to cover in a first semester course without using AI assistance.”
Scheme, the language Gleam will replace, was developed in the 1970s and is used in the influential 1984 textbook “Structure and Interpretation of Computer Programs,” from which CS 61A derives its official name. According to DeNero, the more modern Gleam is easier for students to read and work with.
In the new section of the course employing AI assistance, students will learn software engineering concepts that were previously only taught in upper division courses, according to an email from course staff to CS 61A students.
Ben Gong, a CS 61A student, said the introduction of AI large language models could cut down time spent on fixing minor errors that new coders make unintentionally.
“I think LLMs are a great help,” Gong said. “When I started learning coding, testing functions took hundreds of lines of code. I think LLMs are a great help when you understand the content and you just want to get some work done. But I do think that since LLMs are so readily available, people might not be as incentivized to understand the code since they might think there’s an alternative.”
To ensure that students do not rely solely on AI, checkoffs will be implemented for students to demonstrate their understanding of their own work against a new AI tutoring tool being developed by campus.
The course will also offer evaluations by course staff as an option for students instead of LLMs.
Course staff will administer quizzes to test student knowledge of take-home assignments. Additionally, the course will add a third midterm, CS61A teaching assistant Sriya Kalyan said in an email.
“It’s an interesting time in education,” DeNero said. “The behavior of students has changed pretty rapidly with the introduction of these AI tools. All courses are changing their format in order to make sure that students actually learn as much as they’re meant to learn.”
Overall, the point of projects in the course is to give students the chance to build something with the concepts they learn in class, and most students receive a perfect score in projects, DeNero said. He added that students will still write most of the code in the class.
“It seems like there’s a wide agreement in the department that students will be better off if they understand what they’re doing, understand how programming works, why programs are the way they are,” DeNero said. “They can read them, they can interact with them. It’s true that with AI, people become really capable, but that’s not evenly distributed. The people that really understand what they’re building seem to get a lot more benefit out of these tools than everybody else.”