Teaching Faculty: The Key to ‘Opening the Door’

News Body

April 17, 2020

by Doug Hulette
 
photo montage by Emily Lawrence
photo montage by Emily Lawrence
 
Professor Jennifer Rexford likes to say that one of the Computer Science Department’s goals is to provide “boutique teaching at scale.” 
 
The phrase may sound a bit confusing: How is it possible to offer and maintain an intimate educational experience — a bedrock of Princeton’s ethos — as students of all stripes flock to computer science courses, driven by the spread of technology into every facet of their personal lives and future careers? For Rexford, department chair and the Gordon Y.S. Wu Professor of Engineering, a significant part of the answer lies with an unheralded group of dedicated educators who share the formal job title of “lecturer”: the 13-member teaching faculty.
 
“Many big and state schools have capped access to the computer science major or to courses, and some have added so-called weeder courses that are designed to winnow out students with less experience, understanding or commitment to the specific subject,” she says. “Instead, we’re opening the door. Teaching faculty are key to addressing the department’s increasing enrollments and ensuring that Princeton is able to deliver state-of-the art courses with innovative teaching techniques.”
 
At Princeton, teaching faculty are especially important because computer science is the most popular major at the University, with more than 10% of undergraduates receiving a CS degree. But student interest in computer science extends well beyond those who want to make it a career. During the fall semester, 789 non-computer-science majors took courses offered by the department, and the total rose to 926 in the spring semester, according to Colleen Kenny, the department’s undergraduate program manager.
 
Princeton isn’t alone in its reliance on teaching faculty, most of whom, like tenure-track faculty, hold doctorates and other advanced degrees. Departments at research universities increasingly depend on full-time teaching faculty who choose the classroom and related activities as a long-term career rather than splitting their time with research commitments. Professor Mark Braverman, who serves as an internal advocate for the department’s teaching faculty, describes them as having a singular dedication to helping students learn fascinating but complex subject matter: “Given the great career opportunities available in computer science outside of the University, they all clearly share a passion for teaching.”
 
Although the teaching faculty bolster the department’s mission in many important ways, including by supporting large, popular upper-level courses, their greatest contribution may lie in developing, maintaining, and managing introductory courses. 
 
Soohyun Nam Liao helps Michal Kozlowski '23 during a precept of COS 126
Soohyun Nam Liao helps Michal Kozlowski '23 during a precept of COS 126. *This photo was taken before the social distancing guidelines put in place during the COVID-19 crisis. Photo by Sameer A. Khan/Fotobuddy
Soohyun Nam Liao helps Michal Kozlowski '23 during a precept of COS 126. *This photo was taken before the social distancing guidelines put in place during the COVID-19 crisis. Photo by Sameer A. Khan/Fotobuddy
 
A case in point is COS 126, an introductory and interdisciplinary course that has become the University’s most popular offering. During the 2019-2020 academic year, 627 Princeton undergrads took COS 126, including 490 first-year students, or 37% of the class, Kenny says. Fully half of all current Princeton undergrads have taken the course.
 
Rexford describes COS 126 as “the opposite of a weeder course — it embraces the newcomers.” For students who have never programmed, the department provides what Rexford calls “newbie precepts” — small, twice-weekly sessions exclusively for less experienced students. The precepts, which are 50% longer than others, allow more time for questions and discussion in a supportive, collaborative environment exclusively for students who are new to the subject. 
 
One of the department’s first teaching-faculty members, Kevin Wayne, the Phillip Y. Goldman ’86 Senior Lecturer, has played a significant role in developing COS 126 with Professor Robert Sedgewick, the William O. Baker Professor in Computer Science and the department’s founding chair, who introduced the course in 1992.  
 
Not surprisingly, Wayne, who with Sedgewick wrote the core text for COS 126, “Computer Science: An Interdisciplinary Approach,” is one of the course’s biggest fans. “In 1992, I was an undergraduate at Yale,” he says. “If I had attended Princeton, I might have enrolled in COS 126 and gravitated to computer science much sooner than I did.” He and Sedgewick also co-developed another popular Princeton course, COS 226 (Algorithms and Data Structures), and popular MOOCs (Massive Open Online Courses) on Coursera.
 
Through their roles as preceptors, Wayne and his fellow teaching faculty members strongly influence how students encounter COS 126 and other courses by providing individualized support and feedback, a significant element of what Rexford calls the department’s “scaling up” to meet increasing undergraduate demand. For the spring semester, lecturers Soohyun Nam Liao and Dan Leyzberg are co-lead preceptors for COS 126, with Alan Kaplan managing one precept and Jérémie Lumbroso leading assignment grading. 
 
Alan Kaplan teaching a precept of COS 126
Alan Kaplan teaching a precept of COS 126. *This photo was taken before the social distancing guidelines put in place during the COVID-19 crisis. Photo by Sameer A. Khan/Fotobuddy
Alan Kaplan teaching a precept of COS 126. *This photo was taken before the social distancing guidelines put in place during the COVID-19 crisis. Photo by Sameer A. Khan/Fotobuddy
 
In addition to supporting both introductory and upper-level courses, the teaching faculty enrich the student experience in a variety of other ways. They serve as academic advisors for undergraduate students, particularly incoming freshmen. They also advise students on independent-work projects (either one-on-one, or in small seminars) and senior theses; develop software to automate some of the mundane aspects of teaching large courses, like running tests on students’ programming assignments and managing office hours; hire and manage undergrad assistants; conduct education-oriented research; and participate in the running of the department through their participation in academic committees. Many of them spend their summers (funded by the department) reaching out to underserved populations such as female students and high-school teachers, creating new assignments, revamping courses, and mentoring undergrad internships.
 
Andrew Appel, the Eugene Higgins Professor of Computer Science, says the teaching faculty has not only grown in size but shifted in focus during the past two decades. “Back then we had teaching faculty assisting the professors only in courses of over 100 enrollment, and those courses were only at the freshman and sophomore level,” says Appel, who joined the faculty in 1986. “But now we have many courses at all levels with enrollments over 100, so teaching faculty participate in our curriculum at all levels. Another change is that some of our teaching faculty, from time to time, are in charge of a whole course.”
 
Rexford expects the teaching faculty’s role will continue to expand. “We hope to give our increasingly large upper-level courses the same ‘boutique’ treatment that our 100-level and 200-level courses have enjoyed,” she says. “So our goal is to find lecturers with expertise in high-demand areas like machine learning and computer systems to help us make our popular upper-level courses hum like our introductory courses do.”

Teaching faculty offered their comments on what they do, how they do it, and why they do it. Here’s what they said:

 

Photo of Ibrahim Albluwi
Photo by David Kelly Crow


Ibrahim Albluwi

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.”

*Update: Ibrahim Albluwi is currently Assistant Professor of Computer Science at Princess Sumaya University for Technology in Amman, Jordan as of Fall, 2020.


Photo of Robert Dondero
Photo by Frank Wojciechowski


Robert Dondero

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.”


Photo of Robert Fish
Photo by Frank Wojciechowski


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.”


Photo of Donna Gabai
Photo by David Kelly Crow


Donna Gabai

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.”


Photo of Maia Ginsburg
Photo by David Kelly Crow 


Maia Ginsburg

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.”


Photo of Alan Kaplan
Photo by David Kelly Crow


Alan Kaplan

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.


Photo of Dan Leyzberg
Photo by David Kelly Crow


Dan Leyzberg

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.”


Photo of Xiaoyan Li
Photo by David Kelly Crow


Xiaoyan Li

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.”


Photo of Jeremie Lumbroso
Photo by David Kelly Crow


Jérémie Lumbroso 

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.


Photo of Christopher Moretti
Photo by David Kelly Crow


Christopher Moretti

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.


Photo of Soohyun Nam Liao
Photo by Sameer Khan/
Fotobuddy


Soohyun Nam Liao

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.

*Update: Liao is now an Assistant Teaching Professor, Halıcıoğlu Data Science Institute, University of California, San Diego


Photo of Iasonas Petras
Photo by Frank Wojciechowski


Iasonas Petras

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.”


Photo of Kevin Wayne
Photo by Frank Wojciechowski


Kevin Wayne

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.