Using Program Dependence Graphs to Propagate Feedback to Students on Programming Assignments and Promote Responsive Teaching

Project: Research project

Project Details


With support from the NSF Improving Undergraduate STEM Education Program: Education and Human Resources (IUSE: EHR), this project aims to serve the national interest by enabling faculty to improve their ability to assess student understanding in computer science courses and give feedback on student assignments. Student interest in computer science courses is rapidly increasing nationwide, putting strain on departments and instructors to offer a quality education. Providing effective personalized feedback to students is a critical part of the learning process, but a limited number of qualified instructors and large student enrollments make providing such feedback a challenge when student to faculty ratios are high. This Engaged Student Learning track Exploration and Design tier project will develop a new teaching platform to assist instructors in computer science courses by automatically propagating feedback to a large body of students. In addition, the new teaching platform aims to help instructors understand collective strengths and weaknesses of students in their courses based on their assignment submissions. This project aims to affect over 1,000 undergraduate students each year at the Rochester Institute of Technology.

The teaching platform developed by this project will analyze student program submissions to create program dependence graphs that combine control and data flows for Java and Python programs. The graphs will be used to cluster similar student submissions using graph alignment, and to detect semantic expected code patterns using subgraph mining. The goal of the platform is to promote improved teaching effectiveness by presenting analytics that will help instructors understand the performance of individual students and classes as a whole. It is also designed to suggest avenues for further discussion with the class. The technical evaluation of the project will study how well the platform identifies clusters and patterns in both synthetic and real assignments. Instructors from Rochester Institute of Technology, several neighboring universities, and local high schools will participate in training workshops, and the platform will be used in introductory courses at Rochester Institute of Technology. An additional goal of the project is to develop knowledge bases to enable the use of the teaching platform with new assignments, and to evaluate the impact of the platform on the instructors' grading and teaching style. The teaching platform targets instructors of computer science courses and has the potential to influence any student studying computer science. The NSF IUSE: EHR Program supports research and development projects to improve the effectiveness of STEM education for all students. Through the Engaged Student Learning track, the program supports the creation, exploration, and implementation of promising practices and tools.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

Effective start/end date10/1/199/30/23


  • National Science Foundation: $298,728.00


Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.