I am Sam! πŸ‘‹ I'm an Assistant Teaching Professor in the HalΔ±cΔ±oğlu Data Science Institute at UC San Diego. I use methods from human-computer interaction (HCI) to design software tools like Pandas Tutor that help programming, statistics, and data science instructors prepare their lessons. I also wrote a textbook called Learning Data Science, published by O'Reilly Media in 2023.

My teaching faculty application materials for the 2022-2023 application cycle are linked below. CV β€” Teaching Statement β€” Research Statement β€” Diversity Statement


github.com/samlau95 @samlau95

Site last updated: Jan 2024


Pandas Tutor

makes step-by-step diagrams to show how Python pandas code transforms data.


UC San Diego

  • DSC 106: Data Visualization

    Instructor: 24wi

  • DSC 80: Practice and Application of Data Science

    Instructor: 23fa

  • DSC 10: Principles of Data Science

    Instructor: 22su

  • COGS 18: Introduction to Python

    TA: 22wi

  • COGS 124: HCI Technical Systems Research

    TA: 20fa

  • COGS 108: Data Science in Practice

    TA: 20wi β€” 19fa β€” 19wi

  • COGS 10: Cognitive Consequences of Technology

    TA: 19sp

UC Berkeley

  • Data 100: Principles and Techniques of Data Science

    Instructor: 19su (first summer offering)

    TA: 17fa β€” 17sp

  • Data 8: Foundations of Data Science

    Instructor: 17su (first summer offering)

    TA: 16fa β€” 16sp β€” 15fa

  • CS 169: Software Engineering

    TA: 15sp

  • CS 61AS: Structure and Interpretation of Computer Programs

    TA: 14fa β€” 14sp


From "Ban It Till We Understand It" to "Resistance is Futile": How University Programming Instructors Plan to Adapt as More Students Use AI Code Generation and Explanation Tools such as ChatGPT and GitHub Copilot.

Sam Lau, Philip J. Guo.

ACM Conference on International Computing Education Research (ICER),


Interviews with a diverse range of instructors reveal a broad range of perspectives on how to approach effective teaching with – or in spite of – AI coding tools.

Teaching Data Science by Visualizing Data Table Transformations: Pandas Tutor for Python, Tidy Data Tutor for R, and SQL Tutor.

Sam Lau*, Sean Kross*, Eugene Wu, Philip J. Guo (*equal contribution).

International Workshop on Data Systems Education (DataEd),


The Pandas/Tidy Data/SQL Tutor tools automatically create diagrams for data science code.

Codehound: Helping Instructors Track Pedagogical Code Dependencies in Course Materials.

Sam Lau, Philip J. Guo.



Tracking code use within course materials enables tools that give automated help while refactoring a course.

The Challenges of Evolving Technical Courses at Scale: Four Case Studies of Updating Large Data Science Courses.

Sam Lau, Justin Eldridge, Shannon Ellis, Aaron Fraenkel, Marina Langlois, Suraj Rampure, Janine Tiefenbruck, Philip J. Guo.

ACM Conference on Learning @ Scale (L@S),


Instructors of large technical courses run into major logistical challenges that take time away from teaching.

How Computer Science and Statistics Instructors Approach Data Science Pedagogy Differently: Three Case Studies.

Sam Lau, Deborah Nolan, Joseph Gonzalez, Philip J. Guo.

ACM Technical Symposium on Computer Science Education (SIGCSE),


Real-world case studies show tradeoffs in balancing computer science and statistics in data science teaching.

TweakIt: Supporting End-User Programmers Who Transmogrify Code.

Sam Lau, Sruti Srinivasa Ragavan, Ken Milne, Titus Barik, Advait Sarkar.

ACM Conference on Human Factors in Computing Systems (CHI),


Placing live previews of code outputs directly in spreadsheets enables data analysts to tweak and reuse Python examples without needing Python expertise.

The Design Space of Computational Notebooks: An Analysis of 60 Systems in Academia and Industry.

Sam Lau, Ian Drosos, Julia M. Markel, Philip J. Guo.

IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC),


Computational notebooks vary widely in data import, code editing, code execution, and output format.

workshop and poster papers

Data Theater: A Live Programming Environment for Prototyping Data-Driven Explorable Explanations.

Sam Lau, Philip Guo.

Workshop on Live Programming (LIVE),


Separating logic from presentation simplifies the process of creating explorable explanations.

Experiment Reconstruction Reduces Fixation on Surface Details of Explanations.

Sam Lau, Tricia Ngoon, Vineet Pandey, Scott Klemmer.

Poster in ACM Conference on Creativity and Cognition (C&C),


Asking people to mentally recreate an experiment briefly reduces the allure of scientific terminology.


Our ICER paper on teaching in the age of AI coding tools was accepted to ICER 2023. Looking forward to Chicago! – June 2023
Pandas Tutor v2 released and featured on the official Pyodide blog. – May 2022