Teaching Faculty: The Key to ‘Opening the Door’
Teaching faculty offered their comments on what they do, how they do it, and why they do it. Here’s what they said:
Ibrahim Albluwi earned his Ph.D. in computer science and automatic systems from INSA-Toulouse, France, in 2012. He joined Princeton in fall 2016 and has taught COS 126 three times. During the current semester, he is teaching COS 226 (Algorithms and Data Structures) for the fifth time.
He is enthusiastic about understanding how beginners learn computer science and how the subject should be taught. “I am especially interested in studying questions that stem from my interaction with the students,” he says.
“Being a lecturer allows me to focus on what I enjoy most: teaching and interacting with students,” he says. “I love inducing excitement and enthusiasm among young minds towards computer science and problem solving. I also love breaking down complex ideas to smaller digestible parts. And I get immense satisfaction when I see students recognize the ingenious but simple underlying principles behind what seem to be difficult concepts on first sight.”
Bob Dondero earned his Ph.D. in information science and technology from Drexel University in 2008. Before coming to Princeton in 2001, he was a tenured assistant professor at La Salle and an adjunct professor at Penn State.
He has developed and taught computer science courses in industry, and has 15 years’ experience as a professional programmer. With professor Robert Sedgewick and fellow lecturer Kevin Wayne, he wrote “Introduction to Programming in Python” and an accompanying booksite.
“I am especially interested in software engineering, but my focus is on teaching,” he says. “I love to teach, and I’m honored to work with my Princeton students.” His students have chosen him to receive eight Excellence in Engineering Education awards from the Engineering Council, and the council’s Lifetime Achievement Award for Excellence in Teaching. “I consider those awards the highlight of my professional career.”
Robert S. Fish
After earning his Ph.D. from Stanford, Rob Fish worked at Bell Labs and then at Bell Communications Research as executive director of multimedia communications research. He also held executive positions at Panasonic and at Mformation Inc., a start-up that was later sold to Alcatel-Lucent and is now part of Nokia. As a volunteer, Rob is president of the IEEE Standards Association, home of WiFi technologies.
Fish came to Princeton in 2015 and focuses on coordinating the undergraduate independent-work program and teaching related seminars. He has taught independent-work seminars on using computer science technologies to help students learn computer science and on entrepreneurial thinking for computer scientists. He co-teaches COS 448 (Innovating Across Technology, Business, and Marketplaces).
“I get great satisfaction from helping students figure out how to plan and carry out projects on their own,” he says. “And I love to see the growth in their independent thinking, project management, and collaboration skills.”
Donna Gabai joined the teaching faculty in 2001. She holds master’s degrees in electrical engineering from Penn and in math education from Occidental College. She was a programmer for the Defense Department and a systems engineer in the process-control industry, and has been an educator for more than 40 years.
Gabai credits encounters with three individuals for inspiring her teaching philosophy: the late Rear Admiral Grace Hopper, who pioneered human-readable programming languages; the late Jaime Escalante, an East Los Angeles high-school teacher who demonstrated that inner-city students could master demanding subjects; and Williams College math professor Colin Adams, known for his accessible approach to advanced topics.
A self-described stickler for classroom participation, she says her goal is “to transmit — with clarity and humor — my enthusiasm for the details of programming systems and the joys of methodical debugging.”
Maia Ginsburg earned a master’s from the University of Pittsburgh in 1986 and joined Princeton’s teaching faculty in 2006. Her area of expertise is compilers. She has been a programmer and manager at AT&T, the Princeton Plasma Physics Laboratory, and at a company that produced ASN.1 protocol software that is part of most wireless phones today.
Since joining the department, she has taught COS 126 and COS 226. She also oversees a program for lab teaching assistants for several courses and coordinates the hiring of undergrads for all courses. She is a fellow at Forbes College, a position that enables her to engage with students in informal settings beyond the classroom.
Ginsburg says her experience as a manager and a programmer has strengthened her role on the teaching faculty, but that “the best part of the job is working with the other truly dedicated teaching faculty and getting to know the students.”
Alan Kaplan joined Princeton in fall 2014. He holds a Ph.D. in computer science from the University of Massachusetts at Amherst, and his career spans academic research to industrial R&D to technology startup/entrepreneurship. He has more than 20 years’ experience leading research and product development involving mobile software.
Since joining the department, he has served as one of the lead preceptors in COS 126, which he describes as his passion. He adds that he especially enjoys advising undergraduates on independent work projects, especially those that produce “random apps of kindness — social computing projects whose goal is to aid communities and individuals.”
Kaplan is dedicated to helping Puerto Rico recover from the devastation of Hurricane Maria in September 2017. During the past two summers, he led teams of undergraduates who taught COS 126 at the University of Puerto Rico Mayagüez and volunteered at rebuilding and recovery sites across the island.
Dan Leyzberg became a department lecturer in 2014, immediately after finishing his doctorate in human-robot interaction at Yale. While working on his degree, he also taught high school computer science classes at the introductory and AP levels two days a week for six years.
“Since I started, I've gotten to work exclusively on COS 126, and I’m passionate about creating a rigorous yet accessible learning environment,” he says. “I try to enable anyone to learn not only programming skills, but the logical problem-solving and problem-decomposition skills inherent to computer science as an academic discipline.”
Now in his sixth year in the department, Leyzberg says he recognizes that his role as a lecturer “is to do what I can to help as many people succeed as possible.” He especially values what he calls the “‘aha’ moments I get to witness among my students.”
Xiaoyan Li joined the department in 2012 after serving as a visiting assistant professor at Mount Holyoke College for two years. She earned her Ph.D. in computer science from the University of Massachusetts at Amherst and did her undergrad work at Tsinghua University in Beijing.
Her interests center on information retrieval, question answering, artificial intelligence, machine learning, and data analysis. Li, who has taught upper- and lower-level courses and also supervises junior independent work and senior theses, says she takes great pleasure in working with students, who praise her kindness and willingness to help.
“Not only do I like to help them academically through the courses I teach, but I also encourage them to be happy and confident in whatever they do,” she says. “Most importantly, I encourage my students to be willing to help others and be a blessing to people around them.”
Jérémie Lumbroso earned his Ph.D. in 2012 from Université Pierre et Marie Curie in Paris, where he focused on the design and analysis of algorithms. He joined Princeton’s teaching faculty two years later and immediately began to develop tools, with his students, to help the department manage its surging enrollments.
“I quickly realized that scaling the human processes of the teaching mission is like analyzing and optimizing an algorithm,” he says. “I enjoy introducing innovations that increase breadth of participation.” He recently ran town-hall style classes through a service enabling several hundred students to interact anonymously. “That allowed questioning by any student, including those who may be introverted or reserved,” he stressed. His students chose him for an Excellence in Teaching Award.
Lumbroso credits his students for their drive and candor: “For me, the question is usually figuring out what they are trying to do and how the course I am teaching can help them.
Christopher Moretti joined Princeton right after receiving his Ph.D. from Notre Dame in 2010. He teaches across the curriculum, including the introductory sequence, functional programming, and software engineering.
“At Princeton our population is large enough to require introspective and innovative efforts to scale computer science education but still small enough that I can really connect and form relationships with my students,” he says. “I appreciate how many of our students are ‘late adopters’ — stereotype-defying students who didn't start out in CS at age 10.” He says he gets satisfaction from “meeting curious minds in our intro courses, seeing them get hooked, and then watching them rise to any challenge.”
Outside Princeton, Moretti advises on pre-college CS education, particularly the College Board’s Advanced Placement Computer Science A course. Each summer he joins other teaching professionals in grading the exam, and has served as a grading leader for the past five years.
Soohyun Nam Liao joined Princeton in fall 2019, shortly after receiving her Ph.D. in computer science education from the University of California, San Diego. Since coming to the department, she has been teaching COS126, but her broader interests lie in expanding and implementing Chair Jennifer Rexford’s stated goal of achieving “a boutique education at scale.”
“As a computer science education researcher, I believe that there is always a way to maintain the comparable learning quality as the class size grows,” she says. “Princeton, where the CS program has grown dramatically recently, has been a great place to realize my passion in scaling up its quality education.”
During last fall’s semester, she introduced self-paced precepts designed to provide students with the opportunity for more personalized interaction. “By far, students found them highly interactive and engaging,” she says. She is working on other pedagogical practices that would offer similar benefits.
Iasonas Petras joined the department in 2013, shortly after receiving his Ph.D. in computer science from Columbia, where he also earned a master’s. He also holds a master’s in mathematical modelling in modern technologies and economics from the National Technical University of Athens. He specializes in information-based complexity and quantum computation.
This semester he is the lead preceptor for COS 340 (Reasoning about Computation). Previously he has taught COS 217 (Introduction to Programming Systems). He praises his Princeton students for “their enthusiastic and creative approach toward their studies,” which he says is a significant reason for his satisfaction with his role as a lecturer.
Petras says he is eager to develop ways to improve the department’s approach to teaching the complexities of computer science: “I’m interested in curriculum design at a departmental level, and I welcome opportunities to work on and improve course material.”
Kevin Wayne, the Phillip Y. Goldman Senior Lecturer in Computer Science, joined the department in 1998. He received a Ph.D. in operations research and industrial engineering from Cornell. His research interests include the design, analysis, and implementation of algorithms.
He regularly teaches COS 126 and 226. With professor Robert Sedgewick, he coauthored “Algorithms 4/e” and “Computer Science: An Interdisciplinary Approach” and codeveloped four MOOCs (massive open online courses) on Coursera.
Wayne, who says he “feels privileged to be surrounded by such a talented, energetic, and multifaceted, group of students,” is keen to open the field of computer science to a wider audience. He directs the six-week Summer Programming Experiences program that aims to attract women and minorities to the major. And he and fellow lecturer Dan Leyzberg are developing a CS course for the Freshman Scholar’s Institute, a seven-week summer program for incoming first-year students from backgrounds historically under-represented at Princeton.