Abstract:

This paper will seek to uncover if there is a tool that can be used to teach computer science students introductory proof techniques in an exploratory fashion. I will analyze whether a tool enhances a student’s ability to learn program verification and which parts of each tool are particularly effective. This interactive software should be designed such that it could take as input any program verification problem, and its solution and proof, and give an output of an interactive user interface. This interface would allow a user to grapple with the math problem outside of class time, giving feedback on how well the student is understanding the material. In order to discuss the essential problem we must also explore and develop the basic components. What are the integral parts of interactive learning and immediate feedback and what forms can this kind of tool take? What are the disadvantages of using such a tool to teach program verification and what are all of the exact components of program verification that will need to be covered?