Curriculum for an Introductory Computer Science Course: Identifying Recommendations from Academia and Industry

The purpose of this study was to define the course content for a university introductory computer science course based on regional needs. Delphi methodology was used to identify the competencies, programming languages, and assessments that academic and industry experts felt most important. Four rounds of surveys were conducted to rate the items in the straw models, to determine the entries deemed most important, and to understand their relative importance according to each group. The groups were then asked to rank the items in each category and attempt to reach consensus as determined by Kendall’s coefficient of concordance. The academic experts reached consensus on a list of ranked competencies in the final round and showed a high degree of agreement on lists of ranked programming languages and assessments. The industry experts did not reach consensus and showed low agreement on their recommendations for competencies, programming languages, and assessments.

[1]  Donald R. Chand,et al.  Computer science education in business schools , 1974, SGCS.

[2]  G. Michael Schneider,et al.  An invitation to computer science , 1995 .

[3]  M. Adler,et al.  Gazing into the oracle : the Delphi method and its application to social policy and public health , 1996 .

[4]  Roy C. Schmidt,et al.  MANAGING DELPHI SURVEYS USING NONPARAMETRIC STATISTICAL TECHNIQUES , 1997 .

[5]  R. Norton Quality Instruction for the High Performance Workplace: DACUM. , 1998 .

[6]  William J. Wilhelm,et al.  Alchemy of the Oracle: The Delphi Technique. , 2001 .

[7]  Nell Dale,et al.  Computer Science Illuminated , 2002 .

[8]  Sandra Gorka,et al.  Defining the IT Curriculum: The Results of the Past 3 Years , 2004 .

[9]  Suzanne D. Pawlowski,et al.  The Delphi method as a research tool: an example, design considerations and applications , 2004, Inf. Manag..

[10]  Caitlin Kelleher,et al.  Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers , 2005, CSUR.

[11]  Mark Guzdial,et al.  Motivation and nonmajors in computer science: identifying discrete audiences for introductory courses , 2005, IEEE Transactions on Education.

[12]  Andy Field,et al.  Discovering statistics using SPSS, 2nd ed. , 2005 .

[13]  Liberal Arts Computer Science Consortium A 2007 model curriculum for a liberal arts degree in computer science , 2007, JERC.

[14]  Sami Surakka,et al.  A What Subjects , 2007 .

[15]  David J. Malan,et al.  Scratch for budding computer scientists , 2007, SIGCSE.

[16]  Johan Malmqvist,et al.  Rethinking Engineering Education - The CDIO Approach , 2007 .

[17]  Richard J. Enbody,et al.  Python CS1 as preparation for C++ CS2 , 2009, SIGCSE '09.

[18]  Andreas Stefik,et al.  Empirical studies on programming language stimuli , 2011, Software Quality Journal.

[19]  Tebring Daly Minimizing to maximize: an initial attempt at teaching introductory programming using Alice , 2011 .

[20]  Anneliese A Singh,et al.  Qualitative Inquiry in Clinical and Educational Settings , 2011 .

[21]  Dino Schweitzer,et al.  Impact of Giving Students a Choice of Homework Assignments in an Introductory Computer Science Class , 2011 .

[22]  Karen Anewalt,et al.  A snapshot of current practices in teaching the introductory programming sequence , 2011, SIGCSE.

[23]  Harry N. Boone,et al.  Analyzing Likert Data , 2012, Journal of Extension.

[24]  Joint Task Force on Computing Curricula Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science , 2013 .

[25]  Václav Rajlich,et al.  Teaching developer skills in the first software engineering course , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[26]  Cristian Cárdenas,et al.  Active Learning in First-Year Engineering Courses at Universidad Católica de La Santísima Concepción, Chile , 2013 .

[27]  Michael J. Lutz,et al.  Undergraduate software engineering , 2014, CACM.

[28]  Kristina Edström,et al.  Rethinking engineering education - The CDIO approach, 2nd ed , 2014 .

[29]  Azad Ali,et al.  Teaching an Introductory Programming Language in a General Education Course , 2014, J. Inf. Technol. Educ. Innov. Pract..

[30]  Kuen-Yi Lin,et al.  Identifying professional competencies of the flip-chip packaging engineer in Taiwan , 2014 .

[31]  Chih-Kai Chang Effects of Using Alice and Scratch in an Introductory Programming Course for Corrective Instruction , 2014 .

[32]  Hsien-Tsai Wu,et al.  The impact of supplementary hands-on practice on learning in introductory computer science course for freshmen , 2014, Comput. Educ..

[33]  Susanne E. Hambrusch,et al.  Understanding the U.S. domestic computer science Ph.D. pipeline , 2015, Commun. ACM.

[34]  Esther Shein,et al.  Python for beginners , 2015, Commun. ACM.

[35]  Joel C. Adams,et al.  Improving Non-CS Major Performance in CS1 , 2015, SIGCSE.

[36]  Ali Mili,et al.  Programming Language Use in US Academia and Industry , 2015, Informatics Educ..

[37]  H. Joyner,et al.  Using Delphi Surveying Techniques to Gather Input from Non-Academics for Development of a Modern Dairy Manufacturing Curriculum , 2015 .

[38]  Alan Coetzer,et al.  Using the Delphi technique to support curriculum development , 2015 .

[39]  Simon Sultana Defining the competencies, programming languages, and assessments for an introductory computer science course , 2016 .