Artificial intelligence is changing who can be a computer programmer.
Leo Porter, professor of computer science and engineering at the University of California San Diego, explores how.
Leo Porter is a Professor of Computer Science and Engineering at UC San Diego interested in computer science education research and computer architecture. Leo co-founded the Computing Education Research Laboratory, which is dedicated to better understanding how students learn computing and creating instructional environments where a diverse group of students can succeed.
Daniel Zingaro is an Associate Teaching Professor at University of Toronto. He has taught introductory Python programming to thousands of students over the past 15 years, and has written both no-GenAI and, with Leo Porter, GenAI Python textbooks. Dan has also authored and co-authored textbooks on algorithms and competitive programming, and incorporates as much research-backed instruction as he can into his writing.
Daniel Zingaro is an Associate Teaching Professor at University of Toronto. He has taught introductory Python programming to thousands of students over the past 15 years, and has written both no-GenAI and, with Leo Porter, GenAI Python textbooks. Dan has also authored and co-authored textbooks on algorithms and competitive programming, and incorporates as much research-backed instruction as he can into his writing.
Computer Programming in the Generative AI
When you think about computer programming, you might imagine arcane notations, perhaps spending time wrestling with words and symbols to get them exactly correct. And you’d be right – when writing programs from scratch in languages like Java and Python, these syntax rules pose significant challenges for people learning to program.
Today, Generative AI tools are changing how people program because they can generate syntactically correct code quickly. But because they can make higher level mistakes, they still need human supervision.
In our new introductory programming course, we teach students how to program in Python using Generative AI tools. We teach students how to prompt the AI in English, so that the AI can respond with Python code. Importantly, we teach students the skills they need to evaluate and correct that code.
It’s an open research question about how to best teach students to program. But our initial research into our new course is yielding positive findings.
For example, we have found that the course enables students to successfully complete large, meaningful apps, including games, visualizations, and analyses of large datasets. Encouragingly, these tasks are much more complex than students could complete In prior non-AI courses.
In surveys of our students, we found that almost 80% of students are comfortable programming with the support of generative AI, and that almost 60% felt that generative AI improved their conceptual understanding of programming. That said, some students felt that they had become over-reliant on the AI tools, or were confused by the code provided by Generative AI.
Contrary to what you might expect, the majority of students in our course are not Computer Science majors. They are in disciplines like sociology, psychology, business, engineering and science. We continue to study how these students may use generative AI to boost their careers through programming.
Read More:
Paper that contains the findings presented above:
Annapurna Vadaparty, Daniel Zingaro, David H. Smith IV, Mounika Padala, Christine Alvarado, Jamie Gorson Benario, and Leo Porter. 2024. CS1-LLM: Integrating LLMs into CS1 Instruction. In Proceedings of the 2024 Conference on Innovation and Technology in Computer Science Education V. 1
https://dl.acm.org/doi/abs/10.1145/3649217.3653584
Our book that our new introductory CS course is based on:
Leo Porter and Daniel Zingaro. Learn AI-Assisted Python Programming, 2nd Edition
https://www.manning.com/books/learn-ai-assisted-python-programming-second-edition
Other relevant articles/videos we’ve authored
AI helps students skip right to the good stuff in this intro programming course
AI gives nonprogrammers a boost in writing computer code
https://theconversation.com/ai-gives-nonprogrammers-a-boost-in-writing-computer-code-242256
Integrating generative AI with introductory programming
LLMs: A New Way to Teach Programming with Daniel Zingaro and Leo Porter
https://learning.acm.org/techtalks/llmprogramming
James Prather, Juho Leinonen, Natalie Kiesler, Jamie Gorson Benario, Sam Lau, Stephen MacNeil, Narges Norouzi, Simone Opel, Vee Pettit, Leo Porter, Brent N. Reeves, Jaromir Savelka, David H. Smith, Sven Strickroth, and Daniel Zingaro. 2025. Beyond the Hype: A Comprehensive Review of Current Trends in Generative AI Research, Teaching Practices, and Tools. In 2024 Working Group Reports on Innovation and Technology in Computer Science Education (ITiCSE 2024).