Download Presentation
## Making Mathematical Reasoning Fun

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Making Mathematical Reasoning Fun**Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and MuraliSitaraman(Clemson) This workshop is funded in part by NSF grant DUE-1022941**Goals**• Reasoning Across the Curriculum • Not just in Discrete Math • Fundamental part of CS • Motivating example: binary search “proven” correct • Supporting Tools • Supporting Methods • Applicable to both large universities and small colleges • Students who can write reliable software**Partners**• Alabama • Clemson • Cleveland State • Denison • Depauw • IU Southeast • Ramapo College • Virginia Tech NVC • Western Carolina • Evergreen University • Southern Wesleyan • University of Houston**Svetlana Drachova, Jason O. Hallstrom, MuraliSitaraman,**Joseph E. Hollingsworth, and Joan Krone, Assessment of Learning Outcomes Using a Mathematical Reasoning Concept Inventory, Technical Report RSRG-13-03, School of Computing, Clemson University, Clemson, SC 29634-0974, February 2013, 6 pages.**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.**Courses at All Levels**• Beginning level: CS110 – Intro to Programming, CS174 – Discrete math at Denison, (others – CPSC101 – CSI, CPSC102 – CS2, Discrete Math at Clemson) • Use of collaborative approach • Use of specifications • Reasoning assistant tool**Intermediate level: CPSC215 – Software Foundations,**(others: CPSC212 – Data Structures) at Clemson • Contract specifications – comparing informal specs with formal specs • Mathematical modeling – abstraction • Generating test data from specs • Reasoning assistant tool**Advanced level: CS373 – Theory of Programming Languages**and CS349 – Software Engineering at Denison, CP372 – Software Engineering at Clemson • Formal specifications • Proofs • VC generator tool • Contract based team development using RESOLVE compiler**All Levels**• Collaborative Approach • Pairs or small groups • In class or homework**Collaborative Method**• Pairs or small groups • With or without tools • Each team presents their findings • Collaboration both within teams and among teams**Selective Adaptation**• Pick and choose appropriate reasoning concepts and/or tools • Faculty expertise • Student background**One Example: Software Engineering Course**• Usual Topics • Requirements analysis • Design and specification • Component-based implementation • Quality assurance • Formal Reasoning**Objectives**• Read formal specifications • Create test points from the specs • Use component specifications to build larger systems • Work in teams • Carry out formal verification of components • Use automated rules**Methods**• Collaborative learning • Teams of 2 to 4 members • Read specs • Implement specs • Verify implementations • Build larger systems.**Using the Tools**• http://resolve.cs.clemson.edu/interface**Summary**• Importance of Reasoning across the Curriculum • Tools to Support Reasoning • Collaborative Pedagogy includes collaboration between students and between students and faculty**Some Work**• Binary search specifications • Java • C++ • Any other language • Are the algorithms correct? • Do the implementations work? • What’s the difference?