Core empirical concepts and skills for computer science

Educators are increasingly acknowledging that practical problems in computer science demand basic competencies in experimentation and data analysis. However, little effort has been made towards explicitly identifying those empirical concepts and skills needed by computer scientists, nor in developing methods of integrating those concepts and skills into CS curricula. In this paper, we identify a core list of empirical competencies and motivate them based on established courses outside of computer science, their potential use in standard CS courses, and their application to real-world problems. Sample assignments that facilitate the integration of these competencies into the CS curriculum are also discussed.

[1]  Kay A. Robbins,et al.  Empirical exploration in undergraduate operating systems , 1999, SIGCSE '99.

[2]  Grant Braught,et al.  The knob & switch computer: A computer architecture simulator for introductory computer science , 2001, JERC.

[3]  Victor R. Basili,et al.  The role of experimentation in software engineering: past, current, and future , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[4]  Allen B. Downey Teaching experimental design in an operating systems class , 1999, SIGCSE '99.

[5]  Ewa Z. Bem Experiment-based project in undergraduate computer architecture , 2002, SIGCSE '02.

[6]  Craig S. Miller,et al.  Relating Theory to Actual Results in Computer Science and Human-Computer Interaction , 2003, Comput. Sci. Educ..

[7]  Trevor N. Mudge Report on the panel: “how can computer architecture researchers avoid becoming the society for irreproducible results?” , 1996, CARN.

[8]  Marvin V. Zelkowitz,et al.  Experimental Models for Validating Technology , 1998, Computer.

[9]  Walter F. Tichy,et al.  Should Computer Scientists Experiment More? , 1998, Computer.

[10]  Matthew C. Clarke,et al.  Teaching the empirical approach to designing human-computer interaction via an experiential group project , 1998, SIGCSE '98.

[11]  T. Dean Hendrix,et al.  Do visualizations improve program comprehensibility? experiments with control structure diagrams for Java , 2000, SIGCSE '00.

[12]  Grant Braught,et al.  Disequilibration for teaching the scientific method in computer science , 2002, SIGCSE '02.

[13]  Grant Braught,et al.  Empirical investigation throughout the CS curriculum , 2000, SIGCSE '00.

[14]  Allen Newell,et al.  Computer science as empirical inquiry: symbols and search , 1976, CACM.