the pragmatic programmer

Course Materials


810:188

Agile Software Development

Fall Semester 2004


Getting Started

# Date Session Code Hmwk
01 08/24 A New Way to Program -- or Not? zip .
02 08/26 Trade-Offs, Change, and Agility zip .
03 08/31 A New Methodology for Software Development . .
04 09/02 The Role of Continuous Feedback zip .


Programming Agile

# Date Session Code Hmwk
05 09/07 Practice with Test-Driven Programming . HW 1
06 09/14 Unit Testing ... Toward a Project . .
07 09/16 Pair Programming to Pass Tests . HW 2
08 09/21 Managing an Agile Project . .
09 09/23 Planning the Course Project . Project 1
10 09/28 Introduction to Refactoring zip .
11 09/30 Working on Release 1, Iteration 1 . .
12 10/05 The Refactoring Process zip .
13 10/07 A Refactoring Challenge zip .
14 10/12 Refactoring and Release 1 . .
15 10/14 Pair Programming and Refactoring Exercise . .
16 10/19 Wrapping Up Loose Threads . .
17 10/21 Test-Driven Development and Refactoring Quiz . Project 2


Finishing an Agile Project

# Date Session Code Hmwk
18 11/02 The State of Agile Methods, World and Class . .
19 11/04 Working on Release 2, Iteration 2 . .
20 11/09 Mastering Tools and Software . .
21 11/11 Practice, Practice, Practice . HW 3
22 11/16 More Tools for Pragmatic Programmers zip .
23 11/18 Continuing Toward a Little Language . HW 4
24 11/23 Release 3 and Source Code Management . Project 3
25 11/30 CVS for Source Code Management . .
26 12/02 Developing with CVS . .
27 12/07 Pragmatic Debugging . .
28 12/09 Agile Development: Retrospective . .


Eugene Wallingford ..... wallingf@cs.uni.edu