{"title":"用于程序正确性证明的基于块的语言","authors":"Peter-Michael Osera, D. Wonnacott","doi":"10.1109/BLOCKS.2017.8120410","DOIUrl":null,"url":null,"abstract":"While formal mathematical reasoning is the cornerstone of computer science, undergraduates often fail to appreciate the value of mathematical proof in their studies. To alleviate this problem, we propose a novel pedagogy uniting logical reasoning with proofs of program correctness along with a proof assistant, ORC2A, that helps students author proofs in this domain. One of the defining features of ORC2A is that it has a blocks-based surface language of proof to reduce friction when adopting the tool in the classroom. We report on the current progress on ORC2A, in particular, its blocks-based interface, current design consideration, and our plans for evaluating the system.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"A blocks-based language for program correctness proofs\",\"authors\":\"Peter-Michael Osera, D. Wonnacott\",\"doi\":\"10.1109/BLOCKS.2017.8120410\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"While formal mathematical reasoning is the cornerstone of computer science, undergraduates often fail to appreciate the value of mathematical proof in their studies. To alleviate this problem, we propose a novel pedagogy uniting logical reasoning with proofs of program correctness along with a proof assistant, ORC2A, that helps students author proofs in this domain. One of the defining features of ORC2A is that it has a blocks-based surface language of proof to reduce friction when adopting the tool in the classroom. We report on the current progress on ORC2A, in particular, its blocks-based interface, current design consideration, and our plans for evaluating the system.\",\"PeriodicalId\":424744,\"journal\":{\"name\":\"2017 IEEE Blocks and Beyond Workshop (B&B)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2017 IEEE Blocks and Beyond Workshop (B&B)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/BLOCKS.2017.8120410\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE Blocks and Beyond Workshop (B&B)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/BLOCKS.2017.8120410","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A blocks-based language for program correctness proofs
While formal mathematical reasoning is the cornerstone of computer science, undergraduates often fail to appreciate the value of mathematical proof in their studies. To alleviate this problem, we propose a novel pedagogy uniting logical reasoning with proofs of program correctness along with a proof assistant, ORC2A, that helps students author proofs in this domain. One of the defining features of ORC2A is that it has a blocks-based surface language of proof to reduce friction when adopting the tool in the classroom. We report on the current progress on ORC2A, in particular, its blocks-based interface, current design consideration, and our plans for evaluating the system.