Continuing increases in computer power have led to significant advances in iteractive software-development environments (IDEs) that aim to help programmers plan, write, test, and fix programs efficiently. Learning management systems (LMSs), which make available learning resources and activities, have similarly evolved to support good pedagogical practice, such as collaborative work and embedded assessments, over the entire course of a discipline. This project is investigating practices for linking an LMS to an IDE in ways that will enable computer instructors to better support their students' learning. It is expected that this investigation, aimed at undergraduate and advanced high-school students, will result in better learning not only of computing concepts but of programming practices required for designing and implementing sophisticated software. Research and evaluation activities are aimed at investigating student learning and engagement and the ways that teachers change their practice in supporting students. The project findings, along with the tools and packaged curricular activities, are to be widely disseminated to technical and educational communities through professional meetings and online repositories. While the integrated software environment and guidelines about effective use for promoting learning will be broadly useful for computer science education, it is expected that this effort will also provide more general guidelines about integrating learning management systems with productivity-support systems in other domains and disciplines.
New curricular activities enabled by this integration, along with the increased support and feedback that students will receive from both instructors and classmates, are expected to provide valuable support to all students learning computing and software engineering but especially to students who are traditionally underrepresented in computing courses or who might otherwise drop out. Results of research will inform design of software systems that integrate learning-management systems with productivity-support systems to allow students across a variety of disciplines better gain insight into the big challenges of the disciplinary practice, better gain practice addressing those types of challenges, and better gain knowledge and skills needed to address those challenges.