Friday, February 11, 2011

Frivolous Friday, 02.11.2011: Story problems for programmers

One thing I noticed about UW-L's comp. sci curriculum was its emphasis on math. Maybe sometime down the road--particularly after MTH 225 (Mathematical Logic), that might have made some sense. In the meantime, I would have appreciated it if the curriculum would have covered situations that might occur in the life of the average programmer. (Heck, I would have settled for "average" in the sense of the trimmed-mean, bell-curved, and nice-round-number reality that spawns story problems.)

But it didn't. So to partially ameliorate that glaring deficit, I offer a few examples for the benefit of both textbook authors as their readers.

(Now...granted, Tom Cargill--who, like Yogi Berra, didn't really say everything he said--immediately springs to mind with: "The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time." But I think Mr. Cargill paints far too rosy a picture. So let's fix that, shall we?)

Question 1: Your firm's billing software requires that time spent exclusively on a project be billed in half- and whole-hour increments? If anything greater than fifteen minutes rounds up to a half-hour and anything between 40 and 59 minutes rounds up to one hour, what is the maximum amount of time per day you can waste on Facebook? (Choose one.):
___ A.) 3 hours and 59 minutes
___ B.) 2 hours and 39 minutes
___ C.) Dude, are you smoking crack?! You'll be interrupted so many times, you'll either have to lie like a rug or work weekends to avoid burning your PTO.

Question 2: The cost of changing specifications is 5% during the Design Phase, 15% during the Coding Phase, 65% during the Testing Phase, and 115% after implementation. Assuming an original project estimate of $100,000, what is the total amount billed to the client for changing specifications twice during the coding phase, five times during the testing phase and three times during after final implementation? (Choose one)
___ A.) $700,000 (cost as percentage of original estimate)
___ B.) $2,458,625 (cumulative cost assuming simultaneously implemented changes in each phase)
___ C.) $16,742,523.38 (cumulative cost assuming independently implemented changes in each phase)
___ D.) $100,000 (Sales bid the job at flat rate. Cheer up: Maybe they'll take you out on the pontoons they bought with the commission.)

Question 3: Your firm just signed a contract to customize software around the client's existing data-set within the next 90 days. The terms of the contract specify that you receive 25% of the data as a sample on Day 10, and the final data snapshot on Day 89. Assume that 10% of the data will contain discrepancies, and that it takes a full day to resolve 20% of the discrepancies. On what day will the application contain clean data?
___ A.) Day 95
___ B.) Day 93
___ C.) Day 92
___ D.) Whaddya mean you can't just zen what data's supposed to be entered? Aren't you programmer types supposed to be "numbers" people? Sheesh...

Question 4: A potential client has promised to send you screenshots of the Access database that's powering their core business functionality so you can evaluate the feasibility of replicating the application in something less likely to flake out for no reason. Your firm's Exchange server will emails whose attachments exceed 10 MB in size. The possible client's screenshots average 375 KB each, using the .PNG format you recommended. Assuming that the application requires 50 screenshots, how many emails should you receive? (Choose one.)
___ A.) 2
___ B.) 3
___ C.) None (Anyone savvy enough to know what a .PNG is should know to ask whether they can just upload the whole mess to an FTP server.)
___ D.) None (The potential client decided to be clever and compress the files for a single email, but your Exchange server's anti-virus software is configured to black-hole .ZIP files.)
___ E.) None (The potential client was "too busy" to type "P and G" into The Google and just printed the screens and faxed them to you.)

Question 5: Your boss has just quoted a 30-day timeline to a client, hangs up the phone, and asks for your projected completion time. Your answer is (choose all that apply):
___ A.) 42.
___ B.) Hurr (and/or Durr).
___ C.) More cowbell!
___ D.) An African swallow or a European swallow?
___ E.) I like pie.

Question 6: Your firm bills your sole client by the hour, but insists upon the fiction of the 40-hour workweek with respect to its programmers' timesheets. Assuming that each of your six programmers averages a 60-hour week January - September, how many programmers do you have to hire in October (and pink-slip before New Years') to maintain your Sugar-mommy (or Sugar-daddy) cred. with the client you invite to the company Christmas party? (Choose one.)
___ A.) 2
___ B.) 3
___ C.) Troll the local campus for the more articulate Comp. Sci students and offer them free hors d'oevres and booze to fake it

- - - -

Answers:
1.) C
2.) D
3.) D
4.) E
5.) Yep.
6.) C