OOPSLA 2002 Tutorial Proposal

Learning and Teaching Extreme Programming

Joseph Bergin
Computer Science
Pace University

Laurie Williams
Computer Science
North Carolina State University

Extreme Programming (XP) is an emerging agile, lightweight development methodology. The practices and philosophies of XP challenge the software development methodologies used in industry today and those we have been teaching. As a result, as educators we must examine the educational implications of XP to determine which of these practices and methodologies we should teach and how we should go about teaching them. This tutorial will introduce faculty and industrial trainers to XP practices and philosophy. It will also give them classroom materials and activities that they can use to introduce XP practices to their students.

Tutorial Objectives:
We will introduce XP concepts, practices, and philosophy. Through a structured exercise called an Extreme Hour we will demonstrate the practices and give attendees an exercise that they can use themselves in the classroom. In addition, Williams will present her work with pair programming; workshop participants will participate in an exercise for introducing pair programming in the classroom. Bergin will discuss pervasive pair learning. The research possibilities of XP will also be discussed. Some of the techniques suggested can be used effectively with first year students.

Therefore, attendees will have a good understanding of XP, its implications, and how to use it in the classroom, and will have two or more classroom exercises they can use to introduce the ideas.


Attendee Background:
Educators and trainers interested in Extreme Programming, especially those who teach Software Engineering or IS and/or who are interested in introducing simple SE principles into the first courses. No prior preparation is needed. The exercises can also be used to effect in industrial settings.

Presentation Format:
One third will be lecture format. One third will be an active learning activity around the planning game, and one third will be an active learning exercise around paired work. Overhead Projector/ Computer projector or LCD panel required for the lecture portion.

Tutorial Length: Half day

Remarks: Bergin and Williams presented something similar at SIGCSE 2002. Bergin has done the Extreme Hour at XP Universe 2001 and in the classroom.

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 capturing of good pedagogy for many years 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, Extreme Universe 2001, and SIGCSE 2002. He is currently the Working Group coordinator for the ITiCSE 2002 conference of ACM in Aarhus, Denmark.

Laurie Williams is an assistant professor at North Carolina State University. Her research areas focus on software engineering and include pair programming, software methodology, experimental software engineering, and testing. She is particularly interested in software engineering best practices for eCommerce and other entrepreneurial organizations. From 1984 - 1993, Laurie worked at IBM in Raleigh, North Carolina. She is one of the founders of the first North American conferences on agile methodologies, XP Universe and Agile Universe.