XP Workshop


Joe Bergin

Jim Caristi

Rick Mercer

A workshop accepted for OOPSLA 2003 on XP in the first CS courses.

Extreme Programming Practices in the First CS Courses


Most of the practices of Extreme Programming are beneficial to students in their computer science courses.  For example, pair programming has already been shown to be pedagogically valuable (http://www.pairprogramming.com/WilliamsUpchurch.pdf).  There are also simple ways that students can learn to make increasingly good estimates of the time required for assignments.  Are there simple ways that enable students to learn iterative development early?  Are there simple ways for students to learn other beneficial practices that are part of "agile" methods?

Those of us who believe in the increasing importance of agile software development are also convinced that pedagogical changes are needed as early as CS1.  This workshop seeks participants who have significant ideas for changes that can be made in the early computer science courses that involve integrating any of the practices of Extreme Programming.  During the workshop, participants will critically discuss the ideas that have been suggested and explore any new ones that arise. 


This workshop will examine ideas for integrating XP and other practices of agile methodologies into early computer science courses.  Each idea will be evaluated on its merits in connection with an existing course in terms of how well it blends with topics that are already being taught, how easily faculty can use the idea in their teaching, and how effective the idea is in actually teaching an agile practice.


Would-be participants should send in a short position paper outlining one or two ideas they have for teaching agile practices in the early computer science courses.  Keep in mind that any ideas are constrained by curricula that are usually already overloaded and taught by faculty who may not be easily trained to do radically new things.  Participants will agree to allow their ideas to be shared via a web page to be posted in various CS educational resources repositories.


Joe Bergin has 30 years experience in teaching and more than 15 with object technology. He has recently given several Extreme Hours at conferences and in the class room. His students use various forms of XP experimentally to test the edges of the do-able. He has been an advocate for many years of capturing good pedagogy as a member of the Pedagogical Patterns community. Active learning and team based (collaborative) approaches are central to his pedagogy. He has presented workshops recently at OOPSLA 2001, XP Universe 2001, and SIGCSE 2002. He was the Working Group coordinator for the ITiCSE 2002 conference of ACM in Aarhus, Denmark.

Jim Caristi is a professor of math and computer science at Valparaiso University.  He presented a  very successful tutorial on Extreme Programming at SIGCSE 2002, and gave an invited address at Butler University on the same subject as part of their lecture series on software engineering.  He co-authored a paper, "Extreme Programming and the Software Design Course", presented at XP Universe 2001, and is co-chair of the educator's symposium for XP Universe 2001 and XP Agile Universe 2002.  He was the 1990 winner of the Sears-Roebuck Foundation Teaching Excellence and Campus Leadership Award, and the 1999 winner of the Distinguished Teaching Award of the Indiana Section of the Mathematical Association of America.

Rick Mercer has 19 years teaching experience Computer Science at Penn State and the University of Arizona. He has published four textbooks and a lab manual for the introductory course. He is currently co-authoring a sixth and is considering a CS1 book that employs test-driven development using JUnit. Rick has help organize several OOPSLA workshops on object-oriented design and is the Educator's Symposium chair for XP Agile Universe 2004 in Calgary (August 04).

The question posed for this workshop is "How can the practices of Extreme Programming improve the first CS courses?"

We seek to bring together people interested in developing and sharing resources to help answer this question.


Participants are asked to submit a short position paper outlining one or two ideas for the workshop. You can send this to one of the organizers, or put it on our wiki.


This page will be updated frequently.


XP Resources:

Testing in an Extreme Programming Setting.

Extreme Hour: Learning the Planning Game

There is a wiki for this workshop.


Last Updated: September 20, 2003