Computer science foundation-building courses at the freshman and sophomore levels pose the greatest stumbling blocks to undergraduate students' learning. CS student enrollment has declined over 60% nationwide, even though the demand for skilled professionals was increasing. There is an urgent need for a more effective CS learning model.

The main purpose of this research is to enrich the context of the CS learning process which is important from motivational and educational perspectives. This project investigates a verification-driven learning model that facilitates students' involvement in real-world computing tasks starting from their early computing courses and continuing throughout their entire studies in computing. This model can significantly reduce the prerequisites for students to study real-world problems in their early years. The students are tasked to validate the functionality of software, execute programs, test parts of systems (pre-decomposed subsystems and components), and locate possible errors. Such seemingly complex high-level tasks can be done by novice students because software verification does not require design and implementation, and can be turned into a learn-by-example process with adequate preparation. This kind of preparation is wrapped in a Verification-Driven Learning Case, which defines the configuration to support a verification-driven learning activity, and consists of elements such as the justification of the system's existence, the requirement specification, description of the functionality, a set of test cases, and the decomposition of the system.

The foundation of the verification-driven learning model lies in software testing theories and techniques. Frequent and progressive exercises on verification will prepare the students for formal specifications. To realize the learning model, this project will produce Learning Cases based on faculty research including computer security, bioinformatics, geographic information systems, database and data mining techniques, remote sensing, and fuzzy set techniques. The Learning Cases will expose the students to working software systems that serve a real-world purpose in scientific research, engineering development, or social networks.

This project will particularly advocate computer science education in under-represented minority and woman students. This learning approach will also help adult students who have rich experience in various areas but need to reposition themselves in the work force. The final goal of this project is to revitalize the CS programs and produce more competent graduates capable of computational thinking.

Project Report

This project has investigated the verification-driven learning model, an innovative learning model that reduces the "prerequisites" for students to study the real-world problems in their early years. This is a supplementary teaching technique that can enrich science courses. The verification-driven learning model is a condensed and enhanced practice of Problem-Based Learning (PBL) practice. Verification-driven learning promotes active, hands-on activities, and realizes targeted, intensive, short-time learning by tightly setting up the activity scenarios. To make the idea of verification-driven learning into reality, we have designed and implemented eighty one (81) learning cases based on the verification-driven learning model. A verification-driven learning case is an augmentation of the concept of test cases in software testing, in which the basic idea of judging the subject system in a try-and-error manner comes from software test cases. Significant learning-aid elements have been added to each learning case such as easy-to-understand narrative of the system requirements, precise description of functionality, user guide tailored for students’ tasks, system structural diagrams or animations (shown in Figure 1), and graphical user interfaces for students to investigate the interactions between the components in the subject system. Among the eighty one learning cases, fifty eight learning cases are for computer science students; eleven learning cases are for non-computer science students who take the computer literacy course; and twelve learning cases are for high school chemistry students (shown in Figure 2). In developing such diversified learning cases, we have established the methodology of constructing verification-driven learning cases. We have designed and implemented a set of unified assistant features in a configuration patterns called "Learner’s Corner" that provides the students with an intuitive and consistent just-in-time assistant features. We have also laid out a two-tire architectural structure to promote reuse of development efforts: the verification-driven learning platforms and the verification-driven learning cases. A verification-driven learning platform specifies the configuration to support all the learning cases based on this platform which consists of the following elements: a working system, a simplified requirements narrative for the system, the description of the functionality of the system, a user’s guide for the system, the system structure diagram presenting a decomposition of the system, the specifications of interfaces between the subsystems and/or components, To leverage the significant efforts of establishing each verification-driven learning platform we have produced multiple verification-driven learning cases to challenge the students based on each verification-driven learning platform. Each verification-driven learning case contains the following elements: the running system produced by plugging one or more bugs into the working system given by the base VDL platform, test cases (pairs of input data and expected output), a set of multiple-choice questions that challenge and guide students’ analysis. Classroom experiments have shown small percent of improvement in students’ test performance because the tests were designed to measure the traditional classroom teaching. Compared to the control group, the students using the verification-driven learning cases studied and practiced many more contents. Completing each learning case indicated the students had went through the learning process. It would be unfair to test the students in the control group on the additional materials that they had not been taught. The comparison of test results have assured that the students using the verification-driven learning cases did not receive any negative impact on their classroom learning. How to quantitatively measure students’ learning on practical aspects about their textbook contents is a challenge for the users of the verification-driven learning cases. This will be our future research.

Project Start
Project End
Budget Start
2009-09-01
Budget End
2013-08-31
Support Year
Fiscal Year
2009
Total Cost
$253,798
Indirect Cost
Name
University of New Orleans
Department
Type
DUNS #
City
New Orleans
State
LA
Country
United States
Zip Code
70148