Introducing Pair Programming and Test Driven Development to the Portland State University ACM.
I'm David Whitlock and I teach the Advanced Java Programming course at Portland State University. During the day, I lead Teams at Tripwire in downtown Portland. I'm also a member of the Steering Committee for the PCEP internship program at PSU.
I'm Jason Owen, and I graduated from PSU with my bachelor's in computer science. I was part of the CAT, part of the first group of PCEP interns, and now work as a software engineer at Tripwire.
In order to evolve and revolutionize what we do as software engineers, we need to evolve and revolutionize how we do it. Two tools that we have to improve the design and implementation of the code that we write are pair programming and test driven development.
To give you a better idea of what Pair Programming and TDD are all about, Jason and David are going to develop a solution to the simple FizzBuzz code kata. Jason and David will implement it in Java using the IntelliJ IDEA IDE, the gradle build tool, and the JUnit and hamcrest testing libraries. We'll publish our solution to a public GitHub repository that you can clone or fork. If you're not not familiar with git, you can download the source code as a zip file.
$ git clone git@github.com:DavidWhitlock/PairingAndTddNov2015.git
$ cd PairingAndTddNov2015/FizzBuzzKata
$ ./gradlew build
$ ./gradlew idea
Once we've seen a live performance of Pair Programming and TDD, everyone will have an opportunity to try pair programming and TDD for themselves. In my GitHub repository there is the skeleton of a Java project that can be used to implement a program that calculates the score of a game of tennis.
$ cd PairingAndTddNov2015/TennisScoreKata
$ ./gradlew build
$ ./gradlew idea
I'm interested to hear your about your initial thoughts about and experiences with pair programming and TDD. Let's conclude tonight's session with a discussion of what you've seen, what you like, and what you didn't like.
Jason and David recorded their Pair Programming and TDD live coding and put it on the YouTube. Thank you to everyone who attended!