jason hallstrom (clemson), joan krone (denison), joseph e. hollingsworth (iu southeast), and murali...

17
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

Upload: ezra-stanley

Post on 23-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part

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

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

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

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

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

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

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

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

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

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

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

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

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

14

MethodsCollaborative learning

Teams of 2 to 4 membersRead specsImplement specsVerify implementationsBuild larger systems.

Page 15: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part

Using the Toolshttp://www.cs.clemson.edu/group/resolve

15

Page 16: Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part

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

Some WorkBinary search specificationsJavaC++Any other languageAre the algorithms correct?Do the implementations work?What’s the difference?