Jim Williams
Teaching Professor, University of Wisconsin–Madison
I teach introductory programming at UW–Madison. This fall I'm working on AI resilience in the College of Computing and AI, asking how our courses, grading, and policies should adapt now that AI can write much of the code we assign.
Current work: AI resilience
Fall 2026. With AI tools able to produce much of what we ask students to write, I'm looking at what our grades actually measure and how introductory courses should change. Questions I'm exploring:
- How much of a course grade is human-verified? Which parts of our grades rest on work we can confirm students did themselves.
- What are our AI policies, and what could they be? Taking stock of current course policies and exploring the alternatives.
- How should introductory programming adapt? Rethinking the intro curriculum for students who will learn and work alongside AI.
Teaching
- Fall 2025 – Spring 2026 CS 300 Programming I; CS 368 Java for Python Programmers
- Fall 2017 – Spring 2025 CS 200 Programming I
- Fall 2015 – Spring 2017 CS 302 Introduction to Programming
Carolyn Rosner Award for Excellence in Teaching, 2020
Read Java: practice questions on CS 300 content.
About
I've been writing software professionally since the 1990s and joined UW–Madison's Department of Computer Sciences in 2015.
Before that, I worked on small teams at a large telecommunications company building call-record processing systems in C and Sybase on Unix, and was an early employee at a startup where I built Windows database-marketing software in Delphi. In 2002, my wife and I co-founded Pronto Spanish, an eLearning business for occupational Spanish, where I led all technical work, including a custom learning management system built with PHP, MySQL, and JavaScript. I've been a certified Java programmer since 2000.
Outside work, I enjoy being a husband, father, coach, traveler, and host for exchange students. I grew up in Colorado and have lived in Wisconsin since 2002 with my wife and our three children.
Education
- Ph.D., Computer Science, University of Wisconsin–Milwaukee, 2014
- Minor in Educational Psychology. Advisor: Susan McRoy.
Dissertation: A Computer Learning Environment for Novice Java Programmers that Supports Cognitive Load Reducing Adaptations and Dynamic Visualizations of Computer Memory - M.S., Computer Science, University of Colorado, Colorado Springs, 1997
- Emphasis in Artificial Intelligence. Advisor:
Jugal Kalita.
Thesis: Natural Language Processing and the Minimalist Program
Outstanding Graduate Student, Department of Computer Science, 1997 - B.S., Computer Science, University of Colorado, Colorado Springs, 1992
Contact
jimw at cs.wisc.edu
608-262-6181
5649 Morgridge Hall, 1205 University Avenue, Madison, WI 53706