|Technical Communication Failure|
The Great Papers class was perhaps a poster child for the how and the why we need to understand the non-technical factors swirling in and around computer science, and our need as professionals in the field to be able to communicate well about them to diverse audiences. We should talk more about how scientific and technological advances are communicated, understood, accepted or rejected. I suspect most of us recognize that those seminal articles we may take for granted had a significant impact only partially because of their technical merit.
It's about being the right person, in the right place, at the right time, saying the right thing. That last point (saying the right thing) is where we find the technical most heavily, although even there, the "right thing" is more nuanced than the bits and bytes of the matter. If we pause and take a look at the contextual big picture of any one of the technical innovations that have shaped our field, we see the truth of the matter. A range of social, historic, economic and psychological factors either inhibit or increase the visibility and impact of any technical work.
For example, in the domain of computer architecture, Howard Aiken's "The Proposed Automatic Calculating Machine" (1937) deservedly takes a spot in the annals of the most impactful papers in the field. Yet the paper that led to the creation of the Harvard Mark I was not a shoo-in; if not for a complex series of historical and economic factors the ideas presented in the proposal might well have languished in the "Don't call me, I'll call you" dustbin. Then there was Aiken's ability to assemble a rock solid team. Grace Hopper, herself no intellectual or personal pushover, was on that team. Aiken did not succeed in a vacuum.
Psychological factors leading to technological change are blindingly obvious in the infamous 1968 Dijkstra Letter to the Editor of the Communications of the ACM entitled "Go To Statement Considered Harmful". Dijkstra effectively and efficiently communicated the potential negative technical consequences of an unbridled use of the "Go To" statement. However, he used arguably tactless language, upset a lot of people, and his comments went viral 1960s style*. Dykstra wasn't the first person to argue against using Go To statements but he often gets the credit for the ideas that led to eventual changes in coding practice.
By spending a semester delving into issues such as these, I hope that students will come away with more than increased intellectual breadth and depth in the field of CS. I hope they will have a greater understanding of the deep connections between society and technological success and failure. I hope they will appreciate the importance of successful communication about complicated technical subject matter to technical and non-technical audiences alike. It's not just for people in Marketing - it's for them too.
I just got back my teaching evaluations - feedback to me about where I successfully communicated all these things to them and where there is room for work. It cuts both ways - I'm feeling good about that.
*In class I make a point to spend a few minutes discussing why, in spite of Dijkstra's technical brilliance and fame, pissing people off is not professionally wise.