Software Engineering Experimentation Ways to Acquire Knowledge Part

  • Slides: 8
Download presentation
Software Engineering Experimentation Ways to Acquire Knowledge Part A Science, Engineering, and Computing Jeff

Software Engineering Experimentation Ways to Acquire Knowledge Part A Science, Engineering, and Computing Jeff Offutt http: //www. cs. gmu. edu/~offutt/

Goals of Science and Engineering Behaviors observe achieve Science Engineering find and describe design

Goals of Science and Engineering Behaviors observe achieve Science Engineering find and describe design and develop Structures © Jeff Offutt 2

Computing Doesn’t Quite Fit Behaviors observe Science find and describe achieve Behaviors Engineering achieve

Computing Doesn’t Quite Fit Behaviors observe Science find and describe achieve Behaviors Engineering achieve design and develop Structures imagine Computing model design and develop Structures © Jeff Offutt 3

The Changing Face of Computing • 1980 – 80% of people in IT industry

The Changing Face of Computing • 1980 – 80% of people in IT industry were programmers – CS curricula were based on the research interests of the faculty (automata, OS, compilers, AI, … – Almost no experimentation • 2012 – < 20% of people in IT are programmers – Industry and research interests have diverged • CS departments struggle to get people to teach compilers – Curricula have changed very little – added networks and graphics • These changes, and many more, mean that our academic field must change © Jeff Offutt 4

Historical Perspective Physics Biology Math 1800 s Chemistry Mechanical etc. Civil Physics 1900 s

Historical Perspective Physics Biology Math 1800 s Chemistry Mechanical etc. Civil Physics 1900 s Computer Science 2000 s ECE etc. Computing ? ? ? © Jeff Offutt 5

Computing Departments (my 2020 predictions) Software Engineering Artificial Intelligence Games & Graphics Computer Science

Computing Departments (my 2020 predictions) Software Engineering Artificial Intelligence Games & Graphics Computer Science Information Technology Information Systems Cybersecurity © Jeff Offutt 6

Computing and Science • All science requires validation • Computing almost invariably requires experimental

Computing and Science • All science requires validation • Computing almost invariably requires experimental validation • The behaviors, based on our imagination, must be validated – Because they come from our imagination, the validation must be empirical – Our goal is to solve problems with computing … the solutions must be demonstrated and validated through executing software © Jeff Offutt 7

Summary Change is coming We have the choice : – Embrace it or –

Summary Change is coming We have the choice : – Embrace it or – Fight it and lose © Jeff Offutt 8