
AC 2011-862: SOFTWARE ENGINEERING, COMPUTER ENGINEERING, COMPUTER SCIENCE SIBLING DISCIPLINES WITH DIVERSE CUL- TURES Susan E. Conry, Clarkson University Susan E. Conry is Distinguished Service Professor of Electrical and Computer Engineering and Director of Software Engineering at Clarkson University. She is also currently the Chair Elect of the EAC of ABET. She received her Ph.D. from Rice University in Electrical Engineering. Dr. Conry’s research and educational interests cover various areas of computer engineering and software engineering. Her work in multiagent systems has focused on agent negotiation strategies, distributed constraint satisfaction problems, distributed genetic algorithms, and distributed search. Her work related to software engineering is concerned with patterns in hardware/software codesign. Dr. Conry has been designated Fellow of the IEEE, CSAB Fellow, and ABET Fellow. She was also recipient of the 2005 EAB Award for Meritorious Achievement Award in Accreditation Activities. c American Society for Engineering Education, 2011 Software Engineering, Computer Engineering, Computer Science Sibling Disciplines with Diverse Cultures Abstract Every program of study has an institutional context. This institutional context influences its content, its relationships with other programs, and the character of the graduates, among other things. A recent study of the curricula of the 19 software engineering program that were accredited in October 2009 indicated that more than half of these programs were housed in the same department as an accredited computer science program. It also indicated that there is a wide degree of variation in the degree of overlap in content of the software engineering curriculum and that of the computer science curriculum. At some institutions, there was as little as one course overlap between the two programs while at others there was a very large component that was shared. At some of these institutions, computer science and software engineering shared treatment of introductory material while others offered even introductory material to computer science students and software engineering students in different course sequences. This evidence suggests that there may be well be interesting dimensions of commonality and difference among curricula in a broader range of areas that were treated by the Computing Curricula 2005 documents. This paper extends the previous study to the consideration of interrelationships among the curricula of computing programs at a subset of institutions with accredited software engineering programs in October 2010. It considers the computing disciplines more broadly, including software engineering, computer science, and computer engineering programs, as these computing disciplines may be regarded as having stronger interrelationships due to greater commonality in technical topical content. The subset treated includes only those institutions in the United States with accredited software engineering programs at which there are also programs in the other two “major computing disciplines” and does not address the content of other computing disciplines such as information technology, information systems, or management information systems. There are thirteen such institutions. Of these institutions, the majority (eight) involve institutional contexts in which all of the responsible departments are in the same school or college. Within this set of eight institutions, some lodge all three of the disciplines (computer science, software engineering, and computer engineering) in the same department while others house them in different departments. At three of the institutions, computer science is lodged in a school that has no other engineering programs. The remaining two institutions either do not have an administrative structure equivalent to a school or a college or have separate colleges of computing and engineering. Interrelationships in at least three dimensions are discussed in this paper: relationships evidenced by administrative housing within the institution, relationships involving common sets of required courses, and relationships exposed by varying types and degrees of overlap among the programs. Those areas that are distinctive about a given program on a given campus will also be discussed, as they provide just as much insight into the relationships among the programs as areas of commonality do. Introduction Today, computing touches the life of every person on the planet. Practitioners in the computing disciplines are constantly devising systems that have impact on our financial systems, our economy, our understanding of medical issues, progress in discovery of new scientific principles, the way we communicate with one another and the way we relax. The people who work in the computing disciplines have been educated in a variety of disciplinary contexts, three of which are relevant to this study: computer engineering, computer science, and software engineering. There is still come controversy about the relationship among these computing disciplines. This paper is concerned with exploring the relationships between them by focusing on the curricular structure and content of baccalaureate programs in the disciplines that have some commonality in institutional context. Historically, the computer engineering, computer science, and software engineering disciplines emerged at different times and were nourished by different parent disciplines1. Prior to about 1970, someone who wanted to enter the computing profession could study in one of three areas: computer science (if they wanted to focus on software), electrical engineering (if hardware was of interest to them), or information systems (if their focus was on business applications). With the development of microprocessors in the 1960’s, the character of the landscape began to change. Technology changed, creating demand for engineers who understood the hardware and electronics underlying the chips but also were conversant with and capable of developing the software components of a system. It was not possible to adequately treat the topics needed for education of these engineers in the context of a specialization area within an electrical engineering program of study. The first computer engineering program was accredited by the EAC of ABET in 1971, and between about 1970 and 1990, computer engineering emerged as a separate discipline. The last decade of the twentieth century saw computer engineering firmly established as an independent discipline. Computer science programs were in their infancy in the early 1970’s, and there was significant controversy in those early years as to whether or not computer science really was a legitimate academic discipline. Some saw it as an arm of applied mathematics, others saw it as an attempt to provide some venue for educating programmers, and still others saw it as a true academic discipline. Programs in computer science had wildly divergent structure and content. Some were lodged within departments of mathematics and others were not. It was possible for a student to get a degree in computer science in a program that included only coursework involving programming in two or three languages. As the discipline matured, a measure of commonality was fostered by the efforts of the ACM in devising curriculum guidelines and the development of accreditation criteria by guided by the ACM and the IEEE Computer Society through CSAC. The first computer science programs were accredited by CSAC of CSAB in 1986. By the 1990’s, there was no longer controversy concerning legitimacy of the discipline. The term “software engineering” was coined in 1968, and there were isolated courses in software engineering offered on some campuses as early as the mid-1970’s, but the first software engineering programs developed in the United States were graduate programs whose students were expected to already have acquired substantial expertise in computer science. Gradually, as the importance of software engineering topics was recognized, treatment of software engineering concepts filtered into undergraduate programs. Sometimes these concepts were woven into courses in computer engineering and sometimes they were treated in computer science courses. As more experience was gained with software engineering courses within computer science curricula and computer engineering curricula, it was recognized that it took a different experience to educate a software engineer1. Education of a software engineer requires coursework and applied project experience that goes beyond what can be added to a computer science curriculum and it takes inclusion of a larger set of computer science topics than can be added to a computer engineering curriculum. Thus software engineering emerged as an independent discipline. The first baccalaureate programs in software engineering in the United States were developed in the mid to late 1990’s, and programs in software engineering have been accredited by the EAC of ABET since 2002. Clearly, computer engineering, computer science, and software engineering, are closely related disciplines with overlapping content areas. The historical context tells us something about the relationships of these disciplines when taken from a developmental perspective, but the relationships among the disciplines as they exist on university campuses in the United States today are not clear. In the sections that follow, we provide evidence concerning these relationships. We consider those institutional contexts
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages18 Page
-
File Size-