Kristin Stephens-Martinez

Assistant Professor of the Practice · Computer Science Department
D224 LSRC Research Drive Box 90129 · Duke University, NC 27708 · (919) 660-6581 · ksm@cs.duke.edu

I am an Assistant 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.


Education

University of California, Berkeley

Doctor of Philosophy: Computer Science
Advisor: Armando Fox
December 2017

University of California, Berkeley

Master of Science: Computer Science
Advisor: Vern Paxson
December 2013

University of Maryland, College Park

Bachelor of Science: Computer Science
Summa Cum Laude
May 2009

Professional Appointments

Assistant Professor of the Practice

Duke University

The classes I teach focus on introductory computer science within the first two semesters.

December 2017 - Now

Co-Instructor

University of California, Berkeley

Co-taught CS194-25 Special topics: Building Your Next Generation Education Technologies with Dawn Song.

Fall 2012

Head Teaching Assistant

University of California, Berkeley

CS169 Software Engineering with Armando Fox.

Fall 2016

Graduate Teaching Assistant

University of California, Berkeley

Graduate Student Researcher

University of California, Berkeley

Wrong answers and Hints with Armando Fox

May-Aug 2016, Jan-May 2017

KnowMap with Dawn Song

May-Dec 2012

BGP Parser and HTTP Request Causation with Vern Paxson

Jan-Aug 2011, Jan-May 2012

Publications

Conferences

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.

Manuscripts and Unrefereed Reports

(Ph.D. Thesis) K. Stephens-Martinez, Serving CS Formative Feedback on Assessments Using Simple and Practical Teacher-Bootstrapped Error Models, EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2017-166, Nov. 2017.

(Master's Report) Kristin Stephens. 2013. Towards Sound HTTP Request Causation Inference. EECS Department, University of California, Berkeley. UCB/EECS-2013-141


Teaching

Duke University

CompSci 101 Introduction to Computer Science

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.

CompSci 116 Foundations of Data Science

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.

CompSci 201 Data Structures and Algorithms

Spring 2021
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.

CompSci 216 Everything Data

Spring 2021
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.

CompSci 249 CompSci Ed Research

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.

University of California, Berkeley

CS194-25 Special topics: Building Your Next Generation Education Technologies

Fall 2012 (Co-taught with Dawn Song)
In this course we will explore today's online education landscape, learn and discuss what to consider when designing education tools, and contribute to a next generation online education technology.


Research

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 usually have at least one project in this program every summer.

Below are some of my research projects.

CS101 Reviewer App

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. A recent feature includes an auto-generated quiz that chooses what topics to focus on based on the student's past performance.

We have many different ideas for this project. Some ideas are to improve the app, such as adding different question types, improving the algorithm that generates the auto-generated quiz, or adding automated hints based on the student's wrong answers. Other ideas focus on analyzing the data we are collecting. We want to understand the difficulty of the generated questions within a question template and across templates, as well as link the generated questions' wrong answers back to the template's wrong answers to understand student misunderstandings. This work would also help us look at student behavior to understand class trends and inform future features.

Team members: Anshul Shah, Jonathan Liu

Student Help Seeking Behavior

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 preliminary data collection and analysis phase. We have data from office hours, class forums, and class materials.

Team members: We are looking for people!

Helping Novices Debug Relational Queries (HNRQ)

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: We are looking for people!

Flipping Class Material and Equitable Grading

This line of work intertwines closely with what happens in the classroom. Flipping class material involves identifying class material to flip, where students consume learning materials outside the classroom and apply their learning in the classroom. After identifying the material, we would need to identify what medium to use for the flipped material (video, text, audio, etc.) and then run an experiment to understand the effect on the class. After reading Grading for Equity by Joe Feldman, I want to explore these ideas in computer science learning. How do these practices change student outcomes? Can they make the computer science classroom more equitable? Are there ways computer science is uniquely different from related work on this topic?

This project is in its infancy. I want to work on it more but currently do not have the time. If I had someone interested in it, I would happily advise them on the project.

Team members: We are looking for people!

Students

Master's
Ji Yeon Kim (2019)

Misc

Affiliations

Association for Computing Machinery (ACM)

2008 - Now

Special Interest Group on Computer Science Education (SIGCSE)

2018 - Now

Honors and Awards

Outstanding Graduate Student Instructor - UC Berkeley

National Science Foundation Graduate Research Fellowship

UC Berkeley Chancellor's fellowship

Personal

Hobby crafts blog