A code retreat is an event where developers gather and learn, by doing, the fundamentals of software development and design. This is more about improving the process of software development than learning, say, a new algorithm or a new programming language (although you could learn a new algorithm or a new programming language). Any programming language is welcome.
Because it gives the opportunity to take part in focused practice, away from the pressures of 'getting things done'. People can practice modular and object-oriented code design, testing, agile, or other techiques which look nice on paper, but developers are not sure if they will work for them - and moreover, devs don't have time to try these techinques out in normal times.
Must have: a laptop, a development environment (e.g. text editor, compiler and runtime) either installed locally or available remotely on a machine where the developer can login, test framework (e.g. pFUnit, JUnit, TestNG, PyUnit, Nose, or the developer's favorite test framework for his/her favorite programming language). It's ok if the developer does not have experience in the test framework(s) of choice, but must have it installed on the machine planned to use and must know how to use it for a "hello world" case: time is limited and we cannot waste it with time consuming installation and configuration issues (trivial or not).
Nice to have: a list of techniques to try, e.g. TDD-as-if-you-meant-it, test-first, avoid-conditionals, avoid-loops, write-short-methods, etc. The developer does not have to have this list, as the facilitator will guide through a list of possibilities. But having it will be beneficial, so that one can try things he or she is potentially interested in, instead of random ones.
You! We aim for about 50%-50% split between UCAR/NCAR and non-UCAR/NCAR participants. Register here.
Mesa Lab building. You can ask directions for the Damon room at the lobby.
Usually code retreats happen on Saturday and last 8 hours. Given that many software engineers have families and other committments, SEA is trying a different approach: doing half of a business day, starting after lunch and working until the end of the work day. Refreshments and coffee will be served at 1pm and available till the end of the session.
See the http://coderetreat.org website
As the Best-Practices chair on the SEA, Julianne Blomer will be the facillitator for the session.