June 5, 2012

...Learn TDD with Codemanship

SC2012 Schedule Announced

With Software Craftsmanship 2012 just around the corner, now seems like a good time to reveal some of the mammoth sessions we have lined up for your entertainment.

Download the schedule

I've made a conscious decision this year to encourage a smaller selection of more in-depth sessions, as always with a major hands-on element to stretch our coding muscles.

Generating De Bruijn Sequences - Daan van Berkel (2 hours)

Daan kicks us off with a session on generating De Bruijn sequences. Daan has created a GitHub project with a presentation and a Wiki where his discusses his session proposal. Daan will provide you with a set of unit tests, and your goal will be to make them pass by implementing the algorithm in Java.

Keywords: De Bruijn, Java, GitHub

Pair Programming Interviews - Hibri Marzook (2 hours)

Hibri works at our sponsor 7digital and has come up with a great session on using pair programming to gauge a candidate's basic abilities (and not just technical). Participants will test-drive in any programming language they like to implement a Linked List in the first part of the session and then Quick Sort in the second half, leaving plenty of time for discussion and lively debate on the use of of pair programming in the hiring process and the roles played within the pairs in such interviews.

Keywords: Pair Programming, TDD, Linked List, Quick Sort

Pathfinding Peril - Chris Parsons (2 hours)

Chris has run some very popular sesions at previous SC conferences, and this year has come up with a real belter. Building on the engine introduced by Matt Wynne at SC2010 for a "Robot Tournament", where the "robots" were players in a game of Tic-Tac-Toe, teams will create and evolve robots that will find their way through a maze, using the A* ("A-star") algorithm to search for the shortest path. Robots can be written in any Linux-compatible language (e.g., Ruby, Python, Perl, Haskell, Java), if memory serves. Chris will provide a Ruby gem to parse the mazes.

Keywords: Ruby, Linux, A-star, Robot Tournament, Maze, Graph, Game

Open Space (facilitators TBA) - 2 hours

In the afternoon, as well as some great planned sessions, we've opted this year to also leave room for impromptu short sessions. Again, there must be a hands-on coding element, but we're leaving the topics completely free - whatever you want to cover, it could be in the Open Space. You will need to ensure you can project your laptop video out put on a VGA projector (so bring those fiddly little adaptors if you're using a Mac). Session proposals for up to 30 minutes in length will be solicited during the morning, and we'll be letting you vote for the ones you want to see during our prolonged lunch break.

Keywords: Open Space, vote, anything goes

The Butterfly Flaps Its Wings: Is TDD Complex Or Simple? - Jamie Dobson & Steve Freeman (2 hours)

This session is an experiment that explores how different starting conditions (constraints) can affect the outcome when test-driving a problem. The idea is to have each pair program up a common example, an Engima machine, but with different starting conditions. Some will be environmental, such as functional vs. OO languages, others will be more about approach. jamie and Steve will ask people to checkpoint the code at intervals during the session to see how the design is evolving. We're very excited to have this session run at Bletchley Park, a place so closely identified with the Enigma machine, so look forward to something a little special. This session is being run at SPA2012, too - you can read their full outline here.

Keywords: Enigma, Cryptography, TDD, Complexity, Butterfly Effect

Team Dojo - Jason Gorman, Antony Denyer, Clive Evans (2 hours)

Team Dojo is an exercise in collaborative design and development. Participants will form into teams, each at their own table. Each team will be assigned a set of user stories and acceptance tests describing different aspects of the same problem. As a team, working in whatever style you wish and in whatever language you like (though help will be on hand for Java and .NET specifically), you will have 2 hours to create working software that solves the problem and passes all of the acceptance tests. The problem you'll be asked to solve will include a reapplication of a very famous network algorithm - PageRank - to calculate the "kudos" of a person within a professional social network, as well as one of a range of shortest-path algorithms to calculate the number of degrees of seperation between people connected in the network. Having run 2-day team workshops on collaborative design, I promise that this session will test your abilities in communicating, collaborating and making decisions to the absolute limit. You're welcome to use any infrastructure you like to share and manage source code and corroborate builds (e.g., GitHub, Bamboo, Cloudbees etc). Although teams won't be spoonfed solutions, hints and pointers will be provided if requested to keep things moving. Be prepared to use your initiative! Points will be awarded to teams for every acceptance test they manage to pass within the time allotted.

Keywords: collaboration, design, continuous integration, PageRank

In the evening, we have a proper hog roast planned (wth veggie options) and we're rustling up a haul of nerd-friendly swag for an auction to raise money for The National Museum of Computing, which already includes some very sexy one-of-a-kind items, so bring your cheque book if you want to be the proud owner of a piece of computing heritage and contribute to the brilliant work TNMOC do in preserving that heritage for us all.

The bar will open at 4,30pm, and once you've grabbed a drink I hope you'll join us in the ballroom to hear about the possibilities for SC2013 and register your vote for next year's organiser.

Posted 8 years, 8 months ago on June 5, 2012