| title | Teaching |
|---|---|
| layout | default |
| img | AR_path.gif |
| img_link | https://www.youtube.com/watch?v=6W8RBCcJ23A&t=13s |
| caption |
I teach artificial intelligence at Penn, where my courses regularly enroll hundreds of students each semester. Over the last two years I've also taken on a broader role in Penn's AI education strategy: directing our online Master's in AI, serving on the curriculum committee for our new undergraduate AI degree, and helping to coordinate a cross-campus effort to bring AI education to students across all of Penn's schools.
My flagship course is Artificial Intelligence (CIS 4210/5210), which enrolls around 600 students every fall. I also teach Natural Language Processing (CIS 5300), an Introduction to AI course (CIS 2210) for freshmen and sophomores in Penn's new undergraduate AI major, and electives and seminars related to my research. Running a 600-person course and keeping the experience good for students has been something I've worked at for years.
- 2026 — Lindback Award for Distinguished Teaching. Penn's highest teaching honor, presented by the Lindback Foundation and the University of Pennsylvania. Eight awards are given each year, selected from a competitive nomination pool based on peer and student letters.
- 2025 — Lutron Spira Award for Excellence in Teaching and Advising. Presented by Penn CIS to faculty who excel in teaching and advising, recognizing my public education efforts on AI (including testimony to the U.S. Congress) and contributions to Penn's new undergraduate AI degree.
- 2022 — Ford Motor Company Award for Faculty Advising. Student-nominated award recognizing faculty dedication to helping students achieve their educational, career, and personal goals.
- 2021 — Ford Motor Company Award for Faculty Advising. I received this award during the pandemic, for care and empathy in adapting my courses as our learning suddenly moved online.
AI has changed what I teach, how I teach it, and how I measure whether students have learned. A few principles guide how I've been adjusting.
Assessment has changed more than anything else. Take-home assignments are no longer a trustworthy signal of mastery because AI can do the work. So the weight of grading in my courses has shifted. Homework counts for less than it used to, and proctored in-person exams count for more. I run those exams in a computerized testing facility using a platform called PrairieLearn, where AI is disabled and students work from large pools of auto-generated question variants. Students can practice on those same variants as much as they want before the real exam. I've also been experimenting with second-chance retakes and with a mastery-oriented approach to grading, where the goal is to certify that every student who passes has really learned the skill, rather than to sort students against each other on a curve.
The risk I worry about most is the illusion of understanding. Large language models explain things so fluently that a student can read an AI explanation, feel like they understand it, and walk away without actually having done any of the deliberate, effortful thinking that produces real understanding. Cheating is the easier problem to talk about, but the illusion of understanding is the deeper one, because the student doesn't know it's happening. A lot of my course design now tries to force the friction back in at the right moments.
AI is encouraged in my classes, with responsibility attached. My course policy permits and encourages students to use AI as a study aid, a coding helper, and a debugging companion. Students are required to cite how they used AI on each assignment, and they are not allowed to turn in work they don't understand. The same tool that helps you learn also lets you fake learning, and I want students to feel that difference themselves, not just be told about it.
AI literacy is a responsibility that reaches across the university. Not every Penn student should major in computer science, but every Penn student should leave here with a working sense of what LLMs can and cannot do, how they fail, and what the ethical and economic stakes are. Part of why I've been putting time into cross-school initiatives (see below) is that AI is increasingly a general-education topic, not a specialist one.
In practice these principles look like: proctored computer-based exams with unlimited practice banks, a 24/7 AI teaching assistant in my large course's discussion forum, LLM-assisted rubric grading for long-form essay questions at scale, hands-on assignments where students try out AI as a study partner, and a set of course-authoring tools I've been building that turn lecture transcripts into study notes and generate new exam questions on demand. My longer teaching statement from 2023 (written for my promotion case) describes more of the pre-AI infrastructure that scales my large courses.
I direct Penn Engineering's online Master of Science in Engineering in AI. The program is a ten-course asynchronous degree covering classical AI, NLP, generative AI, deep learning, GPU programming, and the ethical and societal dimensions of the field. It has grown quickly: we currently have more than 300 students enrolled, making it Penn Engineering Online's fastest-growing program, and the first cohort of directly admitted students graduates this May.
I serve on the curriculum committee that designed Penn's new undergraduate AI degree, and I teach the introductory course (CIS 2210) that freshmen and sophomores in the major take. Building an undergraduate AI degree in 2026 looks very different from building one five years ago, and getting the right balance between durable fundamentals and the current frontier has been one of the more interesting design problems I've worked on.
I co-run Wharton's Generative AI Studio with Laura Zarrow at Wharton's AI Labs (GAIL). The Studio is a year-long program where graduate students, mostly MBAs and design-focused engineers, build working prototypes that go beyond chatbots. Students bring their own project, commit to a weekly studio-critique rhythm, and are expected to show new work every week. The format borrows from design studios rather than traditional courses: there are no grades, and ambitious experiments are valued even when they don't fully succeed.
I'm helping to coordinate AI+X, a cross-campus initiative currently being developed that aims to bring AI education to students across all of Penn's schools. The premise is that AI literacy now matters for law students, medical students, business students, physicists, educators, and humanists, not only for computer scientists. The initiative is in its planning stages and is being developed jointly with colleagues across Penn Engineering, the School of Arts and Sciences, the Law School, and Penn Medicine.
Writing new courses and rewriting existing ones has become a larger share of what I do. A few current efforts:
I designed this course for freshmen and sophomores in the new undergraduate AI major. Students start with large language models, transformers, prompting, retrieval-augmented generation, tool use, and embeddings, then move to classical AI topics like search, planning, and reinforcement learning in the second half. A running thread of hands-on assignments uses programmable Sphero R2-D2 robots, where students write code (often with LLM assistance) to give the robots new behaviors. The first homework has students use AI tools to turn their own lecture transcripts into study notes. The last homework has them read the AI 2027 speculative essay and write their own timeline for the coming decade.
Co-taught with Kuzman Ganchev (Google-DeepMind). I redesigned the graduate NLP curriculum in 2023, and we are redesigning it again in 2026 because of how quickly the field is changing. Classical foundations like n-gram language models, word embeddings, and neural networks still anchor the first half of the course, but the bulk of the semester now covers transformers, large language models and prompting, post-training and alignment (RLHF and DPO), information retrieval and modern RAG, machine translation, speech processing (ASR and TTS), agents and tool use, and ethics and safety. Alongside the lecture content we've built a PrairieLearn assessment suite of weekly auto-graded quizzes, with question variants generated fresh each attempt and LLM-as-judge grading for open-ended questions.
A new fourteen-week capstone for the online Master's in AI. Students choose between an AI Engineering track and a Research track, then move through five phases: foundations, data and evaluation, model development and an alpha application, a release candidate, and a final presentation. The course is organized around a shared reference project, a minimal flashcard application built end-to-end with modern tooling, so that students can see what a finished AI application looks like before building their own. I'm leading the team designing the course.
I contributed a sample twelve-week curriculum to Penn's planning for this new undergraduate course (I'm not teaching it myself). The design treats LLMs as stochastic execution components that have to be constrained by design, verified with control mechanisms, and embedded in traditional software-engineering practice. The first project has students write tests against a specification without writing the implementation; the tests are graded by mutation testing against a pool of deliberately buggy reference implementations. A later project has students build an MCP server that wraps their own code. The final project is an "inherited legacy codebase" cleanup exercise, in place of a traditional final exam.
My full teaching record, with per-course enrollments and student ratings, is on my CV. Scanned copies of my full written teaching reviews are also available.