The HINTS Lab

Help through Intelligent Support

The Help through INTelligent Support (HINTS) Lab, directed by Dr. Thomas Price, works to develop learning environments that automatically support students with AI and data-driven help features. With a focus on computing education, our goal is to reimagine programming environments as adaptive, interactive systems that help students to pursue learning goals that are meaningful to them. We believe that every student should be able to learn computing with the support they need to be successful, working on projects that match their values and interests. Our research emphasizes practical methods that can scale to new classrooms and contexts, without placing additional burden on instructors. Examples of our research include:

  • Supporting students to design and implement on open-ended programming projects.
  • Generating data-driven programming help, such as hints and worked examples.
  • Developing machine learning models to better understand student code and predict learning outcomes.
  • Understanding how programmers seek and use help from web-based help, AI systems, and humans.
  • Evaluating the impact of programming support in classroom and lab studies.

For more about our research, see this video:

HINTS Lab Members

Principal Investigators

Avatar

Thomas W. Price

Assistant Professor

Graduate Students

Avatar

Yang Shi

Ph.D. Candidate

Avatar

Keith Tran

Ph.D. Student

Alumni

Avatar

Emma Wang

Machine Learning Engineer, Apple

Avatar

Samiha Marwan

Post Doctoral Researcher (CI Fellow)

Avatar

Rui Zhi

Software Engineer

Thomas W. Price

Thomas W. Price

Assistant Professor

North Carolina State University

HINTS Lab Director

Thomas W. Price is an Assistant Professor in the Computer Science Department at North Carolina State University, where he runs the HINTS Lab. He is also a part of NCSU’s Center for Educational Informatics.

Thomas’ research goal is to re-imagine educational programming environments as adaptive, data-driven systems that support students automatically as they pursue learning goals that are meaningful to them. His work has focused on the domain of computing education, where he has developed techniques for automatically generating programming hints and feedback for students in real-time by leveraging student data. His HINTS lab focuses on supporting students working in creative, open-ended and block-based learning contexts, leading to novel data-driven programming support, including adaptive examples, subgoal feedback, and models to predict student outcomes.

To learn more about me, check out:

Download my CV.

Interests
  • Computing Education Research
  • Educational Data Mining
  • Advanced Learning Technologies
  • Human-Computer Interaction
Education
  • Ph.D. in Computer Science, 2018

    North Carolina State University

  • M.S. in Computer Science, 2015

    North Carolina State University

  • B.S. in Computer Science, 2013

    Elon University

Recent Publications

See some of our most recent work or view all publications here.

(2022). Case Studies on the Use of Storyboarding by Novice Programmers. Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1.

PDF Cite DOI URL

(2022). Check It Off: Exploring the Impact of a Checklist Intervention on the Quality of Student-authored Unit Tests. Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1.

PDF Cite

(2022). Code-DKT: A Code-based Knowledge Tracing Model for Programming Tasks.. In Proceedings of the 15th International Conference on Educational Data Mining (EDM) 2022.

PDF Cite Project

(2022). Cross-Lingual Adversarial Domain Adaptation for Novice Programming. Proceedings of the Association for the Advancement of Artificial Intelligence Conference.

PDF Cite

(2022). Identifying Common Errors in Open-Ended Machine Learning Projects. Proceedings of the ACM Technical Symposium on Computer Science Education.

PDF Cite

(2021). Early Performance Prediction using Interpretable Patterns in Programming Process Data. Proceedings of the ACM Technical Symposium on Computer Science Education.

PDF Cite

(2021). Knowing both when and where: Temporal-ASTNN for Early Prediction of Student Success in Novice Programming Tasks. In Proceedings of the 14th International Conference on Educational Data Mining (EDM) 2021.

PDF Cite

(2021). Novices' Learning Barriers When Using Code Examples in Open-Ended Programming. Proceedings of the International Conference on Innovation and Technology in Computer Science Education(31% acceptance rate; 84/275 full papers.).

PDF Cite Project Project Slides

(2021). Snap-Check: Automated Testing for Graphical Interactive Programs. Proceedings of the International Conference on Innovation and Technology in Computer Science Education(31% acceptance rate; 84/275 full papers.).

PDF Cite Project Project Slides

(2021). SnapCheck: Automated Testing for Snap Programs. Proceedings of the International Conference on Innovation and Technology in Computer Science Education.

PDF Cite

(2021). Identifying Struggling Students in Novice Programming Course with Knowledge Tracing. Proceedings of the 5th Workshop on Educational Data Mining in Computer Science Education (CSEDM) at EDM'21.

Cite Project

(2020). Adaptive Immediate Feedback Can Improve Novice Programming Engagement and Intention to Persist in Computer Science. Proceedings of the International Computing Education Research Conference (22.7% acceptance rate; 27/119 full papers).

PDF Cite Project

(2020). An Evaluation of Data-driven Programming Hints in a Classroom Setting. Proceedings of the International Conference on Artificial Intelligence in Education.

Cite

(2020). Comparing Feature Engineering Approaches to Predict Complex Programming Behaviors. Proceedings of the 4th Workshop on Educational Data Mining in Computer Science Education (CSEDM) at EDM'20.

PDF Cite Slides

(2020). Crescendo: Engaging Students to Self-Paced Programming Practices. Proceedings of the ACM Technical Symposium on Computer Science Education(31.4% acceptance rate; 171/544 papers.).

PDF Cite Project Slides

(2020). Unproductive Help-seeking in Programming: What it is and How to Address it?. Proceedings of the International Conference on Innovation and Technology in Computer Science Education.

PDF Cite Project

(2020). What Time is It? Student Modeling Needs to Know. Proceedings of the International Conference on Educational Data Mining.

Cite

(2020). Step Tutor: Supporting Students through Step-by-Step Example-Based Feedback. Proceedings of the International Conference on Innovation and Technology in Computer Science Education(27.6% acceptance rate; 72/261 full papers.).

PDF Cite Project Slides

(2020). Immediate Data-Driven Positive Feedback Increases Engagement on Programming Homework for Novices. Proceedings of the 4th Workshop on Educational Data Mining in Computer Science Education (CSEDM) at EDM'20.

Cite Project

(2019). A Comparison of Two Designs for Automated Programming Hints. Proceedings of the Educational Data Mining in Computer Science Workshop in the Companion Proceedings of the International Conference on Learning Analytics and Knowledge.

Cite

(2019). Evaluating the Effectiveness of Parsons Problems for Block-based Programming. Proceedings of the International Computing Education Research Conference.

Cite Project

(2019). Lightning Talk: Curating Analyses for Programming Log Data. Proceedings of SPLICE 2019 Workshop Computing Science Education Infrastructure: From Tools to Data at 15th ACM International Computing Education Research Conference.

Cite

(2019). ProgSnap2: A Flexible Format for Programming Process Data. Proceedings of the Educational Data Mining in Computer Science Workshop in the Companion Proceedings of the International Conference on Learning Analytics and Knowledge.

Cite

(2019). The Impact of Adding Textual Explanations to Next-step Hints in a Novice Programming Environment. Proceedings of the Annual Conference on Innovation and Technology in Computer Science Education (28% acceptance rate; 67/243 full papers).

PDF Cite Project Slides

(2018). iSnap: Automatic Hints and Feedback for Block-based Programming. Proceedings of the ACM Technical Symposium on Computer Science Education.

Cite

(2018). Reducing the State Space of Programming Problems through Data-Driven Feature Detection. Proceedings of the Educational Data Mining in Computer Science Education Workshop at the International Conference on Educational Data Mining.

Cite Project

(2018). The impact of data quantity and source on the quality of data-driven hints for programming. Proceedings of the International Conference on Artificial Intelligence in Education.

Cite Project DOI

(2017). Showpiece: iSnap Demonstration. Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing.

Cite

(2017). Hint Generation Under Uncertainty: The Effect of Hint Quality on Help-Seeking Behavior. Proceedings of the International Conference on Artificial Intelligence in Education (30% acceptance rate; 36/121 full papers).

PDF Cite Code Dataset Project Slides

(2017). iSnap: Towards Intelligent Tutoring in Novice Programming Environments. Proceedings of the ACM Technical Symposium on Computer Science Education.

Cite

(2017). Sharing and Using Programming Log Data. Proceedings of the ACM Technical Symposium on Computer Science Education.

PDF Cite DOI

(2017). Evaluation of a Data-driven Feedback Algorithm for Open-ended Programming. Proceedings of the International Conference on Educational Data Mining.

Cite Project

(2016). Evaluation of a Frame-based Programming Editor. Proceedings of the International Computing Education Research Conference.

PDF Cite DOI

(2016). Generating Data-driven Hints for Open-ended Programming. Proceedings of the International Conference on Educational Data Mining.

Cite Project

(2016). Clashroom: A Game to Enhance the Classroom Experience. Proceedings of the ACM Technical Symposium on Computer Science Education.

Cite

(2015). An Exploration of Data-Driven Hint Generation in an Open-Ended Programming Problem. Proceedings of the Workshop on Graph-based Educational Data Mining at the International Conference on Educational Data Mining.

Cite

(2015). BJC in Action: Comparison of Student Perceptions of a Computer Science Principles Course. Proceedings of the Annual Conference For Research On Equity & Sustained Participation In Computing, Engineering, & Technology.

Cite

(2015). Comparing Textual and Block Interfaces in a Novice Programming Environment. Proceedings of the International Computing Education Research Conference.

Cite

(2015). The Impact of Granularity on Worked Examples and Problem Solving. Proceedings of the Annual Meeting of the Cognitive Science Society.

Cite

(2015). Using the hint factory to compare model-based tutoring systems. Proceedings of the Workshop on Graph-based Educational Data Mining at the International Conference on Educational Data Mining.

Cite

(2015). An Improved Data-Driven Hint Selection Algorithm for Probability Tutors. Proceedings of the International Conference on Educational Data Mining.

Cite

(2014). Towards an Extended Declarative Representation for Camera Planning. Workshop on Intelligent Cinematography and Editing at the AAAI Conference on Artificial Intelligence.

Cite