Extreme Programming as a Teaching Process

Programming languages are often chosen as "teaching languages" for beginning computing courses in a variety of fields such as computer science, computer engineering, and software engineering because they convey fundamental principles without being overly complex. Pascal and Java are examples of popular programming languages that have been used as teaching tools during the last decade. If a students can master a teaching language, the reasoning goes, he/she can will be able to easily advance to more complex, domainspecific languages. Likewise, Extreme Programming (XP) might be considered an appropriate teaching software development process because it teaches the fundamentals of software process without being overly complex and time consuming. One might contend that if a student masters the twelve practices of XP, it is likely he or she will be able to adapt these practices to others that might be more appropriate in a given context.Our panelists will comment on their agreement (or disagreement) with this panel's premise and will debate the virtues of XP as a valid vehicle for training software professionals in academic setups.