betabug... Sascha Welter

home english | home deutsch | Site Map | Sascha | Kontakt | Pro | Weblog | Wiki

26 February 2006

A Visit to Diomidis Spinellis

In class with the author of "Code Reading"

Greece is not exactly known as the navel of Open Source Software, but there is one author whose book stands out and became a success in that world. When Diomidis Spinellis wrote "Code Reading" he did not anticipate its success. The book was featured on slashdots frontpage for months, it received best reviews from several Open Source programming insiders and is on the "recommended reading" list for a couple of free OS's. Last Friday I went to visit Diomidis and got a chance to experience his teaching too...

For a long time I had thought about meeting Diomidis in his office hours at the Athens University for Economics and Business, my main idea being that I could get my copy of "Code Reading" signed. Greek university professors have a couple of "open" hours each week when students can meet them in the office. Last year his office hours did not suit me, so this did not work out. Then I linked to Diomidis blog and somehow we got in contact. The idea of meeting and getting the book signed, reappeared. This Friday I left earlier from work, took the subway to Victoria Square (my old neighbourhood) and took a walk through the park "Pedion tou Ares" to one of the smaller and furter of buildings of AUEB.

I was a bit early, but Diomidis was already in, helping a colleague (and former student of his) fix a bug in some code. We chatted a bit about me being in Greece as a swiss programmer, and him being a prof at a Greek university. He told me that when he settled on an open source theme for his course, the university did not object at all. In one of his courses students have to pick an existing open source project, fix some bugs and add a new feature. In the process they will obviously learn a lot about reading and understanding code. They get a real world impression of what programming is all about, way beyond the usual text book approach of "this is how you write a loop, now go out and build a new Photoshop".

After the smalltalk I got a chance to watch him have a stab at code reading and bug fixing. I saw him move concentrated through the code, jumping though levels of subroutines and following the flow of the program. In the end he was able to pinpoint a likely source of the problem with that piece of code, a value returned being different from what the program expected, a different version of an installed library likely being at fault. Unfortunately I wasn't able to see the screen well enough to have a closeup of the action, but I got the feel that Diomidis can back the theory up with action good enough, no problem.

After that action piece, Diomidis told me that he would have to concentrate to prepare his class. I surprised him by asking if he'd mind if I sat in to see him teach. So I got to read a magazine (which contained an article by him), while he went through his notes and printed out some documents.

Diomidis teaches a course for postgraduate students (from a couple of countries) who are doing their MBA (I hope I don't mix up the university slang here). The course is called "Computers for all" and is modelled after something that (I think) Kernighan teaches in Stanford (but not on that level, as Diomidis reminded me with a smile). These students are not programmers. When he heard that I wanted to sit in that course, Diomidis probably was afraid that I would get bored very fast. The course takes the students through all levels of computing, from having a look at HTML pages, passing by simple programming exercises, down to strategies of how raw data is stored in memory. Given the subject and the interests of business students, one could expect this to being a lost cause, with students that blank out after a couple of minutes.

But that is not the case in Diomidis class. He is a quiet talker, soft spoken, but he uses a lot of student involvement, starting with simple, but continuous asking of questions. Students have to offer ideas to store an array of values in memory, "what address will the next name start on now?" and "what is the downside of this method?" We also got to play a special game. We played Battleship on papers Diomidis had prepared for us. Each player had to find the other sides "marked" ship, at first with no hints given. In the second game, the hints allowed for a simple "binary tree" search strategy with much faster hits, and in the third game an arrangement of the ships in a hash table gave instant success. Makes the concept of search strategies sink in.

The students had eyed me interested when I got introduced as "a guest from Switzerland, living and working in Greece" at the beginning of the class. Then in the break someone pulled out a laptop and some students tried their luck at an exercise with Excel macros. Of course I wandered over, had a closer look and offered a suggestion or two. One of the students asked me wether I know this stuff, to which I replied that I am a programmer but have zero experience with Excel macros. But in the end I was able to help out a bit, leading to some of them understanding the concept of subroutines a bit better.

I enjoyed sitting in the class. With a good teacher hearing something that you know already isn't boring at all. Watching students get that look when "the light goes on" is always fun for me, the thing I enjoyed most when I gave seminars back in Switzerland. There were some short moments when I thought "now I'll get bored" when Diomidis dove into something, but then he had to pull an interesting turn on it, to keep his students alert. In the end I had spent 3 hours there as if it was a quarter of an hour. And btw, yes, I got my book signed too :-).

Posted by betabug at 23:40 | Comments (2) | Trackbacks (0)
ch athens
Life in Athens (Greece) for a foreigner from the other side of the mountains. And with an interest in digital life and the feeling of change in a big city. Multilingual English - German - Greek.
Main blog page
Recent Entries
Best of
Some of the most sought after posts, judging from access logs and search engine queries.

Apple & Macintosh:
Security & Privacy:
Misc technical:
Athens for tourists and visitors:
Life in general:
<< Not Seeing Salif Keita in Athens | Main | Es wird heller >>
Re: A Visit to Diomidis Spinellis

Looks like he's an humble guy and a good teacher.
Great post!

ps: where's the pix that shows us the signed book? :-)

Posted by: Rodolfo Gouveia at February 28,2006 13:43
Re: pix of the signed book

Yeah, I should really take a pic of the book now. Maybe tomorrow. BTW: Diomidis is also working on FreeBSD, OpenBSD's cousin OS :-)

Posted by: betabug at February 28,2006 13:50
You can trackback to:
There are no trackbacks.