Temporal logics cover important classes of system specifications dealing with system behavior over time. Despite the prevalence of long-running systems that accept repeated input and output, and thus the clear relevance of temporal specifications to training software engineers, temporal logics are rarely taught to undergraduates.
We motivate and describe an approach to teaching temporal specifications and temporal reasoning indirectly through teaching students about mocking dependencies, which is widely used in software testing of large systems (and therefore of more obvious relevance to both students and formal-methods-skeptical faculty peers), less notationally intimidating to students, and still teaches similar reasoning principles. We report on 7 years of experience using this indirect approach to behavioral specifications in a software quality course.
Thu 24 OctDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:40 | |||
16:00 20mTalk | ASSIST: Automated Feedback Generation for Syntax and Logical Errors in Programming Exercises SPLASH-E | ||
16:20 20mTalk | An Observational Study of Undergraduate Teaching Assistants' use of Subgoal Learning Integrated in an Introductory Programming Course SPLASH-E Olivier Goletti ICTEAM, UCLouvain, Kim Mens Université catholique de Louvain, ICTEAM institute, Belgium, Felienne Hermans Vrije Universiteit Amsterdam DOI Pre-print | ||
16:40 20mTalk | Judicious: API Documentation for Novices SPLASH-E | ||
17:00 20mTalk | Mocking Temporal Logic SPLASH-E Colin Gordon Drexel University | ||
17:20 20mDay closing | Closing Remarks SPLASH-E |