Teaching
- Courses
- COMP423 / COMP590 - Foundations of Software Engineering
- COMP380H / HNRS393 - Cape Town Honors Study Abroad
- COMP590 - Design of Design
- COMP393 - Software Engineering Practicum
- COMP110 - Introduction to Programming
- COMP211 - Systems Fundamentals
- COMP290 - Tools for Computer Science
- COMP426 - Modern Web Development
- COMP101 - Introduction to Computing
- COMP290 - CS Ed Research Seminar
- Invited Talks
- Service
- Grants
- Professional Development
- In the News
- Teaching Awards & Recognition
Since Fall 2015, I've had the pleasure of teaching courses ranging from introductory programming and systems fundamentals to software engineering, design, and the relationships between technology, ethics, and culture.
My work continues to emphasize iterating on course design, developing educational technology, and learning alongside Undergraduate Teaching Assistants. In recent years, this has grown to include directing the Computer Science Experience Labs (CSXL), developing Foundations of Software Engineering, and incorporating AI-enabled development workflows into the classroom.
A driving goal in my work is improving the representation, opportunities, and successes of marginalized and underrepresented groups in computer science.
Courses
COMP423 / COMP590 - Foundations of Software Engineering
| Semester | Notes |
|---|---|
| Spring 2026 | Offered as COMP423. Expanded emphasis on AI-enabled software engineering, automated testing, code review, production systems, and student responsibility for understanding generated code. Course website |
| Spring 2025 | Continued development of the COMP590 pilot, with technical communication, collaboration, design, project management, automation, and code review. Course website |
| Fall 2024 | Foundations of Software Engineering, COMP590 pilot. |
| Spring 2024 | Foundations of Software Engineering, COMP590 pilot. |
| Fall 2023 | Foundations of Software Engineering, COMP590 pilot. |
| Spring 2023 | First offering of the Foundations of Software Engineering pilot. |
COMP380H / HNRS393 - Cape Town Honors Study Abroad
| Semester | Notes |
|---|---|
| Fall 2025 | Faculty Program Director for the Cape Town Honors Study Abroad Program. Taught Technology, Ethics, & Culture (COMP380H) and supervised student internships (HNRS393). |
COMP590 - Design of Design
| Semester | Notes |
|---|---|
| Summer I 2023 | Study abroad course on the Design of Design. |
COMP393 - Software Engineering Practicum
| Semester | Notes |
|---|---|
| Spring 2024 | Software Engineering Practicum. |
| Fall 2023 | Software Engineering Practicum. |
COMP110 - Introduction to Programming
| Semester | Language | Notes |
|---|---|---|
| Summer II 2025 | Python | Two sections of Introduction to Programming. |
| Summer II 2024 | Python | Two sections of Introduction to Programming. |
| Spring 2024 | Python | Introduction to Programming. |
| Summer II 2023 | Python | Introduction to Programming. |
| Fall 2022 | Python | Two sections of Introduction to Programming. |
| Spring 2022 | Python | Two sections of Introduction to Programming. |
| Fall 2021 | Python | Two sections of Introduction to Programming. |
| Spring 2021 | Python | Introduction of readings and essays on Responsible Computing, ethics, and algorithmic bias. (Remote) |
| Fall 2020 | Python | Scale-out of Python course redesign with blend of synchronous and asynchronous instruction. (Remote) |
| Summer 2020 | Python | Small-scale, remote pilot of course redesign with modern Python's static type annotations. (Remote) |
| Spring 2020 | TypeScript | Transition to remote instruction halfway through semester due to COVID-19. |
| Fall 2019 | TypeScript | Refinement of course with highest emphasis on frequent assessment to date. |
| Spring 2019 | TypeScript | Introduction of student produced Environment Diagrams to model execution of a program in memory. |
| Fall 2018 | TypeScript | Transition to flipped class with short videos and frequent quizzing. |
| Spring 2018 | TypeScript | Recursion first, imperative second curriculum in homage to Structure and Interpretation of Computer Programs. |
| Fall 2017 | TypeScript | Transition to a language that: 1. has plain-old functions as values, 2. runs in the browser, while retaining 3. strong type checking. Enables smoother ramp up, sharing of projects on the web, and the ability to introduce functional-style programming and higher-order functions. |
| Spring 2017 | Java | Recognition of math advantage gap (report coming) leads to a return to imperative early, objects later curriculum. Fist HACK110-athon. |
| Fall 2016 | Java | JavaFX GUIs. Enrollment grows to over 800 enrolled supported by 50 UTAs. |
| Spring 2016 | Java | Transition to Objects Early and only Undergraduate Teaching Assistants (UTAs) |
| Fall 2015 | Java | Inherited Objects Late Curriculum |
COMP211 - Systems Fundamentals
| Semester | Language | Notes |
|---|---|---|
| Fall 2020 | C, Bash | Third iteration of pilot course, taught fully remotely with a mix of synchronous and asynchronous instruction. |
| Spring 2020 | C | Second iteration of pilot course for new introductory sequence increases emphasis on systems concepts (representation, processes, memory management) and tools for software engineering, while decreasing emphasis on language theory. |
| Spring 2019 | Rust, C | Designed and piloted new course to introduce systems programming in Rust in the context of Little Languages, such as bash, grep, vim, dot, and so on. Projects focus on implementation of little language processors, such as dc, bc, grep, and others. |
COMP290 - Tools for Computer Science
| Semester | Notes |
|---|---|
| Spring 2020 | Final offering of pilot course as this course's content is folded into the new COMP211 - Systems Fundamentals course. |
| Fall 2019 | Pilot 1-hour course for majors to introduce fundamental tools: shell, vim, make, git, and so on. |
COMP426 - Modern Web Development
| Semester | Language | Notes |
|---|---|---|
| Summer 2019 | JavaScript | Leading a group of students on a study abroad course in Copenhagen this summer! |
COMP101 - Introduction to Computing
| Semester | Language | Notes |
|---|---|---|
| Fall 2018 | TypeScript | Quiz model replaces midterms, 6x paper quizzes. |
| Spring 2018 | TypeScript | CS0.5 slowed pace, increased repetition to improve outcomes of students interested in programming who have a disadvantaged Math background. |
COMP290 - CS Ed Research Seminar
| Semester | Notes |
|---|---|
| Fall 2018 | Thanks to a grant for Research-Related Skills course development through UNC's Quality Enhancement Plan, I led a small undergraduate seminar course on the Best Papers of ACM CS Education Symposiums (SIGCSE, ICER, ITiCSE) since 2008. |
Invited Talks
| Year | Venue | Subject |
|---|---|---|
| 2024 | COMP915 Communications and Teaching Course | Teaching Large Enrollment Courses |
| 2023 | COMP915 Communications and Teaching Course | Teaching Large Enrollment Courses |
| 2022 | ACM SIGCSE Symposium | Panel: Innovative Approaches to Managing Scale |
| 2022 | COMP915 Communications and Teaching Course | Teaching Large Enrollment Courses |
| 2020 | Decoding Graduate Programs in CS at UNC and NCSU | Academia vs. Industry, moderator |
| 2020 | Chancellor's Science Scholars Summer Bridge Program | Computer Science at UNC Q&A |
| 2019 | Chancellor's Science Scholars Summer Bridge Program | Introduction to Programming Workshop |
| 2019 | COMP915 Graduate Course on Teaching at the University Level | Teaching Large Enrollment Courses |
| 2018 | Center for Faculty Excellence Teaching Showcase | Large Enrollment Student Support "Patient Chart" Database |
| 2018 | Chancellor's Science Scholars Summer Bridge Program | Introduction to Programming Workshop |
| 2018 | Microsoft Developer Division | Reflections on Introducing Programming with TypeScript in a CS1 Course |
| 2018 | COMP915 Graduate Course on Teaching at the University Level | Teaching Large Enrollment Courses |
| 2017 | Center for Faculty Excellence Teaching Showcase | Working with Undergraduate Learning Assistants |
| 2017 | Chancellor's Science Scholars Summer Bridge Program | Introduction to Programming Workshop |
| 2017 | COMP915 Graduate Course on Teaching at the University Level | Teaching Large Enrollment Courses |
| 2017 | UNC Chiron Award Talk | Living the Dream: On Following Passions Professionally |
Service
| Years | Title |
|---|---|
| 2026-Present | Faculty Fellow, Center for Faculty Excellence |
| 2025-Present | Carolina Scholars Class of 2029 Faculty Mentor |
| 2022-Present | Director of Undergraduate Computer Science Experience Labs (CSXL) |
| 2022-Present | Director of Admissions, UNC Computer Science |
| 2021-Present | Pearl Hacks and queer_hack Student Organization Faculty Sponsor |
| 2019-Present | Director of Learning and Teaching Assistant Programs, Computer Science Department |
| 2018-Present | Computer Science + Social Good Student Organization Faculty Sponsor |
| 2016-Present | CS Undergraduate Curriculum and Planning Committee |
| 2025-2026 | Teaching Assistant Professor Search Committee |
| Fall 2025 | Faculty Program Director, Cape Town Honors Study Abroad Program |
| 2022-2025 | Chair of Teaching Assistant Professor Search Committees |
| 2021-2025 | Carolina Scholars Class of 2025 Faculty Mentor |
| 2020-2023 | UNC Study Abroad Advisory Board |
| 2022 | UNC Data Science Bachelor of Science and Bachelor of Arts Committee |
| Fall 2020 | School of Data Science Phase II Pre-implementation Committee |
| 2017-2021 | Carolina Scholars Pod Mentor |
| 2019-2020 | Director of CS Learning Lab - Tutoring Center for Introductory Sequence Courses. |
| 2017-2018 | University Working Group for Quantitative Reasoning |
Grants
| Year | Title | Description | Amount |
|---|---|---|---|
| 2026-2027 | AI Curricular Integration Grant | UNC Center for Faculty Excellence. Principal investigator. | $40,000 |
| 2025-2026 | Instructional Innovation Grant | UNC Center for Faculty Excellence / Lenovo. Principal investigator. | $17,000 |
| 2022-2024 | CSXL Coworking and Learning Labs Renovation Grant | Education and Technology funding, College of Arts and Sciences. Principal investigator and lead designer. | $350,000 |
| 2023 | Socialization, Peer, and Mutual Support Mini Grant | Peers for Progress. Principal investigator. | $2,500 |
| 2021-2026 | Chapman Fellowship for Course Redesign | Modularization of COMP110 to include "Side Quests" with domain-specific content. Principal investigator. July 2021-June 2026. | $30,000 |
| 2021-2022 | KEEN Faculty Learning Community | Developing Entrepreneurial Mindset. | $5,000 |
| 2018-2019 | Research Related Skills Course Development | Supported the development of a COMP290 Seminar on Computer Science Education Research for Undergraduates | $3,000 |
| 2016-2017 | Finish Line - Large Course Redesign Grant | Course redesign focused on improving outcomes for first-generation college students (FGCS). | $5,000 |
| Summer 2016 | Data@Carolina Course Development Grant | Course development focused on incorporating data analysis in COMP110. Principal investigator. | $8,000 |
Professional Development
| Date | Focus |
|---|---|
| 2026 | Tyson Academic Leadership Program, UNC Institute for the Arts and Humanities |
| 2021-2022 | KEEN Faculty Learning Community for Developing Entrepreneurial Mindset |
| 2018-2019 | Faculty Learning Community on Undergraduate Research |
| 2019 | Unconscious Bias Training Module |
| 2018 | UC Berkeley's Data Science Workshop on Undergraduate Data Science Pedagogy & Practice |
| 2018 | Computer Science Education Conference (SIGCSE) |
| 2016-2017 | Faculty Learning Community on Course Redesigns |
| 2015 | UNC Instructional Innovation - Diversity & Inclusion Workshop |
In the News
| Academic Year | Article | Publication |
|---|---|---|
| 2020-2021 | Eight months of a Virtual UNC | Daily Tar Heel |
| 2019-2020 | Bigger classes and active learning | Daily Tar Heel |
| 2018-2019 | Welcome to "Compder Scifflin" - better known as COMP110 | Daily Tar Heel |
| 2017-2018 | UNC Comp Sci department works to close gender gap | Daily Tar Heel |
| 2016-2017 | How a computer science professor went from 0 to 1,000 in about a year | Daily Tar Heel |
| 2015-2016 | Computer Science class gets modern twist | Daily Tar Heel |
Teaching Awards & Recognition
| Academic Year | Title | Scope | Description | Amount |
|---|---|---|---|---|
| 2025 | Carolina Women's Leadership Council Undergraduate Mentoring Award | University | Recognition for undergraduate mentoring. | $7,000 |
| 2025 | Undergraduate Teaching Award | Computer Science Department | Undergraduate teaching recognition. | — |
| 2022 | oSTEM Diversity, Equity, and Inclusion Undergraduate Teaching Award | oSTEM | Undergraduate teaching recognition. | — |
| 2020-2021 | Chapman Family Teaching Award | University | Highest teaching award at UNC-Chapel Hill, won in first year of eligibility. | $30,000 |
| 2017-2018 | Chair's Award for Excellence in Undergraduate Teaching | Computer Science Department | Selected by department chair in recognition of teaching performance and outcomes. | $5,000 |
| 2017-2018 | Johnston Teaching Award Redacted | University | Awarded and later redacted when awarding committee realized I had not yet met the requirement of 5 years teaching. | Condolence Flowers ($5,000 redacted) |
| 2016-2017 | Chancellor's Teaching Award | University | The Student Undergraduate Teaching Award. Student nominated and selected. | $5,000 |
| 2016-2017 | UNC Chiron Winner | University | Student Nominated Teaching Award and End-of-Year Lecture. | $500 |
| 2015-2016 | Undergraduate Faculty Award | Computer Science Department | Student nominated & selected teaching award. | $500 |