Modern introductory computer science
SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
Component-based software using RESOLVE
ACM SIGSOFT Software Engineering Notes
Combining cooperative learning and peer instruction in introductory computer science
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
How mathematical thinking enchances computer science problem solving
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
A formal approach to component-based software engineering: education and evaluation
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Communications of the ACM - Why CS students need math
Mathematical reasoning in software engineering education
Communications of the ACM - Why CS students need math
Results from the evaluation of the effectiveness of an online tutor on expression evaluation
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Things are clicking in computer science courses
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Engaging students in specification and reasoning: "hands-on" experimentation and evaluation
ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education
Generating Verified Java Components through RESOLVE
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Mathematics throughout the CS curriculum
Journal of Computing Sciences in Colleges
An ACM 2013 exemplar course integrating fundamentals, languages, and software engineering
Proceedings of the 45th ACM technical symposium on Computer science education
Hi-index | 0.00 |
We describe an approach to teaching formal interface specifications using aspects of the Collaborative Reasoning Paradigm. The module requires students to construct test cases independently and cooperatively based on their understanding of a given set of method specifications. Students are supported by software-based reasoning assistants that guide them through their exercises and provide realtime feedback as they work --- both for the students and the instructor. We describe the design of the course module, the supporting reasoning assistant, and representative reasoning exercises. We conclude with a discussion of evaluation results from a recent pilot study conducted at Clemson University.