UNC Computer Science fills more than 9,000 course seats every year. So how does it still feel personal? The answer lies with 10 teaching faculty members who have built a culture where students are not just taught — they are seen.

Prairie Rose Goodwin spent nearly five years at SAS, building a career in software development. Then she watched her third project get sunsetted in a relatively short span, and something shifted.
“I felt that much of my work didn’t matter and wouldn’t last more than a year,” she said. “As a professor, I know that the work that I put into every lecture will pay dividends for decades as the students go out into the world in their own careers.”
Goodwin is one of 10 teaching faculty members in UNC Computer Science — a group that has more than doubled since 2019, when the department had four such positions. Their growth reflects an intentional choice: invest in faculty whose primary mission is in the classroom, resulting in dedicated attention to key foundational coursework, allowing for research faculty to push the field forward.

The scale of the teaching mission is enormous. Every year, UNC Computer Science fills more than 9,000 course seats, serving not just the department’s more than 1,700 undergraduate majors and pre-majors, but students across the university who need computer science courses to fulfill the requirements for information science, applied mathematics, statistics, and data science degree programs. Teaching faculty carry that load, leading the foundation that launch so many Tar Heels’ careers.
Different Paths, Shared Purpose
They bring different paths to the work. Tessa Joseph-Nicholas, the longest-serving member of the department’s teaching faculty, pushes students to think critically about technology’s role in society through courses on digital media ethics. Her broad background in digital humanities includes a doctorate in American literature. Sayeed Ghani joined UNC-Chapel Hill from the Institute of Business Administration in Karachi, and his background includes over a decade of industry experience in addition to extensive academic work. Connor “CeCe” McMahon arrived from the University of California, Berkeley with an Outstanding Graduate Student Instructor Award. Four faculty members — Kris Jordan, Isabella “Izzi” Hinks, Alyssa Lytle, and Kaki Ryan — earned their own degrees here at Carolina before returning to teach. For Ryan, the decision was simple.
“The faculty here inspired and empowered me, both as an undergrad and as a graduate student,” Ryan said. “Coming back to teach feels like a dream come true. Now I get to try to create the same supportive learning environments that made me excited about computer science when I was just starting out. And the students are so awesome!”
What unites these faculty members is a commitment to making a large and challenging course feel smaller and more accessible. That belief shapes how the department staffs its courses. Teaching faculty lead a team of 150 undergraduate teaching assistants (TAs) directly, creating a peer-to-peer learning model where students get one-on-one help from fellow students who recently mastered the same challenging material. This approach transforms a large major into something personal. It also reflects the nature of computer science itself. Each course builds directly on the last; students who don’t master the fundamentals in introductory courses will struggle in data structures, then flounder in algorithms. The curriculum demands true understanding, not just passing grades. That is why office hours matter, and why 150 undergraduate TAs are indispensable. The department’s teaching faculty have built a system where students get the support they need to master the material, not just survive it.
Beyond the classroom

Teaching faculty also shape student life well beyond the lecture hall. Jordan, a professor of the practice, directs the Computer Science Experience Labs, a technical experience accelerator and co-working space in Sitterson Hall where students collaborate on side projects, attend hands-on workshops, and gain practical experience in software engineering and user experience design. The space has logged 19,669 visits from 1,467 students in its first two years.
As Associate Chair for Student Experience, Teaching Associate Professor Brent Munsell works with staff to build community through student organizations and events like hackathons, fostering the sense of belonging that makes students stick with a demanding major. McMahon brings students abroad, entering her third summer in 2026 with course offerings in Stockholm and Osaka that let students take computer science courses for UNC credit while exploring new cultures.
“It’s a privilege to watch students experience the world and see it anew through their eyes,” McMahon said. “I hope they take away the confidence that comes from navigating the unfamiliar, and the realization that they’re capable of so much more than they imagined.”
Making a lasting impact
That philosophy runs through how teaching faculty approach their work. In Joseph-Nicholas’s courses, students are challenged to think about AI ethics and digital equity. Hinks, who was herself an undergraduate TA, structures COMP 110 with over 40 hours of office hours per week because she remembers what it was like to learn programming for the first time. In course evaluations and on Rate My Professors, students consistently describe the computer science teaching faculty as caring, engaging, and genuinely invested in their success — with several called “the best in the department.” Caitlin Estrada, a junior who is also pursuing a business degree from Kenan-Flagler, didn’t start at Carolina planning to major in computer science. But one semester in COMP 110 changed that.
“The difference in energy, effort, and passion was immediately apparent,” she said. “As a student in two schools, I can confidently say UNC Computer Science is something truly special, and that’s because of the teaching faculty.”
When teaching faculty members were asked about what they hope students remember years from now, a common answer was how to approach problems. Kevin Sun, who teaches algorithms and discrete structures, focuses on preparing students to think critically.
“I hope students remember that when we’re faced with a problem, every solution has benefits and drawbacks,” Sun said. “Deciding on the ‘best’ solution typically involves considering a variety of tradeoffs.”
After graduation, 20 percent of computer science majors continue to graduate school, while 80 percent enter careers in computer science and tech-related fields. But the teaching faculty’s impact goes deeper than job placement statistics. They build the foundation that every computer science student stands on, teaching introductory and core courses that serve not just computer science majors but students across the university. This expertise at scale allows the department to maintain excellence on both fronts: undergraduate teaching that serves thousands and research that pushes the boundaries in the field. As the department continues to grow, teaching faculty will remain essential to this dual mission.
For Associate Professor Ketan Mayer-Patel, the department’s Director of Undergraduate Studies, that is exactly the point.
“What the teaching faculty have built here is pretty remarkable. Students get faculty who chose this work because they love it—and you can feel that in the classroom, in office hours, in everything they do.”
By the Department of Computer Science
