Kent Beck's "Programming Intensive" Workshop
Kent Beck's workshop was a chance to spend a few days programming and thinking about programming.
We used "games" as the vehicle. That worked well enough - you can get the feel of a game without having to develop it all the way out. In the evenings, we were on our own to do some writing and exercises in thinking about software.
The first couple days, we focused on creating a crossword puzzle helper. The idea is that you'd populate some parts of a grid, and then the tool would fill in the remaining words. We got far enough into it to show it worked on moderate-sized examples, and to start optimizing.
The next program we worked on was a partially developed tic-tac-toe program. We completed some screen hookup and looked at improving the code. We spent a good bit of time contemplating a couple approaches to part of the problem, and how you'd choose between them.
Finally, we took a stab at something closer in spirit to an arcade game; a relative of the commercial games Pong or Breakout. We got as far as having a paddle and a ball bouncing around. We gave it a twist - you controlled the velocity of the paddle, not its direct position. As primitive as it was, Kent's children gave it a thumbs up.
The week was good for me. I got to learn some things about Eclipse, I got to learn some things about design. We had a couple stretches where we had the "flow" feeling of losing time in the zone. One of the puzzles I've been working through is how to take a thin slice of a system; I had some time to think about that.
Would I recommend it? Yes: I learned a lot, and found it great to spend some "renewal time" with others who just wanted to program.