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 find and describe Science Engineering design and develop Structures © Jeff Offutt
Computing Doesn’t Quite Fit Behaviors Science Engineering find and describe Structures design and develop achieve observe Behaviors achieve Computing design and develop imagine model Structures © Jeff Offutt
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
Historical Perspective Physics Biology Chemistry Math 1800s Mechanical etc. Civil ECE Physics 1900s etc. Computer Science 2000s Computing ??? © Jeff Offutt
Computing Departments (my 2020 predictions) Software Engineering Artificial Intelligence Games & Graphics Computer Science Information Technology Information Systems Cybersecurity © Jeff Offutt
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
Summary Change is coming We have the choice : Embrace it or Fight it and lose © Jeff Offutt