Creative CS: Intelligent Support for Creative, Open-ended Programming Projects
Principle Investigators: Thomas W. Price, Tiffany Barnes, Chris Martens
Award #: 1917885
Related Projects (see for relevant findings and publications):
- Support for Open-ended Programming Projects
- Example-based feedback
- Assessment through Dynamic Analysis
Abstract: Introductory computing curricula increasingly motivate students with creative, open-ended projects, such as making apps, games, and simulations. Advanced Placement (AP) exam results from the Computer Science Principles exam indicate that students need more support in solving open-ended problems. Current research on automated help systems can provide hints but cannot provide much information at higher abstraction levels. This project will provide technologies to support novices in open-ended program design and construction. The longer-term promise of this research is that it can be extended beyond novices’ learning of computational thinking skills to a wider range of learning tasks to better prepare the workforce of the future. Additionally, the research contributes to computer science research by using novel data-driven technologies to identify the higher-level advice provided to the students.
More specifically, the researchers will develop and evaluate techniques to adaptively support project planning and implementation, relate plans to code, generate data-driven support, and interactively refine plan and code suggestions. These features will be added to the Snap programming environment which is a block driven, browser-centric programming environment inspired by the Scratch programming environment. Student learning will be evaluated through a series of experiments to explore how students approach creating open-ended apps, games, and simulations, and how to best support them. The data-driven aspect of this project comes through the use of a large set of programming scripts that are data mined to provide appropriate advice to the novice programmers. This will provide insight into how to build intelligent, collaborative systems to support people solving large complex problems. The innovative aspect of the project is the automatic assisting of students in creating projects where no correct solution is known because students help to define the problem based on their own programming goals.
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.