O’Riordan, Adrian (2011) Authenticity in workplace technologies training via pragmatic programming. [Conference Proceedings]
This poster describes a new approach to the teaching of workplace technological skills in computing. It also summarizes the experience of applying this to training undergraduates about to start their third year industry placement in Computer Science. By Pragmatic programming [Hunt and Thomas, 1999] I refer to “programming from the trenches”, programming craftsmanship with the tools, techniques of software development today.The term authenticity [Reeves et al., 2002] is chosen to emphasize the actuality of doing as well as a verisimilitude (truthfulness) to professional practice. This is as opposed to other related approaches such as Reavens’ action learning (which has more of an emphasis on performance), problem-based learning, or inquiry-based learning (which is more open-ended). The focus is on the activities of a programmer as opposed to learning about programming. The tasks are real-world tasks that are sustained over a period of days. This is facilitated by an agile approach to software development, which supports a flexible incremental lifecycle of short activities and review [McAvoy and Sammon, 2005].The problems need to be sufficiently complex to warrant creative problem solving and all actions in authentic practise should have logical and reasonable consequences. The tools and methods used are those used by professionals. Some tasks are intentionally ill-defined to spur student investigation [Bransford et al., 1990]. Students must work in pairs, but not in larger groups as in many other constructivist learning approaches. Pair programming is a tenet of many agile methods in software development, such as Extreme Programming [Beck and Andres, 2004]. The primary coding technique the students use is refactoring [Fowler et al., 1999] - restructuring code in a disciplined way.The Workplace Technologies module enabled students to gain practical programming skills with a flexible, tools-based, and agile approach to software development. There was a high-level of engagement by students and a desire to take the work further. The majority of students were able to accomplish a series of complex tasks involving test creation and code restructuring in a tight timeframe.
Download (11MB) | Preview
Downloads
Downloads per month over past year