{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:34:56Z","timestamp":1750221296391,"version":"3.41.0"},"reference-count":0,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2018,12,7]],"date-time":"2018-12-07T00:00:00Z","timestamp":1544140800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGSOFT Softw. Eng. Notes"],"published-print":{"date-parts":[[2018,12,7]]},"abstract":"<jats:p>Computer science (CS) students often evaluate the behavior of the code they write by running it on specific inputs, studying the outputs, and then inductively reasoning to a more general understanding of the code. This is a good starting point in the student's career, but successful graduates must be able to reason deductively about the code they create and encounter. They must be able to reason about the code on all inputs, without running the code. This paper describes an online system named \"BeginToReason\" that is designed to introduce symbolic reasoning, and the results of its use. Eighty students across six lab sections completed a written assessment while working with the BeginToReason System. The objective was to observe student understanding of the purpose of presented code both before and after completing a lesson using the BeginToReason System. Keywords: Symbolic reasoning, reasoning tool, online system, verification engine<\/jats:p>","DOI":"10.1145\/3229783.3229798","type":"journal-article","created":{"date-parts":[[2018,12,7]],"date-time":"2018-12-07T19:45:00Z","timestamp":1544211900000},"page":"18-18","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["BeginToReason"],"prefix":"10.1145","volume":"43","author":[{"given":"Megan","family":"Fowler","sequence":"first","affiliation":[{"name":"Clemson University School of Computing"}]},{"given":"Tim","family":"Schwab","sequence":"additional","affiliation":[{"name":"Clemson University School of Computing"}]}],"member":"320","published-online":{"date-parts":[[2018,12,7]]},"container-title":["ACM SIGSOFT Software Engineering Notes"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3229783.3229798","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3229783.3229798","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:13:11Z","timestamp":1750212791000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3229783.3229798"}},"subtitle":["Understanding the Purpose of Code"],"short-title":[],"issued":{"date-parts":[[2018,12,7]]},"references-count":0,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2018,12,7]]}},"alternative-id":["10.1145\/3229783.3229798"],"URL":"https:\/\/doi.org\/10.1145\/3229783.3229798","relation":{},"ISSN":["0163-5948"],"issn-type":[{"type":"print","value":"0163-5948"}],"subject":[],"published":{"date-parts":[[2018,12,7]]},"assertion":[{"value":"2018-12-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}