For fun, I thought I'd share a fond memory from my days at college.
One of my classes was software engineering, and the professor presented the benefits of modular design. Since I had already written a lot of code by that time, I looked forward to demonstrating my knowledge of this concept in the class projects.
After several weeks of lecturing, the professor set the first assignment at the start of class and I had most of the code written by the end of the same class. I turned in the code the next day and received an "A", which is what I expected.
A couple of weeks later, the professor announced that the second assignment would be to add a few features to the code we had written for the first assignment. The idea was to see if our initial code was modular enough to accomodate the new features without too much of a rewrite. Fortunately, I had anticipated this and was able to add the new features with literally about 50 lines of code. Needless to say, I was happy with the result and expected another easy "A".
I was astounded when I received just a "B" for the second assignment. When I asked him why, he told me that "your code did not change enough"! Since this was the whole point of the exercise, I was annoyed and immediately lost respect for the professor.
As the course progressed, my friends and I started to notice more flaws in his lectures and would often challenge his opinions and assumptions about software development. Rather than give us decent reasons for some of the more controversial lecture points, he would resort to petty comments and derogatory put-downs.
After a few lectures like this, he publicly asked my friends and I to stop challenging him because we were disrupting the course. We told him that we would be happy to refrain from verbally participating, and proceeded to sit at the back of the class and do crossword puzzles. Needless to say, the rest of the class found this very amusing, and the professor eventually berated us for doing the puzzles and ordered us to start participating again.
At the end of the semester, he divided up the class into 9 teams. Each team had to implement the same project and then formally present to the rest of the class as if they were our customers. We were team 9, and so our presentation would be the last. We coded the project quite quickly, and I decided to get my revenge by writing a rap song that we would perform during our presentation. I had a decent music set-up, and recorded tracks for drums, synthesizers, and backing vocals. The lyrics were quite technical and accurately described our development methodology.
For example: "This is the team 9 presentation, it's gonna be real cool. We're going to tell you 'bout, the things we did at school. Like modular de-composition, we did it right, ...."
On the last class of the semester, the first 8 teams gave typical dry presentations containing various charts and code samples. When the professor cued the team 9 presentation, my team and I stood up, quickly put on our rap gear, and carried a boom box onto the podium. I pressed the "Play" button and our team performed the rap song to the soundtrack blaring out of the speakers.
The room of students loved it, and gave us a standing ovation. After the applause died down, the professor murmered "the customer was not impressed" and ushered us off the podium.
I ended up getting a "B" for the course.
Wonder which prof. at UTD you're talking about. One experience I had there was presenting research in a software validation class that software quality could be measured by indexing all of the source code in a system and measure module "relevance" based on word frequency to reveal those modules with greatest variable coupling. Those most coupled were most likely to be buggy. My experience with the codebase confirmed the results. The presentation started with laughter and derision from the prof and the class, but ending with congratulations. Turns out relevance with natural language works the same as machine languages. - RM.
Posted by: Richard Merrick | Mar 09, 2006 at 02:46 PM
Gives a whole new meaning to...
"Number nine...number nine..."
Posted by: David Bueche | Aug 08, 2006 at 06:26 AM