In This Era of AI, Will Everyone Be a Programmer?

In the retooled, foundational course, “Introduction to Programming and Computational Problem Solving 1”  launched this fall, Porter is teaching a class of mostly first-year UC San Diego students with a curriculum that incorporates LLMs. On the first day, when students saw how well the AI-tool Copilot could write code to solve basic tasks, there was an audible expression of surprise.  The surprise was quickly tempered when the AI made a mistake shortly thereafter, allowing Porter to show students that these tools still need experienced and capable human supervision. 

For Porter, this is all part of reaching a bigger and broader aspiration: “Computing for All is a goal for many of us in the CS Education community. Computing is so ubiquitous in society in the modern era that fluency with computing topics should be taught to everyone just as we teach everyone reading, writing, and arithmetic,” said Porter, a teaching professor in the Department of Computer Science and Engineering at UC San Diego’s Jacobs School of Engineering.

Porter has coauthored a book with Daniel Zingaro, a faculty member at the University of Toronto, “Learn AI-Assisted Python Programming with GitHub Copilot and ChatGPT” to solve long-standing issues with how programming is taught. The co-authors look to LLMs to stretch learning objectives and potentially level the playing field in computer science.

“Computing is so influential on nearly every element of society that we need to ensure everyone has access to opportunities to learn the field and, in turn, enter the profession,” Porter said.

Teaching the Joy of Coding

A group of high school students are huddled over one smart phone, poking at the screen and laughing. But in this class at the Preuss School UCSD they’re not being disruptive —they’re actually testing a game app for smartphones that they programmed themselves.

It’s all part of CSE 190, a computer science class at the University of California San Diego, designed to prepare undergraduate students to teach others how to code in the wild—in libraries, as well elementary, middle and high schools. The class is taught by Sarah Guthals, who earned a Ph.D. in computer science at UC San Diego in 2014 and received a Forbes 30 Under 30 award in 2016 for her efforts to teach children how to code.

Guthals is now a manager at GitHub. But she came back to campus as a lecturer to share some of the things she’s learned while cofounding a startup, ThoughtSTEM, and then working for a large tech company. For CSE 190, she talks to students about effective teaching practices and how to navigate programming environments for people who are just starting to learn how to code. Guthals works with students to design and implement engaging projects. Then she releases them into the world to practice what they’ve learned.