Monday, June 19, 2006

Oral exam on software engineering ethics, fun

There were 3 questions:

1. Free choice

2. One out of nine possible questions based on seminars. At the examination, three are chosen randomly and the student gets to pick one out of those three.

3. One out of eight possible questions based on lectures. Chosen similarly to 2.

Pigeonhole principle comes in handy here: If one wants to prepare for question 2 fully, they only need to prepare 9 - 3 + 1 possible answers. Similarly for 3. Now, pigeonhole principle seemed to me like a stupidly obvious theorem when it was taught but since it's saved me some work, at least now I can appreciate it.

So what questions did I end up picking? Well for the free choice, I chose a rather controversial topic on copylefting software. I won't start another flamewar except to say that I BSD license everything these days so you know my position. It was rather rushed and unfortunately, I don't think the markers were convinced.

The second was the technical problems with the Therac 25.

The third was about how patents might stifle innovation and aren't suitable for software. A key example I used was Eolas' patent claim against Microsoft: "Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document", where Microsoft lost $US521 million, for implementing something fundamental to web browsers. Imagine if people went around patenting "1+1" and suing school children for practising maths. You certainly can't get away with that but with software, somehow people have.


Nathan Adams said...

I'm not sure I follow your use of pigeon-holing. Surely the minimum number of questions you'd need to study for #2 (where there were nine potentials) would be 7, not 5.

Nathan Adams said...

Oh, shouldn't I have applied operator precedence to "9 - 3 + 1"?

Clarence Dang said...

It should be 7. I don't think I wrote 5 anywhere...