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 system development education. My hope is that by focusing on the speed with which you implement high quality solutions to short development problems, you will:
Timing your workout is important! It enables you to tangibly measure your improvement!
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.
For each module, I provide 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”. For grading purposes, the criteria is that you solve the problem with acceptable quality under the DNF cut-off time. You submit a screencast of you performing the WOD narrating your solution. You record your last performance time (as indicated by the screencast) and reference to the screencast and code repository to the WOD Assignment on Laulima. This is your “WODvelope Card” and you are responsible for maintaining it accurately and keep it up to date. If you do not update this or it is inaccurate you may not receive proper credit.
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 a WOD is as follows:
Get some form of timer to keep track of your WOD time (also to use in class). You can use anything online such as
http://www.online-stopwatch.com/ or http://www.timeanddate.com/timer/ or install something to your browser such as https://chrome.google.com/webstore/detail/timer/edebbhkhcaafmolanelponjjanocpacd?hl=en
To record your WOD screencast, you do not need special screencast software. For Mac you have several free options:
For Windows, you can try:
Notes:
You may repeat the WOD as many times as you wish get under DNF. If you do you get under DNF before the WOD is due you should submit whatever you have done and record your result as DNF.
If you get stuck, for “WODs” there will usually be a screencast demonstrating a solution. You are not required to perform the WOD exactly as indicated in the screencast. You are encouraged to watch the screencast to the point that you are unstuck and then try the WOD. Do not watch the screencast before attempting the WOD at least once! The WODs are designed to build your skill and you this will slow your progress. Non-WODs do not come with screencast solutions.
Do not simply copy the code from the screencast! You will get very little out of the WOD by doing this. It will take much longer than you think, you will make a lot of mistakes, and you will not improve your development skill. Only your screencast copying skill will improve. You have been warned!
Below is an example of how to record your WOD progress on a WODvelope. You can copy this and submit this card to Laulima to ensure you get credit for all your WODs.
WOD |
(Rx, Av, Sd, DNF) |
# Attempts |
Screencast URL |
Repo URL |
BrowserHistory1 |
Rx | 3 | https://youtu.be/TDsEUNk3WwA | https://github.com/dport96/ITM352_F19_repo/tree/master/WODs/BrowserHistory1 |
BrowserHistory2 |
||||
BrowserHistory3 |
||||