Growing up in a small village in northern Italy, Loris D’Antoni got some career advice from his parents: become a doctor or an engineer. “In the end, I became both!” smiles D’Antoni, a new assistant professor of computer sciences. His doctorate in computer science was awarded through the University of Pennsylvania’s School of Engineering. It may not be exactly what his parents had in mind, but they are no doubt proud.
Computers fascinated D’Antoni even as a child. In that town of 6,000 near the Alps, called Sommariva del Bosco, he decided he wanted to be a programmer, “but I had no idea what it meant at that point,” he concedes. He and his older brother, Christian, became the first in their family to go to college.
D’Antoni’s horizons broadened at the University of Turin, where his mentor, Mariangiola Dezani-Ciancaglini, helped him see computer science's breadth. And it was she who introduced him to programming languages, now his specialty.
After earning both bachelor’s and master’s degrees in Turin, D’Antoni headed to the U.S. for his doctorate. Now, he’s the second new professor to join the UW-Madison computer science department’s renowned programming languages group this year.
D’Antoni focuses on making programming simpler, less error-prone and more efficient.
“It’s hard for an inexperienced person to write programs, and also for experienced people writing complex code. Even the most seasoned programmer will make mistakes. I design languages and techniques that take away some of the burden in the process,” D’Antoni says.
“For example, one of the things I’m working on is building a tool that reuses mistakes people have made in the past, in order to avoid making them again. It’s about learning from people’s mistakes and how they address them.”
What’s unique about D’Antoni’s approach is that it audits a programmer while he or she is actually programming, learning "live" from what that person is doing.
A two-time intern at Microsoft Research in Redmond, Wash., during his graduate-school years, D’Antoni considered the life of a full-time researcher after completing his Ph.D., but the appeal of academia and mentoring students won out. “There’s something about teaching that’s hard to give up!” he says.
And D’Antoni has found ways to combine his passion for education with his research goals. He’s part of the team behind AutomataTutor.com, which teaches computer-science students something they all must learn, the concept of finite automata.
The tool automatically grades student assignments and provides learners with feedback. AutomataTutor.com now has about 6,000 users spread across many universities. D’Antoni says 16 or 17 schools around the world, on four different continents, use this tool, a joint project between the University of Pennsylvania, Microsoft Research, the University of Illinois, and the University of California, Berkeley.
“Students like it a lot,” D’Antoni says of AutomataTutor.com. “It gets undergrads excited about doing research.”
In his free time, D’Antoni enjoys spending time with his wife, a Houston native whom he met in graduate school in Philadelphia. “My wife and I are foodies, and there’s a nice food culture here in Madison,” he says. He also likes to cook, hike, and practice magic tricks.
As D’Antoni settles into his first semester at UW-Madison, he’s sharing his love of computer science with students, hoping to open their eyes to the field’s wide possibilities, just as a mentor once did for him. “CS is like playing with Legos. You can always build something new, limited only by your own creativity.”
[Photo by Sarah Morton, UW-Madison College of Letters & Science]