Overview of Computing Disciplines/Degree Programs

[NOTE: The following is based on (or taken directly from) the report, Computing Curricula 2004 – June 1, 2004 Strawman Draft, which was produced as a cooperative project of the Association for Computing Machinery (ACM), the Association for Information Systems (AIS), and the Computer Society of the IEEE (IEEE-CS)].

“Computing” – which can be defined in a general way to mean any activity of a technical nature involving computers – is a wide-ranging field of study and, as such, presents a wide range of career choices to students. To prepare for entry into the computing profession, a student typically earns a four-year Bachelor’s degree in a particular computing discipline. On an undergraduate level, degree programs are offered primarily in five disciplines. Those five academic disciplines – and their corresponding primary focus area(s) – are as follows:

  • Computer Engineering (CE): Focuses on the design and construction of computers and computer-based systems/devices (i.e., hardware and related software).
  • Computer Science (CS): Views computing from a broad, scientific basis, focusing on: 1) developing effective ways to solve computing problems, 2) devising new ways to use computers, and 3) designing and implementing software (“programming”).
  • Information Systems (IS): Focuses on the “information” aspects of “information technology.”*
  • Information Technology (IT): Focuses on the “technology” aspects of “information technology.”*
  • Software Engineering (SE): Focuses on developing and maintaining software systems (particularly large, complex systems) that behave reliably and efficiently, and are affordable to develop and maintain.

* Information Technology (IT) focuses on the management and processing of information within businesses and other organizations.

Further discussion of each cited discipline is provided further below under “Discipline Descriptions.”

As Computing is a relatively new field of study, one that has (and continues to) grow and expand rapidly, there is significant overlap between academic degree programs offered, complicating student choices as to which degree program they should chose. To that extend, the following observations are offered to aid students:

  • Based on the number of academic degree programs currently in existence, the three main computing disciplines are: Computer Science (with an estimated 4000 programs existing worldwide), Information Systems (with an estimated 2000 programs existing worldwide), and Computer Engineering (with an estimated 800 programs existing worldwide). The other two computing disciplines – Information Technology and Software Engineering – are newly emerging as separate degree programs from the other existing disciplines (specifically, Information Technology is emerging from both Information Systems and Computer Science programs, while Software Engineering is emerging from Computer Science programs). Both these new disciplines are currently offered as degree programs at only about 200 colleges worldwide. Thus, students interested in either IT or SE can (and should) also look to IS or CS programs as well to potentially meet their needs.
  • If a student is specifically interested in hardware and related software, then CE is the logical program choice. If a student is looking to gain expertise at the interface between the information needs of business and computing, then IS is the clear choice. Finally, if a student is interested primarily in computer programming (software development), CS is the prime choice.
  • In general, a CS degree from a respected program is the most flexible of degrees, potentially opening doors into the professional worlds of all the other computing disciplines.



Computer Engineering

Computer engineering is concerned with the design and construction of computers, and computer based systems. It involves the study of hardware, software, communications, and the interaction between them. Its curriculum focuses on the theories, principles, and practices of relevant areas of traditional electrical engineering and mathematics, and applies them to the problems of designing computers and the many kinds of computer-based devices.

Computer engineering students study the design of digital hardware systems, including computers, communications systems, and devices that contain computers. They also study software development with a focus on the software used within and between digital devices (not the software programs directly used by computer users). The emphasis of the curriculum is on hardware more than software, and it has a very strong engineering flavor.

Currently, a dominant area within computing engineering is embedded systems, the development of devices that have software components embedded in hardware. For example, devices such as cell phones, digital recorders, alarm systems, x-ray machines, and laser surgical tools all require integration of hardware and embedded software, and they are all the result of computer engineering.

Computer Science

Computer science spans a wide range, from its theoretical and algorithmic foundations to cutting-edge developments in robotics, computer vision, intelligent systems, bioinformatics, and other exciting areas. We can think of the work of computer scientists as falling into three categories:

  • They develop effective ways to solve computing problems. For example, computer scientists develop the best possible ways to store information in databases, send data over networks, and display complex images. Their theoretical background allows them to determine the best performance possible, and their study of algorithms lets them develop new problem-solving approaches that provide better performance.
  • They devise new ways to use computers. Progress in the CS areas of networking, database, and human-computer-interface came together as the world-wide-web, which changed the world. Now, researchers are working to make robots be practical aides and even demonstrate intelligence, databases create new knowledge and, in general, use computers to do new things.
  • They design and implement software. Computer scientists take on challenging programming jobs. They also supervise other programmers, keeping them aware of new approaches.

Computer science spans the range from theory to programming. Other disciplines can produce graduates better prepared for specific jobs, while computer science offers a comprehensive foundation that permits graduates to adapt to new technologies and new ideas.

Information Systems

Information systems specialists focus on integrating information technology solutions and business processes to meet the information needs of businesses and other organizations and enable organizations to achieve their objectives in an effective and efficient way. This discipline's perspective on "Information Technology" emphasizes information, and sees technology as an instrument to enable the generation, processing and distribution of needed information. Professionals in this discipline are primarily concerned with the information that computer systems can provide to aid the organization in defining and achieving its goals and the processes that organizations can implement using information technology. Information systems professionals often work in organizations that are large and complex, and with information systems that are correspondingly large and complex. They understand both technical and organizational factors, and must be able to help the organization determine how information and technology-enabled business processes can provide the organization with a competitive advantage.

The discipline now called information systems began more than forty years ago to address the data processing needs of business in the areas of accounting, payroll, and inventory .As the role of computing has expanded throughout the organization, so has the scope of information systems. Today, the information systems specialist plays a key role in determining the requirements for an organization's information systems and is active in their specification, design, and implementation. As a result, such professionals require a sound understanding of organizational principles and practices so that they can serve as an effective bridge between the technical and management communities within an organization, enabling them to work in harmony to ensure that the organization has the information and the systems it needs to support its operations. Information systems professionals are also involved in designing technology-based organizational communication and collaboration systems.

Most departments offering programs in Information Systems (IS) are located in business schools, and most IS degrees are combined computing and business degrees. A wide variety of IS programs exists under various labels which often reflect the nature of the program. For example, programs in Computer Information Systems (CIS) usually have the strongest technology focus, whereas programs in Management Information Systems (MIS) sometimes emphasize organizational and behavioral aspects of the IS discipline. The names of the degree programs are not consistent. Therefore, it is important to evaluate the details of the curriculum that a specific program follows to understand how its purpose.

Information Technology

Information technology is a label that has two meanings. In the broadest sense, we often use "information technology" interchangeably with "computer technology". In a more focused sense, it refers to academic degree programs that prepare students to meet the technology needs of business, government, healthcare, schools, and other kinds of organizations.

In the previous section, we said that the field of Information Systems focuses on the "information" aspects of "information technology". The field of Information Technology is the complement of that perspective. IT's emphasis is on the technology itself more than on the information it conveys. IT is a new and rapidly growing discipline, which started as a grass roots response to the practical, everyday needs of business and other organizations. Today, organizations of every kind are dependent on information technology. They need to have the appropriate systems in place. Those systems must work properly and be secure.

Professionals must upgrade, maintain, and replace them as appropriate. The people who work throughout an organization require support from IT staff that thoroughly understands computer systems and are committed to solving whatever computer-related problems they might have. Graduates of information technology programs address these needs.

Degree programs in Information Technology arose because degree programs in the other computing disciplines failed to produce an adequate supply of graduates capable of handling these very real needs. IT programs exist to produce graduates who possess the right combination of knowledge and practical, hands-on expertise to take care of both an organization's information technology and the people who use it. IT specialists assume responsibility for selecting hardware and software products appropriate for an organization, integrating those products with organizational needs and infrastructure, and installing, customizing and maintaining those applications for the organization's computer users. Examples of these responsibilities include the installation of networks; network administration and security; the design of web pages; the development of multimedia resources; the installation of communication components; the oversight of email products; and the planning and management of the technology life-cycle by which an organization's technology is maintained, upgraded, and replaced.

Software Engineering

Software engineering is the discipline of developing and maintaining software systems that behave reliably and efficiently, and are affordable to develop and maintain. This reflects its origins. However, more recently it has evolved in response to the increased importance of software in safety-critical applications and to the growing impact of large and expensive software systems in a wide range of situations.

Traditionally, computer scientists produced software, and electrical engineers produced the hardware on which the software runs. As the size, complexity, and critical importance of software grew, so did the need to ensure that software performs as intended. By the early 1970s, it was apparent that proper software development practices require more than just the underlying principles of computer science; they also need the rigor that the engineering disciplines bring to the reliability and trustworthiness of the artifacts they engineer.

Software engineering is different in character from other engineering disciplines, due to both the intangible nature of software and to the discontinuous nature of software operation. It seeks to integrate the science of computer science with the engineering principles developed for tangible, physical phenomena. Prospective students can expect to see software engineering presented in two contexts:

  • Degree programs in computer science offer one or more software engineering courses as elements of the CS curriculum. In addition, most programs offer a multi-course concentration in software engineering within the computer science discipline.
  • A number of institutions offer a software engineering degree program.

Degree programs in computer science and in software engineering generally have many courses in common. Software engineering students generally study more applied mathematics and less theory than computer science students do. They tend to take a more rigorous and pragmatic view of software reliability and maintenance. While computer science students might study areas such as artificial intelligence or computer graphics, software engineering students focus more on techniques for developing and maintaining software that is correct from its inception to avoid costly and potentially dangerous situations later. While CS students are likely to have heard of the importance of such techniques, the engineering knowledge and experience provided in SE programs goes beyond what CS programs can provide. Such is the importance of this that one of the recommendations of the SE report is that during their program of study students of SE should participate in the development of software to be used in earnest by others from some significant application domain. Thus knowing how to provide genuinely useful and usable software is of paramount importance.

In the workplace, "software engineer" is a job label. There is no standard definition for this term when used in a job description. The role of a "software engineer" varies widely among employers. It can be a title equivalent to "computer programmer" or a title for someone who manages a large, complex, and/or safety-critical software project. The public must be mindful not confuse the discipline of software engineering with the ambiguous use of the term 'software engineer" as used in employment advertisements. The two terms are quite often very different meanings.

Engineers Dedicated to a Better Tomorrow, PO Box 2486, Menlo Park, CA 94026 • 650-323-8452
Disclaimer       Questions/Comments: Email us at: Engineering-Colleges@DedicatedEngineers.org 
Copyright © 2005 Engineers Dedicated to a Better Tomorrow, All Rights Reserved •  Last modified:  01/15/12