Software Engineering Education Knowledge Versus Industrial Needs

©2021 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. DOI: 10.1109/TE.2021.3123889 Abstract—Contribution: Determine and analyze the gap between software practitioners’ education outlined in the 2014 IEEE/ACM Software Engineering Education Knowledge (SEEK) and industrial needs pointed by Wikipedia articles referenced in Stack Overflow (SO) posts. Background: Previous work has uncovered deficiencies in the coverage of computer fundamentals, people skills, software processes, and human-computer interaction, suggesting rebalancing. Research Questions: 1) To what extent are developers’ needs, in terms of Wikipedia articles referenced in SO posts, covered by the SEEK knowledge units? 2) How does the popularity of Wikipedia articles relate to their SEEK coverage? 3) What areas of computing knowledge can be better covered by the SEEK knowledge units? 4) Why are Wikipedia articles covered by the SEEK knowledge units cited on SO? Methodology: Wikipedia articles were systematically collected from SO posts. The most cited were manually mapped to the SEEK knowledge units, assessed according to their degree of coverage. Articles insufficiently covered by the SEEK were classified by hand using the 2012 ACM Computing Classification System. A sample of posts referencing sufficiently covered articles was manually analyzed. A survey was conducted on software practitioners to validate the study findings. Findings: SEEK appears to cover sufficiently computer science fundamentals, software design and mathematical concepts, but less so areas like the World Wide Web, software engineering components, and computer graphics. Developers seek advice, best practices and explanations about software topics, and code review assistance. Future SEEK models and the computing education could dive deeper in information systems, design, testing, security, and soft skills.

[1]  Darrel C. Ince,et al.  The case for open computer programs , 2012, Nature.

[2]  Mark J. Sebern,et al.  Revisions to Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering , 2012 .

[3]  Ellen Walker,et al.  Incorporating realistic teamwork into a small college software engineering curriculum , 2002 .

[4]  Vahid Garousi,et al.  Closing the Gap Between Software Engineering Education and Industrial Needs , 2018, IEEE Software.

[5]  Ana María Moreno,et al.  Balancing software engineering education and industrial needs , 2012, J. Syst. Softw..

[6]  Shari Lawrence Pfleeger,et al.  Principles of survey research part 2: designing a survey , 2002, SOEN.

[7]  Richard E. Fairley,et al.  Essential elements of software engineering education , 1976, ICSE '76.

[8]  A. Furnham Response bias, social desirability and dissimulation , 1986 .

[9]  Timothy Lethbridge,et al.  A survey of the relevance of computer science and software engineering education , 1998, Proceedings 11th Conference on Software Engineering Education.

[10]  Leif Singer,et al.  A study of innovation diffusion through link sharing on stack overflow , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[11]  Andrew J. Kornecki,et al.  The Integration of Software Engineering into a Computer Science Curriculum , 1995, CSEE.

[12]  Kai Petersen,et al.  Guidelines for conducting systematic mapping studies in software engineering: An update , 2015, Inf. Softw. Technol..

[13]  Shari Lawrence Pfleeger,et al.  Principles of survey research: part 3: constructing a survey instrument , 2002, SOEN.

[14]  T.B. Hilburn,et al.  A software engineering curriculum model , 1999, FIE'99 Frontiers in Education. 29th Annual Frontiers in Education Conference. Designing the Future of Science and Engineering Education. Conference Proceedings (IEEE Cat. No.99CH37011.

[15]  Roland Mittermeir,et al.  Experiences with Integrating Simulation into a Software Engineering Curriculum , 2012, 2012 IEEE 25th Conference on Software Engineering Education and Training.

[16]  Gemma Bayliss,et al.  Exploring the Cautionary Attitude Toward Wikipedia in Higher Education: Implications for Higher Education Institutions , 2013 .

[17]  Arthur B. Pyster,et al.  The Graduate Software Engineering Reference Curriculum (GSwERC) , 2009, 2009 22nd Conference on Software Engineering Education and Training.

[18]  Lee Sigelaman Question-Order Effects on Presidential Popularity , 1981 .

[19]  Shari Lawrence Pfleeger,et al.  Principles of survey research part 4: questionnaire evaluation , 2002, SOEN.

[20]  Jure Leskovec,et al.  Why We Read Wikipedia , 2017, WWW.

[21]  Bernard Rous Major update to ACM's Computing Classification System , 2012, CACM.

[22]  Anthony J. Cowling A multi-dimensional model of the software engineering curriculum , 1998, Proceedings 11th Conference on Software Engineering Education.

[23]  Thomas J. Reichlmay Collaborating with industry: strategies for an undergraduate software engineering program , 2006, SSEE '06.

[24]  Anthony I. Wasserman,et al.  A proposed curriculum for software engineering education , 1978, ICSE '78.

[25]  Chris Aldrich,et al.  Stack Overflow Developer Survey 2015 , 2015 .

[26]  Timothy Lethbridge,et al.  What knowledge is important to a software professional? , 2000, Computer.

[27]  T.C. Lethbridge,et al.  Software engineering 2004: ACM/IEEE-CS guidelines for undergraduate programs in software engineering , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[28]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[29]  Randall W. Jensen,et al.  A proposed 4-year software engineering curriculum , 1978, SIGCSE '78.

[30]  A. Strauss,et al.  Grounded theory , 2017 .

[31]  Christoph Treude,et al.  Understanding Wikipedia as a Resource for Opportunistic Learning of Computing Concepts , 2020, SIGCSE.

[32]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[33]  Mark J. Sebern,et al.  SE 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering , 2015, Computer.