I am an Associate Professor of the Practice at Duke University in the Computer Science Department. I received my Ph.D. in Computer Science from UC Berkeley.
My research is in computer science education, both the study of learning computer science and applying computer science to education problems. My research focus is on scaling classes, such as how do we add more students to a class without sacrificing quality? I pursue this research by examining data from course tools to find interpretable data-driven insights that inform learning interventions.
I'm also the creator of The CS-Ed Podcast.
Below are highlights from my CV.
Co-taught CS194-25 Special topics: Building Your Next Generation Education Technologies with Dawn Song.
Shao-Heng Ko and Kristin Stephens-Martinez. 2023. What Drives Students to Office Hours: Individual Differences and Similarities. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1 SIGCSE '23
[Poster] Sadhana Suryadevara and Kristin Stephens-Martinez. 2022. UPIC a Problem-Solving Framework: Understand, Plan, Implement, and Correctness/Debugging. In Proceedings of the 2022 ACM Conference on International Computing Education Research ICER '22
Anshul Shah, Jonathan Liu, Kristin Stephens-Martinez, and Susan H. Rodger. 2021. The CS1 Reviewer App: Choose Your Own Adventure or Choose for Me!. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education ACM ITiCSE '21
Kristin Stephens-Martinez. 2021. A Study of the Relationship Between a CS1 Student's Gender and Performance Versus Gauging Understanding and Study Tactics. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education. ACM SIGCSE '21. (Video)
Kristin Stephens-Martinez, Armando Fox. 2018. Giving Hints is Complicated: Understanding the challenges of an automated hint system based on frequent wrong answers. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education 2018. ACM ITiCSE '18.
Kristin Stephens-Martinez, An Ju, Krishna Parashar, Regina Ongowarsito, Nikunj Jain, Sreesha Venkat, Armando Fox. 2017. Taking Advantage of Scale by Analyzing Frequent Constructed-Response, Code Tracing Wrong Answers ACM International Computing Education Research 2017. ACM ICER '17.
Kristin Stephens-Martinez, Marti A. Hearst, and Armando Fox. 2014. Monitoring MOOCs: Which Information Sources Do Instructors Value? ACM Learning At Scale 2014. ACM L@S '14.
Spring 2020;
Fall 2019;
Spring 2019;
Fall 2018;
Spring 2018 (Co-taught with Owen Astrachan)
Introduction to practices and principles of computer science and programming and their impact on and
potential to change the world. Algorithmic, problem-solving, and programming techniques in domains such as
art, data visualization, mathematics, natural and social sciences. Programming using high-level languages
and design techniques emphasizing abstraction, encapsulation, and problem decomposition. Design,
implementation, testing, and analysis of algorithms and programs. No previous programming experience
required.
Fall 2021;
Fall 2019
Given data arising from some real-world phenomenon, how does one turn that data into knowledge and that
knowledge into action? Students will learn critical concepts and skills in computer programming and
statistical inference in the process of conducting analysis of real-world datasets. Students will write
computer programs for projects using the Python programming language. In considering applications, we will
discuss how data can be used responsibly to benefit society. This class assumes no prior coding
experience.
Spring 2021 (Co-taught with Brandon Fain)
In this course, you will learn how to analyze, use, and design data structures and algorithms in an
object-oriented language (Java) to solve computational problems. Emphasis on abstraction including
interfaces and abstract data types for lists, trees, sets, tables/maps, and graphs. Implementation and
evaluation of programming techniques including recursion. Intuitive and rigorous analysis of algorithms.
Spring 2024;
Fall 2023;
Spring 2023;
Fall 2022;
Spring 2022;
Fall 2021;
Spring 2021 (Co-taught with Brandon Fain)
This course serves as an introduction to various aspects of working with data–acquisition, integration,
querying, analysis, and visualization–and data of different types–from unstructured text to structured
databases. Through lectures and hands-on labs, the course covers both fundamental concepts and
computational
tools for working with data and applies them to real datasets in a capstone team project.
Spring
2020;
Fall
2019
(Co-taught with Susan Rodger and Robert Duvall)
This is the computer science department’s undergrad TA training class. The goal of this class is to help
you
become an awesome TA. We believe that helping you become a good UTA will help your students learn and we
believe that it is important to help you with this process. When it comes to teaching, no one is perfect.
But no one can improve in a vacuum. It takes practice, acquiring new knowledge and skills, and a lot of
reflection. The purpose of this class is to help you through that process and to prepare you to teach lab,
run consulting hours, and support the faculty that teach in the department.
Fall 2022;
Spring 2022
Computing education research (CER) is the study of how people learn and teach computing. This course will
cover a basic understanding of what CER is, the current topics in the field, and CER methodologies. We
will
do this by reading an overview of CER, prominent works, and current research papers. In addition, the
class
will have CER projects mainly focused on data analysis.
My research is in computer science education, specifically on how to scale learning. With many classes growing in size, we cannot ignore the gap between the supply of teachers and demand in terms of the number of students. I do not believe a computer can replace a teacher, but I do think computers can help this situation. How to support the teacher, student, and class are the research questions I am most interested in. My research approach involves using mixed methods to analyze classroom data collected from class tools. I then apply the insights from this analysis to inform learning interventions.
If you are interested in working with me or collaborating, feel free to email me. For undergrad students, I am open to doing an independent study or you might be interested in Duke University's summer undergrad research program (CS+). I often have a project in this program each summer.
Below are some of my research projects.
Using data we currently can collect from the class, this project focuses on understanding student help-seeking behavior. Which students are seeking help? Where are they seeking help? What kind of help are students seeking? What kind of help are students receiving? How do we encourage students to seek help only when they need it? How do we improve the help students are receiving? This project is in the data collection and analysis phase. We have data from office hours, class forums, and class materials.
Funded by NSF Awards #1934965 and #2336805. Overall project details on our CSED Help-Seeking Website.
Team members: Shao-Heng Ko
Former Team members: Sona Suryadevara (Summer 2021 - Spring 2022)
This line of work intertwines closely with what happens in the classroom. We mean hybrid as students can attend class online synchronously. Flipping class material involves students consuming learning materials outside the classroom, taking pre-class quizzes on that content, and applying their learning in the classroom. Just-in-time means the quiz results are analyzed and used to inform what is covered and focused on in class.
Team members: Janet Jiang, Shao-Heng Ko
Former Team members: Jerry He (Summer 2023), Salma El Otmani (Summer 2023)
Autograders help us improve CS teaching by enabling us to give students instant feedback. However, autograders often focus on expecting students to write code that behaves the same. Given specific inputs, the code should return the exact same output regardless of which student submission the autograder is checking. This research project explores breaking that paradigm. How can we design assignments that allow students to be creative while also enabling us to autograde these assignments for the core learning objectives they are assessing?
Team members: Nikita Agarwal, Kevin Alvarenga, Arunima Suri
This work examines the diversity of students and undergraduate teaching assistants (UTAs). We are exploring the relationship between the demographic diversity of these two groups and other factors that spark our interest. Our first project focused on the historical diversity of these two groups over the past eight years.
Team members: Janet Jiang
Former Team members: Divya Nataraj (Fall 2023 - Spring 2024)
This project is with Jun Yang and Sudeepa Roy. Our goal is to create an interactive debugger called I-Rex for SQL. I-Rex allows users to interactively "trace" through SQL queries, understand how they execute, and debug wrong queries.
My work on this project focuses on the learning and user experience of the tool. So far, we've run preliminary user studies to learn about the overall study experience. Other ideas we have for this project include: (1) Conducting cognitive walkthrough while an expert is debugging for the sake of designing a debugging process for beginners, (2) A controlled learning gains study while learners are using the tool, and (3) More user studies.
Team members: See the HNRQ Project for more details.
CS101 Reviewer App is a web application that provides an online quiz tool to students enrolled in CS101 at Duke University. It enables students to quiz themselves on CS101 topics with carefully designed questions that check for specific misunderstandings. These questions are computer generated from a template. Formative assessments are course materials that seek to identify a studet's current understanding of the material. This project includes improving the Reviewer app and investigating assessments generally in a course with a focus on formative assessments.
Former Team members: Belle Xu (Summer 2021 - Spring 2023), Rhea Tejwani (Spring 2023), Bianca Saputra (Fall 2021 - Spring 2022), Brian Janger (Summer 2021), Manith Luthria (Summer 2021), Anshul Shah (Spring 2020 - Spring 2021), Jonathan Liu (Fall 2020 - Spring 2021), Andrew Elcock (Spring 2021), Benjamin Stewart (Summer 2020), Frank Tang (Summer 2020), Eric Young (Summer 2020)
Association for Computing Machinery (ACM)
Special Interest Group on Computer Science Education (SIGCSE)
Outstanding Graduate Student Instructor - UC Berkeley
National Science Foundation Graduate Research Fellowship
UC Berkeley Chancellor's fellowship