An Educational Tool for Teaching and Learning Concurrent Computer Programming Techniques
University Of Massachusetts Amherst, Amherst MA
Investigators
Abstract
This project aims to serve the national interest by improving student learning and instructor productivity in computing courses that teach concurrent programming. Modern computer applications require considerable computing power to produce results in a reasonable amount of time. Most programs can be broken up into constituent parts that can be executed at the same time or concurrently. Running program components concurrently can significantly reduce the running time of a program. Modern computer applications rely on concurrent execution to provide users with the level of performance they expect. Concurrent programming is challenging to teach effectively and is notoriously difficult to learn. There is a lack of effective debugging tools that allow students to analyze their code and to learn from their mistakes. The goal of this project is the development of an educational tool, called Evident, that will make it easier for instructors to teach concurrent programming and for students to develop the skills required to utilize concurrency in the programs that they develop. This project consists of three phases: (1) Developing a tool that supports backward/reverse debugging; (2) Developing visualizations for the execution order of concurrent programs; and (3) Studying the effectiveness of the resulting tool in a classroom setting. Research questions include: (1) Can replay-based debugging facilitate active learning? (2) Does visualization improve a student’s intuitive understanding of concurrency? (3) How do different visualization strategies affect a student’s ability to effectively utilize concurrency? and (4) Can visualization help teachers play a more active role in helping students understand concurrency? A three-phase evaluation will be conducted during the development process to ensure the useability of the tool. Qualitative feedback collected from students and instructors will be used to improve the design of tool. Formative assessments will be used to identify the most effective visualization practices. 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.
View original record on NSF Award Search →