jason hallstrom (clemson), joan krone (denison), joseph e. hollingsworth (iu southeast), and murali...
TRANSCRIPT
![Page 1: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/1.jpg)
Making Mathematical Reasoning Fun
Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson)
This workshop is funded in part by NSF grant
DUE-1022941
![Page 2: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/2.jpg)
GoalsReasoning Across the Curriculum
Not just in Discrete MathFundamental part of CSMotivating example: binary search “proven” correct
Supporting ToolsSupporting MethodsApplicable to both large universities and small
colleges
2
![Page 3: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/3.jpg)
PartnersAlabamaClemsonCleveland StateDenisonDepauwIU SoutheastRamapo CollegeVirginia Tech NVCWestern Carolina
3
![Page 4: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/4.jpg)
What reasoning skills are necessary?Concept InventoryBoolean Logic Standard Logic Symbols, Standard
Proof Techniques
Discrete Math Structures Sets, Strings, Numbers, Relations, and other mathematical theories as needed
Precise Specifications Mathematical Descriptions of Software interfaces for clients and implementers.Math models for structuresPre and Post conditions for operations.
Modular Reasoning Each Module needs to be proven correct only once.
Verification Conditions Mathematical Assertions equivalent to the correctness of the program.
Correctness Proofs Application of Proof Techniques to the program
![Page 5: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/5.jpg)
Why?Current software is too large for one person to
understand.Students need tools for dealing with all sizes of
projects.Maintenance makes up the majority of jobs.Students need to separate specifications from
implementations.
![Page 6: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/6.jpg)
Courses at All LevelsBeginning level: CS110 – Intro to Programming,
CS174 – Discrete math at Denison, (others – CPSC101 – CSI, CPSC102 – CS2, Discrete Math at Clemson)Use of collaborative approachUse of specifications Reasoning assistant tool
6
![Page 7: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/7.jpg)
Intermediate level: CPSC215 – Software Foundations, (others: CPSC212 – Data Structures) at ClemsonContract specifications – comparing informal specs
with formal specsMathematical modeling – abstractionGenerating test data from specsReasoning assistant tool
7
![Page 8: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/8.jpg)
Advanced level: CS373 – Theory of Programming Languages and CS349 – Software Engineering at Denison, CP372 – Software Engineering at ClemsonFormal specificationsProofsVC generator toolContract based team development using RESOLVE
compiler
8
![Page 9: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/9.jpg)
All LevelsCollaborative Approach
Pairs or small groupsIn class or homework
9
![Page 10: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/10.jpg)
Collaborative MethodPairs or small groupsWith or without toolsEach team presents their findingsCollaboration both within teams and among teams
10
![Page 11: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/11.jpg)
Selective AdaptationPick and choose appropriate reasoning concepts
and/or toolsFaculty expertiseStudent background
11
![Page 12: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/12.jpg)
12
One Example: Software Engineering CourseUsual Topics
Requirements analysisDesign and specificationComponent-based implementationQuality assurance
Formal Reasoning
![Page 13: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/13.jpg)
13
ObjectivesRead formal specifications
Create test points from the specsUse component specifications to build larger
systemsWork in teams
Carry out formal verification of componentsUse automated rules
![Page 14: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/14.jpg)
14
MethodsCollaborative learning
Teams of 2 to 4 membersRead specsImplement specsVerify implementationsBuild larger systems.
![Page 16: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/16.jpg)
SummaryImportance of Reasoning across the CurriculumTools to Support ReasoningCollaborative Pedagogy includes collaboration
between students and between students and faculty
16
![Page 17: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part](https://reader035.vdocuments.net/reader035/viewer/2022071807/56649daf5503460f94a9d479/html5/thumbnails/17.jpg)
Some WorkBinary search specificationsJavaC++Any other languageAre the algorithms correct?Do the implementations work?What’s the difference?