http://en.wikipedia.org/wiki/Per_Brinch_Hansen I took a class taught by Hansen at, of all places, Syracuse University. I have no idea what he was doing there. The CS department was a joke, and this man was a luminary.
The class was something along the lines of "History of Concurrent Programming." We'd read two classic papers mostly centered around subjects such as concurrency, language design, OS design and so on a week. Each paper would then be presented at the class by a student, and we'd just discuss them for a couple hours. Instead of traditional work, you were instead expected to really know the shit that was being discussed each day, and Hansen was too knowledgeable and quick witted to bullshit. The stuff you presented you had to know inside and out.
A few weeks into the class he told me he didn't know how I could work as an engineer, as I was too lazy, undisiplined and basically chaotic. By the end of the class he told me I was one of the best students he'd had.
Aside from his brilliance, one of the best things about him as a professor was that he had "been there." This was a guy that was basically in it with all the legendary CS names. He'd toss out entertaining stories about guys like Dijkstra and Hoare all the time.
I don't think he liked C.A.R. Hoare.