Research and Advances
Computing Applications

A Common Theme For IT Degree Programs

Effective IT curricula balances tradition with innovation. One way to enhance that balance is to examine the common threads in the various knowledge areas.


The movement toward a more applied and professional computing degree has resulted in the creation of new programs in IT schools [5]. Arguably, the development of IT curricula is one of the most important educational innovations in recent years. Such IT innovativeness comes from an attempt to move beyond the confines of traditional academic and disciplinary boundaries to meet the breadth of knowledge needed by the IT professional.

This evolution tends to follow a cyclical pattern [1]. First there is the introduction of the new idea or innovation, followed by a period of variation where innovators experiment with alternative designs based on the new idea. During this period, alternative designs draw inspiration from prior and current knowledge and practice. For the innovation to be widely adopted, one of the competing variations must emerge as the standard or norm. Once this happens, the innovation is refined and improved until the next major innovation comes along to threaten its position as the established norm.

The evolution of IT programs is following a similar cyclical pattern. As the growth of IT programs continues to gain momentum, innovative schools with traditional computing degree programs are developing competing variations of IT. From these alternative designs and the work of computing associations, such as the IT Dean’s Council, a standard will eventually emerge allowing IT to reach the level of maturity comparable to traditional computing disciplines.

Because the IT movement is in a period of variation, we thought it worthwhile to look for inspiration for alternative designs in current knowledge areas of computing and IT degree programs. We looked at knowledge areas across a broad set of computing programs to discover a focus that transcends disciplinary specialization with an ultimate eye toward the emergence of an established norm. What we found was a set of common knowledge areas that focus on what we describe as the systems development process.

Back to Top

Survey of Existing Programs

We began our investigation by asking members of the IT Dean’s Council to tell us the depth of understanding required for 30 knowledge areas in each of their computing degree programs. The mission of the IT Dean’s Council is to foster interaction among the deans of computing colleges and schools that share an interest in the rapidly growing movement toward a more professionally oriented variation of a computing degree [5]. Part of the council’s mission includes defining a core body of knowledge for the emerging discipline of IT. We asked each of the deans of the 43 institutions comprising the council to complete an online survey, and a total of 26 institutions responded. Each respondent, either the dean or a faculty member solicited by the dean, was asked to complete a survey that compared each four-year computing program at his or her institution.

The council is a diverse group spanning multiple computing disciplines. Our findings are based on data from 57 distinct undergraduate degree programs: 21 computer science, 8 information technology, 15 information systems, 5 information science, and 8 computer engineering programs. There were only two respondents for software engineering, and these were excluded from further analysis. We suspected that software engineering was commonly incorporated into computer science programs, which was later corroborated by one of the respondents.

For each program, we asked the respondent to indicate the depth of understanding required for each of 30 knowledge areas obtained from the IS 2002 Model Curriculum and Guidelines for Information Systems Undergraduate Degree Programs [3, 4, 7]. We felt this was an appropriate way to define knowledge areas because these guidelines were explicitly developed to include knowledge elements from three major computing disciplines: computer science, software engineering, and information systems. The scale for depth of understanding used terms similar to Bloom’s taxonomy of educational objectives [2]. For each knowledge area, the respondent indicated the depth to be none (0), recognition (1), differentiation (2), use (3), or application (4).

Back to Top

Common Knowledge Areas

In Figure 1, we list the 30 knowledge areas from the greatest required depth of understanding to the least required depth of understanding for all five computing degree programs. By representing the data as a stacked bar chart, we are able to examine the relative depth of understanding for each knowledge area for each program type. The size of each bar reflects the depth of understanding required for that knowledge area based on the average of survey responses for a particular degree program. A dot inside a bar indicates the average required depth of understanding of that knowledge area exceeds 2.5. We use the threshold value of 2.5, which is the midpoint between the knowledge-level endpoints of recognition and application, to denote a deep level of required understanding.

The figure provides an indication of the relative understanding depths for knowledge areas across the five program types. Consistent with the idea that IT integrates and recombines threads from multiple specialties, the IT programs required deep understanding in 18 knowledge areas, the most of any program type. Computer engineering requires the least depth of understanding among the knowledge areas surveyed with deep understanding required in five areas.

Figure 1 also gives a visual sense of which knowledge areas require the deepest understanding across all five programs and for individual programs. For example, the first two knowledge areas—interpersonal skills/communications and systems development tools and techniques—have average understanding depths exceeding the threshold value for all five programs. On the other hand, computer engineering and computer science indicated algorithms and data structures required an average depth of understanding of 2.5 or greater while the other three programs did not.

In order to identify the intersection of knowledge areas among existing computer and IT degree programs, we looked for knowledge areas requiring both depth of understanding and high levels of agreement among the program types. However, it is difficult to determine from Figure 1 the exact extent of agreement among the five programs. We computed the level of agreement among programs and plotted it against the average required level of understanding for all programs (see Figure 2).

Knowledge depth increases as you move from left to right along the horizontal axis in Figure 2. Agreement, which increases as you move from bottom to top, is represented on the vertical axis. The horizontal dotted line indicates the cut-off point for high agreement, and the vertical line indicates the 2.5 threshold value for deep understanding. We chose the value 0.67 for the cut-off point for high versus low agreement based on visual inspection of a plot of agreement and nonparametric statistical tests. At the value of 0.67, the line appears to change slope and agreement drops off significantly. The upper-right corner represents a common set of knowledge areas, those areas that are both in-depth and in agreement. Of the nine common knowledge areas in the upper-right corner, two separate sets, or clusters, emerge.

Back to Top

Systems Development Process

A cluster of five common knowledge areas emerges as a common set that transcends the five program types. These areas cluster closest to the upper-right corner of the chart, indicating the highest combination of both depth and agreement. These knowledge areas are:

  • Systems development tools and techniques;
  • Interpersonal skills/communication;
  • Systems implementation and testing strategies;
  • Systems development concepts and methodologies; and
  • Approaches to systems development.

We describe the focus that emerges from this common set of knowledge areas as systems development process, that is, a collaborative human endeavor encompassing the orderly, reliable, and efficient transformation of interrelated elements into an effective, functioning entity. The systems development process focus refers to systems and systems development directly, and deals with process issues. Specifically, systems development process encompasses issues, such as the tools and techniques, concepts and methodologies, approaches, and implementation and testing of systems. The presence of interpersonal skills/communications in the upper-right corner of Figure 2 suggests the five program types recognize the importance of collaborative, human-centered design. Clearly, people, be they teams, users, stakeholders, are part of the process.

In addition to the systems development process knowledge areas, the remaining four areas in the upper-right corner form a second set of common knowledge areas that includes areas producing more disagreement among the programs than the systems development process areas. These knowledge areas are database; programming languages; systems and information concepts; and project management.

These four knowledge areas both directly support the systems development process focus and most broadly transcend disciplinary specialization.

Back to Top

What Distinguishes the Two Clusters of Programs?

The IT, information systems, and information science programs were similar in knowledge depths across most areas. Computer science and computer engineering were very closely related in terms of agreement on knowledge areas at all depths.

Although all five program types are in agreement regarding the required depth in systems development process, they differed on the more specific context within which systems development takes place. Respondents for IT, information systems, and information science programs were usually more concerned, as a whole, with information and knowledge, organizational and managerial issues, and the business applications of computing, than respondents for computer science and computer engineering programs. If a knowledge area contained a form of the word “information,” “knowledge,” “business,” “organization,” or “management,” the computer scientists and computer engineers nearly always rated that area lower than each of the other three groups. Of the 30 knowledge areas, 13 items contained at least one of the five “organization/information” terms. None of the 13 items was rated above the 2.5 threshold value for depth of understanding by the computer science and computer engineering respondents.

The second major way in which degree programs differed was in responses to some of the traditional computer science knowledge areas. The pattern created by the “organization/information” items was reversed. Respondents for computer science and computer engineering programs tended to rate traditional computer science knowledge areas higher than respondents for the other three programs. Algorithms and data structures, computer architectures, and operating systems were all rated more highly by computer science and computer engineering respondents than by IT, information systems, and information science respondents.

Back to Top


As the discipline of IT continues to take shape, emerging as it must from prior and current knowledge and practice, schools developing IT curricula face a great deal of uncertainty. For example, should they attempt to create a program that is as different from traditional computing disciplines as possible, a relatively conservative variation on a traditional computing discipline, or a combination of the two? Part of our purpose in looking for an intersection among knowledge areas was to see if there is a common focus across the computing disciplines that schools could use to reduce uncertainty and to more effectively answer this and similar questions.

We found a common set of knowledge areas we describe as the systems development process representing a focus that intersects the computing disciplines of computer science, information systems, IT, information science, and computer engineering. Understanding common knowledge areas fosters the understanding of the fundamentals of one’s own discipline by abstracting what is common from what distinguishes related disciplines.

Depending on one’s disciplinary perspective, however, systems development process might be defined differently. Certainly, the meaning of “system” will be different across the disciplines. By viewing systems as consisting of various components, such as hardware, software, networks, databases, people, information, and organizations, each discipline will define “system” to emphasize these components in varying degrees. For instance, one discipline might define a system in terms of digital computer circuitry, while another might emphasize database or software components.

In addition, the high level of agreement on the common knowledge areas must be balanced against the high level of disagreement on the remainder of the knowledge areas. We are not saying the knowledge areas we call systems development process are the most important or the only in-depth knowledge areas for IT or any of the other programs. Nor are we saying there could or should be a common course in systems development process.

Even though the meaning of systems development process depends upon one’s disciplinary perspective, we believe the systems development process can be a useful focus for thinking about the development of IT curricula. The common focus on systems development process highlights IT’s relationship to traditional computing disciplines. This common area could move IT toward a distinct identity while at the same time building on the knowledge and practice of traditional computing disciplines.

Back to Top

Back to Top

Back to Top


F1 Figure 1. Knowledge areas ordered by depth.

F2 Figure 2. Knowledge clusters by depth and agreement.

Back to top


    1. Anderson, P., and Tushman, M. Technological discontinuities and dominant designs: A cyclical model of technological change. Administrative Science Quarterly 35, 4 (1990), 604–633.

    2. Bloom, B., Ed. The Taxonomy of Educational Objectives: Classification of Educational Goals: Handbook 1—The Cognitive Domain. McKay Press, New York, NY, 1956.

    3. Couger, J., Davis, G., Dologite, D., Feinstein, D., Gorgone, J., Jenkins, M., Kasper, G., Little, J., Longenecker, H. Jr., and Valacich, J. IS'95: Guideline for undergraduate IS curriculum. MIS Q. 19, 3 (1995), 341–360.

    4. Davis, G., Gorgone, J., Couger, J., Feinstein, D., and Longenecker, H. Jr. IS '97 Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems. ACM, New York, NY and AITP (formerly DPMA), Park Ridge, IL, 1997.

    5. Denning, P. The IT schools movement. Commun. ACM 44, 8 (Aug. 2001), 19–22.

    6. Denning, P. The science of computing: What is computer science? American Scientist 73 (Jan./Feb. 1995), 16–19.

    7. Gorgone, J., Davis, G., Valacich, J., Topi, H., Feinstein, D., and Longenecker, H. Jr. IS 2002 Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems. ACM, New York, NY, AIS, and AITP (formerly DPMA), Park Ridge, IL, 2002.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More