Graduate student Eric Allen is booking his time well

Graduate student Eric Allen is booking his time well
…………………………………………………………………

BY DONNA JARES
Special to the Rice News

Most people in academia are familiar with the publishing standard: Earn a Ph.D., obtain a professorship and write a book somewhere down the line. Eric Allen, though, sidestepped that process by authoring a book, ”Bug Patterns in Java,” while attending graduate school in the computer science department.

”I was amazed when I learned that Eric was writing a book in addition to writing a dissertation and working as a teaching assistant in my software engineering course,” said Professor Robert ”Corky” Cartwright, Allen’s graduate adviser and leader of the Java Programming Languages Team at Rice. ”Eric is extremely focused in organizing his time, which enables him to achieve levels of productivity that I have never seen before in a graduate student.”

In ”Bug Patterns,” published by Apress, Allen presents program developers with a method for diagnosing and debugging computer programs. According to Allen, the book is his response to the increasing need for programmers proficient at preventing, diagnosing and quickly repairing bugs in computer programs.

”We need to educate new developers more quickly,” Allen said. ”By identifying common patterns of signaled errors with their underlying causes, and teaching these patterns to new programmers, we can leverage the experiences of many programmers to improve the effectiveness of each.”

Allen started writing Web articles for JavaWorld and the IBM developerWorks Java Zone in January 2000. After the articles led to a monthly column, Diagnosing Java, Allen attracted the attention of Gary Cornell of Apress. Cornell encouraged him to produce a book on common bugs and how to solve them, a recurring theme in Allen’s online articles.

”Eric’s book is another example of the culture in Corky Cartwright’s group that seems to integrate research, teaching and educational outreach, to the benefit of all three,” commented Computer Science Department Chair Keith Cooper.

Cartwright reports that he will use Allen’s book in the future for his software engineering course. In fact, students attending Cartwright’s course in spring 2003 will have the added benefit of having the author as their teaching assistant.

”Eric’s ‘Bug Patterns’ provides compelling justification for the software engineering principles that I teach. If you fail to follow any of them, Eric’s book provides a graphic illustration of the peril that ensues,” Cartwright explained.

Allen views his book as a natural extension of his studies. ”Graduate school is primarily about learning to communicate. Between publishing papers, giving lectures, designing posters, writing grant proposals, etc., a researcher spends the majority of his time communicating his expertise. Being able to focus intensely on learning to communicate well, and to work closely with an adviser like Corky Cartwright, who is so renowned in his field, is not something you typically gain in industry.”

Allen, who received a bachelor’s degree in computer science and mathematics from Cornell University in 1997, says his next challenge is completing his thesis. His thesis topic is focused on the design and implementation of first-class generic types for Java. ”Basically, it’s about performing much more powerful automatic checks on programs before they are ever run. We’ve been able to extend the Java language to include these more powerful checks without sacrificing the expressiveness or performance of the language.”

Although Allen reports that authoring a book has not changed his life much, he finds it exhilarating to see his name on Amazon.com. Other exciting changes await Allen in spring 2003, when he anticipates receiving his doctoral degree, and he and his wife, Kori, expect the arrival of their first child.

Allen’s postgraduate plans include looking for a job in research in academia, government or industry and spending time with his family. He does anticipate writing a second book to cover additional patterns and plans to include more discussion about the development process and the Rice Java Programming Languages Team’s approach to developing software.

— Donna Jares is the external communications coordinator and editor in the Department of Computer Science.

About admin