YORKwrites, a joint presentation of York University Libraries and York University Bookstores, showcases and celebrates the breadth and depth of York's scholarly publications, research and creative work. From now until Nov. 3, YFile and YORKwrites will shine a spotlight on various University innovators and creators. Here is another in the series.
York computer science Professor Jeff Edmonds’ wide-ranging research projects have produced an extensive list of published papers, journals, technical reports, and, in 2008, a textbook for his intermediate algorithms course.
Edmonds, who is part of a strong Theory of Computing Group at York, didn’t set out to write a textbook. When he first began teaching, however, he found that he was not particularly good at it and many of his undergraduate students were lacking the required fundamental skills. “The hard part was the huge gap between how easy I found the material and how overwhelmingly hard they found it,” says Edmonds. “The ongoing struggle was to find out what that gap was and how to make it narrower. It turned out that we had completely different ways of thinking about the material. The students need to be retrained to think abstractly.”
He also found that existing material was too focused on concrete polished algorithms and polished proofs, and lacked step-by-step explanations of how to produce this work oneself. Towards this goal, Edmonds started writing notes and teaching supplements as he ran the class. Ten years of hard work developed a significant collection of material. Somehow, unbeknownst to the intrepid professor, Cambridge University Press found out about his notes and teaching supplements and asked if they could publish them. After a great deal of work polishing and tweaking, the textbook How to Think About Algorithms was published by Cambridge University Press in May 2008.
“Although solving problems does require brute force, hard work and attention to detail, the insight and understanding comes from somewhere in the subconscious,” explains Edmonds. “The subconscious, however, does not think in Java code. It requires abstract thinking.” It is this very quality that Edmonds tries to encourage with his textbook.
Temporarily putting aside computer code in favour of analogies such as fairy godmothers, little birds and friends, serves to train the students in a way of thinking about an algorithm that is better suited to daydreaming or chatting to a friend about it while on the subway. Edmonds believes this opens students up to a way of thinking about algorithms that ensures the “core” of the algorithm is correct from the outset. He tries to get them to appreciate that this is not just an esoteric theory course – that not just the topics covered, but this whole new way of thinking is hugely useful in real-world scenarios. By raising their comfort level, Edmonds tries to instill in the students a love (or at least an appreciation) of the material.
His text has been widely praised for its innovative approach, called “a must-read for every teacher of algorithms,” by SIGACT News. The Times Higher Education Supplement says that Edmonds' book “leads an apprentice from knowing how to program to understanding deep principles of algorithms.”
Edmonds approaches his own research in a similar, organic way. Whether the problem involves scheduling, time-space tradeoffs, or data transmission, it first must be held as an abstract concept. “For research, I have to get kind of addicted to a problem. It has to come to me, stay in my brain, circulating around for days, months. I don’t know what makes me hooked on this versus that, just whatever catches my fancy.”
Collaboration is also key, as seen in his extensive work with Kirk Pruhs of the University of Pittsburgh on the topic of cake-cutting and resource allocation. When it comes to investigating a new problem, Edmonds believes “the most useful thing is having someone else around to talk to about it.”
When asked about future research projects, Edmonds replies that he would follow whatever caught his interest next. “Industry always has problems that need to be solved, and no one really knows from which avenue the solutions might come or what might achieve the next breakthrough.”
Do you want your work included in the YORKwrites database? Visit the YORKwrites Web site and let organizers know about what you've published or created in the past year. The third annual YORKwrites reception takes place Nov. 3 at the Steacie Science & Engineering Library on York's Keele campus.