LLMs: A New Way to Teach Programming with Daniel Zingaro and Leo Porter
As instructors and researchers, we’ve all seen how challenging it can be for students to learn to program. Students need to iteratively learn many skills, such as using correct syntax, tracing code, using common programming patterns, writing code, and testing/debugging the code they write. Struggling with any one of these tasks may mean that the student fails to solve the problem they wanted to solve.
In this talk, we’ll explore how Large Language Models (LLMs) like GitHub Copilot and ChatGPT can shift the skills needed to succeed at programming and enable more students to become successful programmers. Remarkably, this shift –- away from syntax and toward problem decomposition and testing –- may also be exactly what many instructors were hoping to be able to focus on in CS1 all along. You will learn:
-Why so many students struggle in CS1
-How LLMs change the skills needed to program, and how we might teach these skills
-How LLMs benefit students and instructors
-Concerns and questions around using LLMs
Daniel Zingaro Bio
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 the Python textbook that is currently being used for the course. He has also written dozens of research articles about how to teach and learn introductory CS. Dan has written two books with No Starch Press – the aforementioned one on Python and one on algorithms – that have been translated into multiple languages. Dan has received several prestigious teaching and research awards, including a 50-year Test of Time award and multiple Best Paper awards.
Leo Porter Bio
Leo Porter is an Associate Teaching Professor in the Computer Science and Engineering Department at UC San Diego. He is best known for his research on the impact of Peer Instruction in computing courses, the use of clicker data to predict student outcomes, and the development of the Basic Data Structures Concept Inventory. He co-teaches the popular Coursera Specialization "Object-Oriented Java Programming: Data Structures and Beyond" with over 300,000 enrolled learners and the first course in the edX MicroMasters in Data Science, "Python for Data Science", with over 200,000 enrolled learners. He has received six Best Paper Awards, SIGCSEs 50th Year Anniversary Top Ten Symposium Papers of All Time Award, an Outstanding Teaching Award from Warren College, and the Academic Senate Distinguished Teaching Award at UC San Diego. He is a Distinguished Member of the ACM and previously served as Secretary of the ACM SIGCSE Board.