Integrating Formal Methods Tools Into Undergraduate Computer Science Curriculum Sotiris Skevoulis School of Computer Science and Information Systems Pace University New York, NY 10038 Tel: 001-212-3461866 Maria Falidas Queens College of the City University of New York. Flushing, NY 11367 sskevoulis@pace.edu ABSTRACT In this paper we describe a recently NSF-funded project that is based on the power of an innovative teaching approach, which combines the traditional teaching models and adds the use of automated software tools to enhance the student's learning experience. a5qqc@forbin.qc.edu 2. USING FORMAL TOOLS The project pioneers an innovative methodology that will increase the effectiveness of the learning experience by introducing the use of mechanized approaches in teaching formal methods. By using software tools, we foster in-class experimentation and promote better learning methods for undergraduate students. The major goals set for this project are to show that the use of formal methods tools can enhance learning and collaboration in and out of the classroom, to enhance the existing tools to support long-term integration of formal methods tools in our curriculum and to enhance our curriculum with a series of courses which will gradually be integrated into it. At the conclusion of this study we expect to show increased student performance and understanding of difficult concepts with the use of mechanized assistants (tools), propose and implement better tools, and provide a complete set of instructional (educational) materials such as booklets, tools, tutorials, on-line examples for other schools. Categories and Subject Descriptors F.3.1 [Logics and Meanings of Programs]: Specifying and Verifying and Reasoning about Programs - Assertions, Invariants, Logics of programs, Mechanical verification, Preand post-conditions, Specification techniques General Terms: Experimentation, Theory, Verification. Keywords: Formal methods tools, Z language, formal design, verification, type checking. 1. INTRODUCTION Most computer science undergraduate curricula focus more on teaching programming languages and mathematics as two separate disciplines. They view mathematical logic as an add-on rather than an integral part of the science of programming. Students are provided with sophisticated tools to create programs, run them, and debug them but are never given tools to assist them in for example, understanding a proof in mathematical logic, simply because there were no such tools available until recently. After more than three decades of quality research in formal methods area, we can now realize that there is a gap between the results of a number of excellent research and project initiatives and the quality of formal methods education being offered by American universities. 3.
/lp/association-for-computing-machinery/integrating-formal-methods-tools-into-undergraduate-computer-science-Sjtly8OPCf