Dynamic Programming

In Fall 1998, I took a course called CS 312 at BYU. It was a very group-project oriented class. During the first week, we divided into teams which we maintained all semester long. Each team would do the programming assignments together, and then submit a detailed report for each project. I usually ended up writing the reports for our team since I enjoyed that more than the coding.

The topic of the course was "algorithms." Accordingly, throughout the semester we studied a variety of techniques for solving problems in a computationally efficient manner. Indeed, there was an ongoing competition among the teams regarding whose code would run the fastest. Our team (we called ourselves Algorithmic Anomaly) never won, but we were never in last place, either.

So in a sublime acceptance of fate, during the unit on "Dynamic Programming," we decided that if we couldn't outdo the other teams on speed, we would outdo them on style. So we wrote a program to show how the principles of dynamic programming could help someone pick out a nice-looking combination of clothing, and I drew this comic strip as a prologue to our write-up. I've long since lost the text of the report itself, but I do love this cartoon. I think it's bizarre how quickly the girl accepts the fact that there's a computer salesman in her bedroom (even putting her hand on his shoulder in the penultimate frame), and how she tolerates his ridiculously inefficient manner of gathering preference data. And no true computer scientist can help but smirk at the line: "Now, if we want to do this in O(n²) time, we'll have to hurry!" (The humor, of course, is that O(n²) is a measurement of complexity rather than time per se. It's not a matter of hurrying.)

Incidentally, the professor liked our cartoon but marked us down for our algorithm. Apparently it wasn't a "real" dynamic programming application after all. Oh well, we tried.

Historical Note: When this cartoon was drawn in 1998, computers with really thick keyboards (such as the one the salesman is shown using) were already long obsolete. My inclusion of antique hardware in this cartoon was simply an attempt at surrealistic humor, and should not be construed as an accurate representation of the times.

Back to Cartoons main page