Curriculum Issues in Industry Oriented Software Engineering Education

Curriculum Issues in Industry Oriented Software Engineering Education

DOI: 10.4018/978-1-60960-797-5.ch010
OnDemand PDF Download:
List Price: $37.50


Software engineering education has been emerging as an independent and mature discipline. Accordingly, various studies are being done to provide guidelines for the software engineering education curriculum design. This chapter summarizes the case for the need for software industry related courses and discusses the significance of industry oriented software engineering education to meet the educational objectives of all stakeholders. Software industry oriented curricula for the undergraduate and postgraduate levels are discussed. An industry oriented postgraduate level (Master’s degree level) software engineering course is also proposed which includes foundational and applied courses to provide effective training to future software engineers. This will lead to the enhancement of their employment prospects in industrial and allied sectors.
Chapter Preview


Software engineering is becoming popular and moving towards maturity. Innovations and improvements in curricula, instruction and assessment are being directed towards bridging the academia-industry gap by projecting the true nature of software development and facilitating the student in acquiring essential knowledge, skills and attitude, that are actually needed by the industry (Shaw et al., 2005). Software engineering deals with the creation and application of engineering fundamentals for the systematic and team-based analysis, development, use, evaluation, etc. of large, software-intensive systems as technical products (Horn & Kupries, 2003). These researchers argued that there is need for highly qualified specialists, capable of mastering, designing, developing and maintaining complex software-intensive systems.

It is common to hear complaints from software engineering companies about the practical knowledge of the new graduates who start working after completion of their academic programmes. While such graduates can have a high level of theoretical knowledge, they often lack practice in solving real-life industrial problems. Complaints about software quality and software failures and even disasters are becoming common and, although these arise from many factors, they are partly due to the shortcomings of the higher education institutions which do not teach essential knowledge and skills (Jaakkola et al., 2006). Many of the challenges associated with software engineering education are due to our inability to provide students with real-life, large-scale software development experience in the academic environment (Su et al., 2007). Therefore, the quality of the software engineering workforce is a strong function of the quality of the software engineering education. Software engineering is the fastest-evolving engineering discipline and most of the tasks of the software development organizations are diverse in nature, provide tools and methods throughout society (Kral & Zemlica, 2008). In this context, it is the task of software engineering education to prepare software engineering professionals adequate to this challenge, by providing them with knowledge and skills to meet the challenging needs of the software industry.

As a result of the gap between software industry needs and the education obtained by prospective software engineers, new graduates tend not to be capable of ready absorption into the industry (Beckman et al., 1997). Frequently it is necessary to provide them with substantial in-house training and orientation before placing them in responsible positions. It is also important that graduates should have experienced significant exposure to a range of different new areas of application. If they are well-versed in emerging technologies the duration of the in-house training in industry will be reduced, thus saving time and money for companies (Mishra et al., 2007). Jaakkola and colleagues (2006) also advocated that the software engineering curriculum should correspond to industry needs, and that only when it did so, would the universities produce appropriately skilled professionals. They further argued that the development of software curricula should take into account standards, frameworks, and recommendations developed by different interest groups.

Software engineering is a multidimensional field that involves activities in many areas and disciplines such as computer science, project management, system architecture, human factors, and technological evolution (Brazilay et al., 2009). Several efforts have been made to map the different dimensions of software engineering and to design a curriculum that addresses them all (SEEK, 2004; Swebok, 2008).

Complete Chapter List

Search this Book: