Production programming in the classroom

Eric Allen, Robert Cartwright, Charles Reis
2003 Proceedings of the 34th SIGCSE technical symposium on Computer science education - SIGCSE '03  
Students in programming courses generally write "toy" programs, even when the size of the assigned projects is large. Programming assignments are written, superficially tested, graded, and then discarded. This approach to programming pedagogy leaves students unprepared for production programming in the workplace because the gap between writing toy programs and developing reliable software products is enormous. This paper describes how production programming can be effectively taught to
more » ... taught to undergraduate students in the classroom. The key to teaching such a course is using Extreme Programming methodology to develop a sustainable open source project with real customers, including the students themselves. Extreme Programming and open source project management are facilitated by a growing collection of free tools such as the JUnit testing framework, the Ant scripting tool, and the SourceForge website for managing open source projects.
doi:10.1145/611892.611940 dblp:conf/sigcse/AllenCR03 fatcat:coebvuokw5dnlid6s6chzxvsai