Software engineering education: some important dimensions

14
European Journal of Engineering Education Vol. 32, No. 3, June 2007, 349–361 Software engineering education: some important dimensions ALOK MISHRA*, NERGIZ ERCIL CAGILTAY and OZKAN KILIC Department of Computer Engineering, Atilim University, Ankara, Turkey (Received 16 July 2006; in final form 21 November 2006) Software engineering education has been emerging as an independent and mature discipline. Accord- ingly, various studies are being done to provide guidelines for curriculum design. The main focus of these guidelines is around core and foundation courses. This paper summarizes the current problems of software engineering education programs. It also proposes some important dimensions as integral parts of software engineering education: interdisciplinary skills, practice experience, communication, skills on continuing education and professionalism. In the current guidelines and studies these dimensions are not addressed specifically. Although there could be other dimensions to be considered in software engineering education, we believe that the proposed ones are very crucial as software engineering is evolving more rapidly than any other engineering discipline. This study also provides a survey of some major universities’ undergraduate software engineering programs to evaluate these dimensions. Keywords: Curriculum; IT; Software; Software engineering; Software engineering education 1. Introduction Rapid development of information technology (IT) and the software industry provides several benefits to individuals, business and organizations. Today many organizations are performing their business by depending on these technologies and software. The results of several research studies in the U.S. showed that the government depends on very large and not well understood software systems, and is faced with many unpredictable failures (Boehm and Basili 2000). Several studies have also shown that many software projects were cancelled, being late and over cost according to their original estimates (It Cortex 2003, Lethbridge 2000a, Standish Group 1995). A failure in software can cause a failure in business. Considering the fact that most business applications are moving to an e-business environment, the quality of software is getting more critical. Advanced technologies and the increasing importance of software in daily life make these environments more sophisticated and complex. In this aspect, it is the software engineering (SE) professionals’ responsibility to manage this complex environment effectively. The quality of the SE workforce is a direct function of the quality of the SE edu- cation (SEE). Therefore, it is the responsibility of SEE to prepare the SE professionals by providing them with skills to meet the expectations of the software industry. Studies have shown that there is a wide gap between software industry needs and education for prospective *Corresponding author. Email: [email protected] European Journal of Engineering Education ISSN 0304-3797 print/ISSN 1469-5898 online © 2007 SEFI http://www.tandf.co.uk/journals DOI: 10.1080/03043790701278607

Transcript of Software engineering education: some important dimensions

European Journal of Engineering EducationVol. 32, No. 3, June 2007, 349–361

Software engineering education: some important dimensions

ALOK MISHRA*, NERGIZ ERCIL CAGILTAY and OZKAN KILIC

Department of Computer Engineering, Atilim University, Ankara, Turkey

(Received 16 July 2006; in final form 21 November 2006)

Software engineering education has been emerging as an independent and mature discipline. Accord-ingly, various studies are being done to provide guidelines for curriculum design. The main focus ofthese guidelines is around core and foundation courses. This paper summarizes the current problems ofsoftware engineering education programs. It also proposes some important dimensions as integral partsof software engineering education: interdisciplinary skills, practice experience, communication, skillson continuing education and professionalism. In the current guidelines and studies these dimensionsare not addressed specifically. Although there could be other dimensions to be considered in softwareengineering education, we believe that the proposed ones are very crucial as software engineeringis evolving more rapidly than any other engineering discipline. This study also provides a survey ofsome major universities’ undergraduate software engineering programs to evaluate these dimensions.

Keywords: Curriculum; IT; Software; Software engineering; Software engineering education

1. Introduction

Rapid development of information technology (IT) and the software industry provides severalbenefits to individuals, business and organizations. Today many organizations are performingtheir business by depending on these technologies and software. The results of several researchstudies in the U.S. showed that the government depends on very large and not well understoodsoftware systems, and is faced with many unpredictable failures (Boehm and Basili 2000).Several studies have also shown that many software projects were cancelled, being late andover cost according to their original estimates (It Cortex 2003, Lethbridge 2000a, StandishGroup 1995). A failure in software can cause a failure in business. Considering the fact thatmost business applications are moving to an e-business environment, the quality of softwareis getting more critical. Advanced technologies and the increasing importance of software indaily life make these environments more sophisticated and complex. In this aspect, it is thesoftware engineering (SE) professionals’ responsibility to manage this complex environmenteffectively. The quality of the SE workforce is a direct function of the quality of the SE edu-cation (SEE). Therefore, it is the responsibility of SEE to prepare the SE professionals byproviding them with skills to meet the expectations of the software industry. Studies haveshown that there is a wide gap between software industry needs and education for prospective

*Corresponding author. Email: [email protected]

European Journal of Engineering EducationISSN 0304-3797 print/ISSN 1469-5898 online © 2007 SEFI

http://www.tandf.co.uk/journalsDOI: 10.1080/03043790701278607

350 A. Mishra et al.

software engineers (Beckman et al. 1997). We are aware that SE is the fastest-evolving engi-neering discipline and most of the software development organizations’ tasks are diverse innature. Therefore, it is not possible to produce ready-made graduates which can be absorbedimmediately in the industry. As a solution, most of the time it is important to provide somein-house training and orientation before placing them in proper positions. It is also importantthat graduating students should get excellent exposure in different areas. So if the studentsare well-versed in emerging technologies then in-house training duration will be less, whichmeans less time and money for organizations.

In some countries including the UK, universities are offering sandwich programs, appren-tice or internship programs as part of their curriculum structure to provide industrial andorganizational exposure. This will help in practice experience, communication and motiva-tion towards learning emerging technologies. This study attempts to propose some additionalsolutions during SEE in order to shorten this duration by highlighting some important dimen-sions of SEE. The objective is to present the importance of these dimensions and inspire SEeducators to incorporate them in the appropriate weightings while designing SE curriculum.Although researchers have pointed out their importance, these areas have yet to find the placethey deserve in SE curriculums of many universities. Even SEEK (2004) and SWEBOK (2004)are limited in addressing these issues. In order to get a better view on these dimensions, 26universities’ SEE programs are analyzed in this study.

2. SEE programs

Saiedian et al. (2002) observed that, the current situation of SE mirrors that of the computerscience (CS) field in the 1960s and 1970s in the sense that CS degree programs were initiated bythe electrical engineering and mathematics faculty. Similarly, the computing faculties are treat-ing SE today (Saiedian et al. 2002). It is obvious that SE and CS both derive their strength fromfoundations of CS-like algorithms, discrete mathematical structures, etc. SE has emerged as anindependent discipline from CS due to its vast applications, significance, diversity and com-plexity. Industry-relevant case studies and projects along with industry internship should be anintegral component of the SEE curriculum (Saiedian 1999, Wohlin and Regnell 1999). Knowl-edge of different domains, process, modeling, tools and environments, interdisciplinary stud-ies, management, quality, metrics, ethics and professionalism should also be significant parts ofthr SEE curriculum (Hilburn et al. 1999). In the U.S., Monmouth University established the firstSE department in 1995 while an undergraduate SEE program was first initiated by RochesterInstitute of Technology in 1996 (McConnell and Leonard 1999, Rosca 2005). Since then, manySE programs have been initiated in different universities at undergraduate and graduate levels.

An important issue to make SE a mature discipline is the guideline for SEE. Earlier briefguidelines for development of SEE programs were presented by various researchers (Hilburnet al. 1999). Several researchers have been working in the SEE area (Budgen and Tomaykoi2005, Lethbridge 2000b). IEEE (SE 2004 Volume—SEEK) provides the comprehensive andlatest guidelines for undergraduate programs in SE. It includes directions for SE curriculumdesign, delivery, courses and sequences. Other program implementation issues such as faculty,students, infrastructure and industry co-ordination, assessment, accreditation have also beendiscussed briefly.

2.1 Problems of SEE programs

It is believed that, historically, performance of software is poor in meeting society’s needsand the practice of SE needs substantial changes (Hilburn and Humphrey 2002). Hilburn and

Software engineering education 351

Humphrey (2002) support a drastic change in the approach to SEE in order to consistentlyprovide safe, secure, and reliable systems. In this context, understanding the problems ofcurrent SEE will help us to provide more appropriate solutions for it. On the way to becominga mature discipline, SE has several problems in developing a quality SE program such as(Hilburn and Bagert 1999):

• SE program as an independent discipline is aspiring to be mature;• there is confusion about the difference between computer science and SE;• there is a lack of understanding and appreciation among computer science faculty about the

need for SEE; and• there is little available material on curriculum guidance.

Therefore, careful attention must be given to the SEE, which will produce excellent softwareengineers to enrich the knowledge of society and to benefit mankind in the future. In this regard,several efforts have already been initiated (Hilburn et al. 1999, SEEK 2004, SWEBOK 2004).SWEBOK (2004) has provided information in terms of interdisciplinary courses, althoughit is not strong on providing comprehensive guidelines for the essential components such aspractice experience, communication and continuing education skills which are discussed asweaknesses of the current SE programs (Lethbridge 2000a, Mills and Treagust 2003, Pouret al. 2000, SEEK 2004). The guidelines must get international acceptance (Saiedian et al.2002, Moore 2002). Accordingly, we have studied several SE programs, current guidelinesas well as other related research studies in this field. As a result, we have concluded that thefollowing dimensions are very important for the SEE. We believe that these dimensions arealso important for any other engineering discipline; however, the rapidly changing nature ofSE makes it more crucial for the field.

3. Proposed dimensions for SEE programs

There are several guidelines and studies for the basic and core courses of the SEE. For thisreason the main focus of this study will cover the other dimensions (other than the basic andcore courses) of SEE.

Interdisciplinary skills: SE draws its foundations from a wide variety of disciplines (SEEK2004). According to Parnas (1999), SE programs must also provide their students with enoughknowledge about other areas of engineering so that they will know when to call for help fromother engineers and to work well on a team with other types of engineers. In several studiesit is also highlighted that the following disciplines are related with SE (Swebok 2004-I-7, Boehm and Basili 2000): computer engineering, project management, computer science,quality management, management, software ergonomics, mathematics, systems engineering,domain sciences, behavioral sciences, and economics. In SEEK it is highlighted that studentsshould learn some application domains outside SE and importance should be given in orga-nizing the curriculum in such a way that several types of knowledge are learned concurrently(curriculum guideline 6 & 8) (SEEK 2004).

From these studies it is obvious that the curriculum of SE programs should cover someconcepts from a wide range of fields. These interdisciplinary concepts should be integratedinto the current structure of the curriculum. Therefore, SE topics need to be integrated withdifferent disciplinary lenses instead of providing the students with general courses first and thenprofessional programs later (Evans and Goodnick 2003). General studies should be integratedwith professional studies (Evans and Goodnick 2003).

352 A. Mishra et al.

Practice experience: An additional critical element in the success of SE programs is theinvolvement and active participation of industry (SEEK 2004). In this context, Wohlin andRegnell (1999) presented strategies for industrially relevant education for software engineers.The next important issue is the need for hands-on experience. The integration of theory andpractice into SEE is the fundamental concern (Dart et al. 1997, Hilburn and Humphrey 2002,Saiedian et al. 2002, Parnas 1999). For example, according to Saiedian et al. (2002) SEE mustinclude some practice experience before putting in workforce and handling important designand implementation responsibilities. They also argue that, “The education, received on the bestengineering practice and techniques to support various software life-cycle activities will benefita job candidate for a lifetime.” Graduates who lack practical competence cannot build usefulsystems. For example, according to Ford (1994), employers complain that new graduates haveinsufficient experience and preparation for working as part of a team. Therefore, in additionto solid education programs, proper guidance from industry and professional societies iscritical to adequately prepare graduates for entrance into the SE profession (Pour et al. 2000).Industrial-related case studies and projects should be an integral component of SEE (Saiedian1999). According to Bagert and Mengel (2005) the study of the software process, which isessential to the education of future software professionals, should be provided by using web-based projects throughout the SE curriculum which will also enhance communication skillsand interaction between team members. According to observations from Lethbridge’s studythe following topics are very important for software industry; however students generallycould learn these during job learning (Lethbridge 2000a):

• object-oriented concepts and technologies,• requirements gathering and analysis,• analysis and design methods,• testing verification and quality assurance,• project management,• human–computer interaction/user interfaces,• databases,• configuration and release management,• ethics and professionalism,• technical writing,• delivering presentations/seminars to an audience, and• leadership skills.

According to Lethbridge (2000b) there is a need to include these subjects in a curriculumalong with real industrial practice. Another important issue with the practice experience isthe skills needed to work in groups. In a real environment, people need to work in groups.Kitchenham et al. (2005) also supports several observations of Lethbridge with respect to theover-emphasis of mathematical topics and the under-emphasis on business topics. However,their findings are different from Lethbridge with respect to topics that have a larger knowledgegap. SE students should have skills to work individually as well as on teams to develop anddeliver quality software artifacts (SEEK 2004). Teamwork and professional practice play avital role in SE (SEEK 2004). The importance of professional practice concerned with theknowledge, skills, and attitudes that software engineers must possess to practice SE in aprofession is also highlighted in SEEK (2004).

Communication skills: The need to train software engineers with strong teamwork and com-munication skills have been stressed repeatedly by the industry world-wide (Heil 1999, Teles

Software engineering education 353

and Olivera 2003). Software engineers will be involved in large projects in which communi-cation and interpersonal skills are very important (Cheston and Tremblay 2002, Favela andPena-Mora 2001).All SE activities need good written and oral presentation skills, besides gooddocumentation skills (SEEK 2004). In this regard, a software engineer needs to be competentin communications, be able to do good documentation and understand appropriate forms ofdocumentation for each activity (Bagert et al. 1999), but they are weak in terms of these skills(Mills and Treagust 2003). According to Ford, even employers from different countries acrossthe globe consistently rank these skills as important as the technical skills to be successfulin a corporate environment (Rosca, 2005). They complain that new graduates do not knowhow to communicate (Ford 1994). A better option is to provide general training in commu-nication skills to all students (Kichenham et al. 2005). SEEK also emphasizes that studentsshould be trained in certain personal skills that transcend the subject matter. Students shouldlearn to communicate well in all contexts, for example in writing, presentations, demonstra-tion of software, and conducting discussions with others. Students should also build listening,cooperation and negotiation skills (SEEK 2004).

Skills on continuing education: SE covers a wide range of knowledge and experience. Withthe inception of internet technologies, areas such as system development, parallel processing,database engineering, data management, network and distributed system security, softwarearchitecture and design, programming languages, performance modeling, and graphical userinterface design are all becoming associated with SE (Blake 2003). Therefore, the body ofknowledge of SE is very large and it is unreasonable to expect a software engineer to know allthese concepts, even at the basic or knowledge level. In this context, continuing their educationafter graduation is very important for the individual working in this field. That is to say, duringthe formal education students need to develop some skills which will enable them to pursuetheir own path of learning. These skills include the study skills and habits as well as the abilityto plan, initiate and complete a learning process.

Professionalism: Professionalism in the field of SE may cover the ethical issues and licenses.In that sense, on the way to becoming a mature discipline SEE needs to cover these issues. Inthe current situation even though there are some trends towards SE professionalism, the endof the long and winding road is not yet in sight (Pokfulam 2002).

4. Evaluation of SE curriculums according to the proposed dimensions

In this study, we have analyzed some pioneer universities’ B.S. (SE) programs in the contextof proposed dimensions. Our main objective was to ascertain their courses under the proposeddimensions. The methodology of this study is summarized in the following section.

4.1 Selection process of the universities

As it is really difficult to take care of all the countries and universities, we have tried our bestto select pioneer universities around the world awarding B.S. (SE) (The Straits Times, 2004).We have selected the universities which either have independent SE departments or combinedCS/Computer Engineering Departments. The universities were selected and found throughsearch engines and then University and Software/Computer Engineering department’s homepages were analyzed thoroughly to collect the information about courses. Later on, informationfrom each course was collected from syllabi and analyzed accordingly.

354 A. Mishra et al.

4.2 Classifying courses according to proposed dimensions

While classifying the courses, we did not include fundamental engineering courses such asmathematics, chemistry, physics and statistics. We simply focused on the courses that aredirectly or partially related to the SE field apart from core engineering courses. The proposeddimensions can be implemented into the current curriculums explicitly (as a separate course),implicitly (as part of other courses) or a combination of both. In this study, we have onlyincluded the courses which explicitly address the proposed dimensions. For classifying thecourses according to the proposed dimensions, mainly the course curriculum and syllabusare taken into account. Accordingly, the content of each course is analyzed in the contextof proposed dimensions. The major characteristics of the courses are considered for classifi-cation. Main issues that are considered for the classification criterion for each category aresummarized below.

Interdisciplinary skills: While classifying courses, we investigated the courses’ syllabi care-fully to find out whether there were some intersecting subjects or not. For example, the course“CSC454H1—The Business of Software” is offered by the University of Toronto, Canada.This course aims to teach business aspects of software, principles of operation for success-ful software enterprises, software manufacturing and support, software marketing and salesmanagement.

Practice experience: This classification depends on how much the course requires practicalaspects and working for the project. All the courses classified in this title are either summerpractices or software project development. It includes both individual and group projects.

Communication skills: While classifying these courses, we checked the syllabi to seethat these courses require students to prepare presentations, oral and written materials in aformal way.

Skills on continuing education: All the courses under this topic are classified according toencouragement of students to independent studies, special topic and self-paced researchesin SE.

Professionalism: Specific courses organized to provide skills on professionalism in SE areclassified under this topic.

4.3 Information gathering

The courses included in this study are the ones originally designed to address each of theproposed dimensions. Of course, there are some other core courses or foundation coursesof SE which are partially addressing any or some of these dimensions. We did not includethese courses in this study. Similarly, there are some courses designed specifically for one ofthese dimensions and may also include other criteria. For instance, in the Blekinge Institute ofTechnology, the whole program is built around three practice courses and other dimensions areintegrated in these courses. For example, they provide communication skills as an integral partof project courses instead of having communication skills as separate courses. Their experienceis that, it is better to integrate different skills into project courses instead of teaching them as anindividual course. Therefore, it is extremely complex to compare such different overlappingprograms and weigh their different components in this study. We have included these coursesin one criterion only, which provides the major objective of the course. For each dimension

Software engineering education 355

listed above we counted the number of credit hours required for the program. In some casesthis count was less precise because the departmental literature did not specify a precise numberof credit hours. However, in most cases the required number of hours was clear. In the U.S.the credit hours earned correspond to time in class per week. Thus, a three credit hour coursemeans three classroom or contact hours per week. The number of hours of work outside theclass varies between instructors, institutions and the nature of the course, hence credit hours isonly a rough measure of the amount of instructions in a topic. We also counted separately thenumber of courses and number of the non-credit courses in this study. The data was collectedduring June–July 2005.

4.4 Validation process

After completing the comparison table, we sent e-mails to the chair software/computer engi-neering department of all the selected universities to validate our categorization. We receivedaround 70% responses back from respondents. Accordingly, we had also modified the resultsin the light of their feedback. Although we had sent a reminder after two weeks, it was alsomentioned in the e-mail that in case of no reply within one month we will presume that ourcategorization for the courses against these dimensions is correct.

4.5 Limitations of the study

However, there are some limitations to our study. First there is no inclusion of a M.S. programin SE and integrated five years masters degree of SE available in few universities. Second,we could not include those universities where web pages are either not available in English ornot available at all. Third, our classification is based on data provided on the websites of theuniversities. However, we tried to get feedback regarding its validation from all the selecteduniversities.

While researching these dimensions in the curricula, we were faced with many difficultiessuch as: there are no standards in syllabus design. Some syllabi provide only course content.However, it is important to know how to cover the content, how to do group work and withhow many students, what subjects the instructor will focus on, which dimensions cover whatpercentages and such related issues. Some syllabi are even lack of credit or lab information.We tried to gather information that is deficient in syllabi through e-mails. Another problemthat we found in this study is credit hours. Some universities follow different credit standards.For example, some courses (CPSC 607 Biological Computation, CPSC 587 Fundamentals ofComputer Animation) from University of Calgary have different patterns such as: half, full,quarter course with varying seminar, tutorial, and laboratory information. Another exampleis UK universities; some of them provide different curricula (optional modules and optionalfourth year) with more than 250 credits of courses. For example, each course of SE in SheffieldUniversity has 10–15 or 20 credits whereas every course in U.S. universities does not exceed5 credits.

4.6 Universities

In this study data from 26 universities have been analyzed. Table 1 lists all these universitiesand their country information.

In this study, most universities are from the USA and Canada. We have studied the univer-sities from the UK as well. But in most cases it is difficult to compare these programs with theones that we have evaluated here. In the UK most universities provide three-year BSc (SE)

356 A. Mishra et al.

Table 1. University names and countries.

Label University Name Country

03 Australian National University Australia07 Flinders University Australia11 Monash University Australia21 University of Western Australia Australia06 Concordia University Canada09 Mc-Gill University Canada08 McMaster University Canada16 University of Calgary Canada17 University of Ottawa Canada19 University of Toronto Canada22 University of Waterloo Canada25 University Erlangen-Nuremberg Germany02 Auckland University New Zealand04 Blekinge Institute of Technology Sweden24 Swiss Federal Institute of Technology Zurich Switzerland05 Bournemouth University UK26 Coventry University UK18 University of Oxford UK23 University of Westminster UK01 Auburn University USA10 Milwaukee School of Engineering USA12 Monmouth University USA13 Montana Tech USA14 Rochester Institute of Technology USA15 San Jose State University USA20 University of Wisconsin-Platteville USA

programs, while in some universities there are provisions of four-year sandwich programswhich include one full year paid industrial software development in an organization. Fewuniversities have introduced MS (SE) with five-year integrated options. Various options likeB.Sc. (CS–SE) are also available. Interestingly, in some universities numbers of options areavailable to customize the courses in this way in terms of major and minor with computing. Forinstance, in some British and Irish universities BSc computer applications are also availablein lieu of SE.

5. Results

In this study we have found 164 courses in 26 universities which can be categorized in one ofthe proposed dimensions. There are 10 non-credit courses. We could not find the credit hoursof 20 courses in five universities (5, 18, 23, 25 and 26). In table 2, we have summarized thecourse distribution in these universities according to the proposed dimensions.

Table 2. Distribution of courses among proposed dimensions.

Number of Number of Number ofDimension universities (A) courses (B) A/B Total credit must courses

Practice Experience 25 85 3.4 283.5 37Interdisciplinary Skills 21 48 2.3 124.5 9Communication Skills 10 17 1.7 54.5 5Continuing Education 8 13 1.6 36.5 2Professionalism 1 1 1 1.0 1Total 64 164 500.0 54

Software engineering education 357

Table 3. Distribution of courses among universities.

Interdisciplinary skills Practice experience Communication skills Continuing education

Univ. Credit Course Must Credit Course Must Credit Course Must Credit Course Must

1 3.0 1 1 3.0 1 12 2.0 1 9.0 8 73 9.0 2 51.0 9 9 6.0 2 1 15.0 34 40.0 4 3 9.0 2 15 2 26 3.0 1 12.0 4 4.0 27 30.0 2 4.5 18 9.0 3 6.0 2 3.0 19 6.0 2 2

10 18.0 6 5 3.0 1 1 3.0 111 6.0 1 42.0 5 1 12.0 212 3.0 1 1 6.0 2 213 12.0 4 4 6.0 2 2 5.0 2 214 1.0 1 8.0 2 6.0 215 3.0 1 11.0 5 3.0 116 9.0 6 4.5 217 15.0 4 6.0 1 1 3.0 1 1 1.0 1 118 3 219 4.5 3 3.0 2 1.5 120 10.0 3 16.0 8 11.0 4 1.0 121 24.0 4 2 6.0 222 9.0 3 523 2 124 2.0 1 225 1 1 4 226 2 2Total 124.5 48 9 283.5 85 37 54.5 17 5 36.5 13 2

Table 3 summarizes distribution of courses among the universities according to the proposeddimensions.

The category of professionalism is not shown in this table, because, we could only find onecourse in this category which is offered as a one credit must course by Auburn University(01). In the category of Interdisciplinary skills we have found 48 courses (124.5 credit hours)in 21 universities. Only nine of them were must courses. Others are either not specified ordescribed as optional courses. In the context of practice experience, all of the universities thatwe have analyzed had at least one course except the Swiss Federal Institute of TechnologyZurich (24). In total we have found 85 (283.5 credit hours) such courses. Thirty-seven of themwere classified as must courses. In the category of communication skills, we could not findany course in 16 universities. We have found 17 (54.5 total credit hours) courses from 10universities. Five of these courses were must courses. In the category of continuing educationwe have found 13 courses (36.5 credit hours) in 8 universities. Two of them were must courses.In the remaining of 18 universities, we could not find any course in this category.

6. Recommendations

In order to improve the SEE curriculum we should review the SE programs of the univer-sities that have already adopted some of these dimensions into their curriculums. The mean(average) of courses under professionalism and communication skills categories is 1 and1.7, respectively (table 2). This shows that at least one course of communication skills and

358 A. Mishra et al.

one of professionalism should be part of the SEE curriculum. The courses mentioned in thecurriculum of these universities can be taken as a model for offering such courses.

For the continuing education, universities are offering as a mean around 1.6 courses (table 2).Therefore, there should be at least one such course in the curriculum. Additionally, studentsshould be encouraged to do at least one certification program during their study.

Regarding interdisciplinary skills, universities are offering as a mean around two courses(table 2). These courses are offered by several departments of different universities. Accord-ingly, as an elective, students should take at least two such courses which are offered by theother departments of the university.

Universities are offering as a mean around three practice courses (table 2). Therefore, at leastthree such courses should be part of the SEE curriculum. The instructors’ role in these coursesshould be facilitating students to discover new platforms, technologies, software developmentenvironments, specific methods and techniques. The main objectives of these courses shouldbe to:

• practice on SE issues,• observe the implementations of what they have learned,• make research on new ideas, platforms and methods,• learn new software development platforms and technologies, and• communicate and present their ideas and work.

7. Conclusion

In this study we have performed an extensive literature survey regarding the concerns of SEEprograms. According to this survey, we have observed some dimensions which emphasizedsignificant components required for rapidly evolving SE programs. Finally, we studied somemajor universities’ undergraduate SE programs according to these dimensions. We observedthat many courses in each criterion have been offered by several universities. This findingindicates that the importance of these dimensions have already been acknowledged by somemajor universities and accordingly implemented in their SE curriculum.

However, we could not find any appropriate balance among these dimensions. For example,in Auckland University (2) we have found eight different courses (9 credit hours) in thecategory of practice experience. In the same university we could find only one course (2 credits)offered in the interdisciplinary skills and no courses in continuing learning and communicationskills. We strongly believe that each of these categories is significant in SEE, and thereforethere should be guidelines to provide balance among the offered courses in each category.

Moreover, distribution of courses in terms of the proposed dimensions, there is a lot ofvariation among universities. For example, in the University of Wisconsin-Platteville (20) wefound four communication skills courses (11 credit hours), but we could not find any suchcourse in the 16 other universities. Similarly, in the Australian National University (3) threecourses (15 credit hours) are related to skills on continuing education dimension, whereasthere are no such courses in the other 18 universities. It might be possible because of someconstraints in terms of infrastructure availability, for example lack of staff and collaborationwith other departments within the university.

As can be observed from table 3, software project is an integral part of curriculum in almostall universities and universities are stressing the importance of practice experience as first pref-erence among all proposed dimensions in the curriculum. The second is the interdisciplinaryskills and the third is communication skills. Very few universities are motivating studentstowards skills on continuing education. In our opinion it seems that curriculum designers

Software engineering education 359

want to keep this option in graduate programs in SE instead of undergraduate courses inSE, so that students can appreciate a better way after having a good general background incomputing and allied fields. However, we believe that skills on continuing education are alsoimportant for undergraduate programs. Surprisingly, in the case of professionalism we couldonly find one course, which is offered by Auburn University (01).

In fact, these proposed dimensions may apply to any engineering discipline. For this reasonit is possible to implement these dimensions into the curriculum of these programs as part ofsome core courses (by partially addressing these dimensions in other courses). But in the caseof SE, the importance of these dimensions is more critical as SE technology is evolving morerapidly in comparison to other engineering branches. We believe that, in SEE these dimensionsshould be addressed explicitly by specific courses designed for these objectives. There shouldalso be an appropriate balance for providing courses in each dimension. This balance shouldalso cover the amount of must and optional courses in these dimensions as well as the credithours.

Among the universities that we have studied, in the curriculums of the Australian NationalUniversity (3), the University of Ottawa (17) and the University of Wisconsin-Platteville(20), we have found at least one course in each dimension. This shows us that it is possibleto create a curriculum addressing these dimensions in the right proportion. Further studiesshould include more universities and graduate programs of SE to evaluate these dimensions.Additionally, some studies to provide guidelines regarding the balance of these dimensionsneed to be undertaken and should be included in the guidelines of SEE. Another interestingstudy related to jobs placement versus proposed dimensions in universities curriculum mayalso be done. Professionalism in SE can be a part of future studies.

Acknowledgements

The authors gratefully acknowledge Professor Claes Wohlin, Professor and Pro Vice Chan-cellor, Blekinge Institute of Technology, Sweden for their insightful comments and appreciateall Chair/Coordinator/Faculty members of Software Engineering/Computer Engineeringdepartments of selected universities for providing valuable feedback and help in the vali-dation process. We would also like to thank the referees for constructive comments and ElzieCartwright, Communicative English Department of Atilim University, for nicely editing themanuscript.

References

Bagert, D.J., Hilburn, T.B., Hislop, G. Lutz, M., McCracken, M. and Mengel, S. 1999 Guidelines for softwareengineering education version 1.0. Technical report CMU/SEI-99-TR-032, Software Engineering Institute,Carnegie Mellon University, Pittsburgh, 1999.

Bagert, D.J. and Mengel, S.A., Developing and using a web-based project process throughout the software engineeringcurriculum. J. Syst. Softw., 2005, 74, 113–120.

Beckman, K., Coulter, N., Khajenouri, S. and Mead, N., Collaborations: closing the industry–academy gap. IEEESoftw., 1997, 14(6), 49–57.

Blake, M.B., A student-enacted simulation approach to software engineering education. IEEE Trans. Educ., 2003,46(1), 124–132.

Boehm, B. and Basili, V.R., Gaining intellectual control of software development. IEEE Comp., 2000, 33(5) May,27–33.

Budgen, D. and Tomaykoi, J.E., The SEI curriculum modules and their influence: Nor Gibbs’ legacy to softwareengineering education. J. Syst. Softw., 2005, 75, 55–62.

Cheston, G.A. and Tremblay, J., Integrating software engineering in introductory computing courses. IEEE Softw.,2002, 19(5) 64–71.

Dart, P., Johnston, L., Schmidt, C. and Sonenberg, L., Developing an accredited software engineering program. IEEESoftw., 1997, 14(6), 66–70.

360 A. Mishra et al.

Evans, D.L. and Goodnick, S.M., ECE curriculum in 2013 and beyond: vision for a metropolitan public researchuniversity. IEEE Trans. Educ., 2003, 46(4), 420–428.

Favela, J. and Pena-Mora, F., An experience in collaborative software engineering education. IEEE Software, 2001,18(2), 47–53.

Ford, G.A., Progress Report on Undergraduate Software Engineering Education. CMU/SEI-94-TR-11. SoftwareEngineering Institute, Carnegie Mellon University, 1994.

Heil, M.R., Preparing technical communications for future workplaces: a model that integrates teaming, professionalcommunication skills, and a software development process. In Proceeding of ACM SIGDOC, 1999, New Orleans,Luisiana: pp. 1010–119.

Hilburn, T.B. and Bagert, D.J.,Asoftware engineering curriculum. In ASEE/IEEE Frontiers in Education Conference,November 10–13, 1999, San Juan Puerto Rico, 12a, 4–8.

Hilburn, T.B. and Humphrey, W.S., The impending changes in software education. IEEE Softw., 2002, 19(5), 22–24.Hilburn, T.B., Hislop, G., Bagert, D.J., Lutz, M., Mengel, S. and McCracken, M., Guidelines for the development of

software engineering education. J. Syst. Softw., 1999, 2–3, 163–169.It Cortex, Failure rate—statistics over IT projects failure rate, 2003. Available online at: http://www.it-

cortex.com/Stat_Failure_Rate.htmKichenham, B., Budgen, D., Bereton, P. and, Woodall, P., An investigation of software engineering curricula. J. Syst.

Softw., 2005, 74, 325–335.Lethbridge, T.C., What knowledge is important to a software professional? IEEE Comp., 2000a 33(5), 44–50.Lethbridge, T.C., Priorities for the education and training of software engineers. J. Syst. Softw., 2000b, 53(1), 53–71.McConnell, S. and Leonard, T., Professional software engineering: fact or fiction? IEEE Softw., 1999, 16(6), 13–18.Mills, J.E. and Treagust, D.F., Engineering education—is problem-based or project-based learning the answer?’

Australas. J. Engng Educ., 2003 [Online]. Available at: http://www.aaee.com.au/journal/online.htmMoore, M.M., Software engineering education. IEEE Softw., 2002, 19(5), 103.Parnas, D.L., Software engineering programs are not computer science programs. IEEE Softw., 1999, 16(6), 19–30.Pokfulam, R., Software engineering professionalism: is the end of constraints and conflicts in sight? Proceedings of

the 26th Annual International Computer Software and Applications Conference, IEEE, 2002.Pour, G., Griss, M.L. and Lutz, M., The push to make software engineering respectable. Computer, 2000, 33(5),

35–43.Rosca, D., Multidisciplinary and active/collaborative approaches in teaching requirements engineering. Eur. J. Engng

Educ., 2005, 30, 121–128.Saiedian, H., Software engineering education and training for the next millennium. J. Syst. Softw., 1999, 49, 113–115.Saiedian, H., Bagert, D.J. and Mead, N.R., Software engineering programs: dispelling the myths and misconceptions.

IEEE Softw., 2002, 19(5), 35–41.SEEK, Software Engineering 2004, Curriculum Guides for Undergraduate Degree Programs in Software Engineering.

IEEE Computer Society, August, 2004 [Online]. Available: http://sites.computer.org/ccse/SE2004Volume.pdfStandish Group, Chaos (application project failure and success), January 1995 (The Standish Group International).

Available online at: http://www.standishgroup.com/chaos.html.SWEBOK, Guide to Software Engineering Body of Knowledge (SWEBOK). IEEE Computer Society, 2004 [Online].

Available at: http://www.swebok.org/.Tales, V.M., Olivera, C. Reviewing the curriculum of software engineering undergraduate courses to incorporate

communication and interpersonal skills teaching, In Proceedings of CSEE&T’03, 20-22 March 2003, Madrid,IEEE Computer Society, pp. 158–165.

The Strait Times, NUS beats top US varsities to rank No. 18. The Straits Times, 6 November 2004, p. 3.Wohlin, C. and Regnell, B., Strategies for industrial relevance in software engineering education. J. Syst. Softw., 1999,

49, 125–134.

About the authors

Alok Mishra is Assistant Professor of Computer Engineering at Atilim University, Ankara,Turkey. He had his PhD in Computer Science (Software Engineering) besides dual Mas-ters in Computer Science and Applications and Human Resource Management. His areas ofinterest and research are software engineering, information system, information and knowl-edge management and object-oriented analysis and design. Extensive experience of distanceeducation related to computers and management courses. He has published articles, bookchapters and book reviews related to software engineering and information system in refereedjournals, books and conferences including International Journal of Information Manage-ment, Government Information Quarterly, Behaviour and Information Technology, PublicPersonnel Management, European Journal of Engineering Education, International Journalof Information Technology and Management.

Software engineering education 361

Nergiz E. Cagiltay, PhD, is an Assistant Professor of Computer Engineering Department atAtilim University. She earned a doctorate in Computer Education & Instructional Technologiesand Master of Computer Engineering Degree from the Middle East Technical University(METU). Her current research interests are in the areas of instructional systems, distanceeducation, and engineering education.

Ozkan Kilic has BSc in Computer Engineering, B.Sc. in Computer Education and InstructionalTechnologies, M.Sc. in Cognitive Science from Middle East Technical University (METU).He is currently an instructor in the Department of Computer Engineering at Atilim Universityand a PhD student in Cognitive Science at METU.