Respond in blue ink: Requiring Tools in Computer Science

This semester I’m taking several electives to finish up my degree. One of the courses I’m taking is Object Oriented Programming Systems, formerly Object Oriented Analysis and Design. I have yet to find a suitable explanation as to why OOaD was cut and reformed at the graduate level, but I’m assuming it was because it was a bit too advanced for some many of the people I find in my major. In its stead, we now have a much more aptly abbreviated course.

In any case, my professor is a big proponent of Java, the Waterfall [[Software Development Life Cycle SDLC]] (which he dubs “the generic SDLC.” I wasn’t aware wet sand was considered “the generic foundation”) and, of course, all the misery that comes with it.
For one of our more recent homework assignments, we were given the trivial task of converting a four Java classes from a previous assignment into UML diagrams. We were obviously applying what we learned in class by putting the cart in front of the horse. Our assignment was to be done in [[Jude (UML Tool) JUDE]] of all things. In the interests of full disclosure, I am completely spoiled in terms of tools to use. Microsoft, through its godsend of [[MSDNAA]] makes Christmas just about every day of the year for me. Sure I know it’s a form of product marketing – analogous to giving crack to kids – but have you used their stuff? It’s head and shoulders above everything else, and in many cases is the paradigm to which the industry only seeks to make parity with. With that being said, I’m hoping you’ll understand my… disposition against Fischer Price’s JUDE product. Instead of trudging through the installation of a clearly inferior product, ripping my hair out trying to understand the UI, and eventually producing a diagram that my 5-year-old cousin could have drawn better, I decided that I would use Visio instead. I made my diagrams down to the letter and they looked beautiful. I spent extra time making sure that the positioning of each class reduced the nmber of times connections intersected and made especially sure that everything was clear. I saved it out as a PDF, so as to be platform agnostic, and submitted it.

I wasn’t nearly as surprised as I was livid when I found out that I had been deducted 50% credit on the sole basis of, “it’s not a .jude file.” That is the kind of arrant pedantry up with which I will not put. To me, it’s really the equivalent of me asking you to write a paper on Shakespeare in blue ink. I’d suppose a lot of people would remark, “well, I write in blue ink anyway, so it’s not a big deal,” and continue on. Still more would say, “normally I write in black ink, but I’ll comply because it seems like a trivial request, and not worth the fight.” This would probably leave me by myself stating emphatically that it is unreasonable to be concerned with the color of the ink that I write in juxtaposed against the magnitude of writing a paper on Shakespeare. Of course, I’d comply if the reasoning for the requirement of blue ink was enumerated, so long as it wasn’t arbitrary.

Perhaps even more important than the freedom aspect of the scenario is the abject insanity that revolves around diagrams. Who cares if your diagram was written in Visio, JUDE, Rhapsody, or on a whiteboard? It’s a diagram. The concept of [[WYSIWYG]] is almost an understatement. It might be argued that JUDE is an “enterprise application” and my good professor is trying to do me a favor by showing me a tool that’s used in the “real world.” I don’t think I would ever want to work for an employer that says, “We see  UML on your résumé, but while we think you’re smart enough to work on our codebase, we don’t think you’re smart enough to learn to use the UML tool we have.”

I think it’s more important to state the objectives of any assignment, be it professional or educational, and let the person doing the work choose the best way to accomplish it. Nobody likes a micromanager. Especially me.