WODs: An athletic approach to software engineering

CrossFit has the concept of a “Workout of the Day” (WOD), which is a short duration, high intensity set of exercises.  In this class, I adapt this concept to software engineering education.  My hope is that by focusing on the speed with which you implement high quality solutions to short development problems, you will:

  1. Gain fluency with your tools and technologies.
  2. Gain the ability to focus and enter the “flow state” during software development.
  3. Become more productive and useful in “bursty” development environments like startup weekends.

For more background on my approach to “athletic software engineering”, you can read this essay.

Rx, Av, Sd, DNF

For each WOD, I provide the following timing information:

Here is an example:

Rx: <8 min Av: 8-13 min Sd: 13-18 min DNF: 18+ min

So, in this example, completing the WOD in 8 minutes or less is “as prescribed”, 8 to 13 minutes is “Advanced”, 13 to 18 minutes is “standard”, and taking longer than 18 minutes is unacceptably slow.

Note that simply stopping work at a certain time does not mean you achieved the associated standard: your solution must have acceptable quality as well.

Practice WODS

For each module, I provide practice WODs as homework assignments, which you can time on your own. Before starting a WOD, I recommend you review and study the associated material so that you do not spend valuable seconds during the WOD doing “research”.

Assessment WODS

After providing you with time to practice some WODs, I will hold an assessment WOD, during which I will time your performance and your solution will be submitted for grading. For grading purposes, the criteria is that you solve the problem with acceptable quality under the DNF cut-off time.

Your grade does not depend upon whether you performed at Rx, Av, or Sd levels, only that you complete the WOD correctly before the DNF cutoff time.

The general procedure for an assessment WOD is as follows: