Software is ubiquitous, yet its development remains error-prone. Software defects are expensive to fix and can result in mission failure, infrastructure damage, and loss of life. To avoid another generation of software failure, our students must learn the skills necessary to reason rigorously about the software they develop. This project is developing student exercises to teach principles of mathematical reasoning in multiple courses across the computer science curriculum. Previous results suggest this approach increases student learning and attitude towards analytical reasoning.

Expected outcomes include several web-based learning modules called Reasoning Assistants. These interactive exercises and tutorials allow students to explore software verification, analytical performance, component-based contracts and testing. The reasoning assistants are complemented by a collection of in-class collaborative exercises. Materials are being used and assessed at a diverse set of institutions. Several hundred students and a dozen faculty are expected to participate.

Agency
National Science Foundation (NSF)
Institute
Division of Undergraduate Education (DUE)
Type
Standard Grant (Standard)
Application #
1022191
Program Officer
Paul Tymann
Project Start
Project End
Budget Start
2010-08-15
Budget End
2015-07-31
Support Year
Fiscal Year
2010
Total Cost
$50,205
Indirect Cost
Name
Indiana University
Department
Type
DUNS #
City
Bloomington
State
IN
Country
United States
Zip Code
47401