2.3. Descriptions of the Major Computing Disciplines
In this section, we characterize each of the five major computing disciplines. See Sections 3.4 and 3.5 for
more information on how to understand this important distinction between the names of the computing
disciplines and the names of a particular degree program.
2.3.1. 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 among them.
Its curriculum focuses on the theories, principles, and practices of traditional electrical engineering and
mathematics and applies them to the problems of designing computers and computer-based devices.
Computer engineering students study the design of digital hardware systems including communications
systems, computers, and devices that contain computers. They study software development, focusing on
software for digital devices and their interfaces with users and other devices. CE study may emphasize
hardware more than software or there may be a balanced emphasis. CE has a strong engineering flavor.
Currently, a dominant area within computing engineering is embedded systems, the development of
devices that have software and hardware embedded in them. For example, devices such as cell phones,
digital audio players, digital video recorders, alarm systems, x-ray machines, and laser surgical tools all
require integration of hardware and embedded software and all are the result of computer engineering.
2.3.2. 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 design and implement software. Computer scientists take on challenging programming jobs.
They also supervise other programmers, keeping them aware of new approaches.
• They devise new ways to use computers. Progress in the CS areas of networking, database, and
human-computer-interface enabled the development of the World Wide Web. Now CS researchers are
working with scientists from other fields to make robots become practical and intelligent aides, to use
databases to create new knowledge, and to use computers to help decipher the secrets of our DNA.
• 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 helps them to develop new approaches that provide better performance.
Computing Curricula 2005 – The Overview Report
Page 14
Computer science spans the range from theory through programming. Curricula that reflect this breadth
are sometimes criticized for failing to prepare graduates for specific jobs. While other disciplines may
produce graduates with more immediately relevant job-related skills, computer science offers a
comprehensive foundation that permits graduates to adapt to new technologies and new ideas.
2.3.3. Information Systems
Information systems specialists focus on integrating information technology solutions and business
processes to meet the information needs of businesses and other enterprises, enabling them to achieve
their objectives in an effective, efficient way. This discipline’s perspective on information technology
emphasizes information, and views technology as an instrument for generating, processing, and
distributing information. Professionals in the discipline are primarily concerned with the information that
computer systems can provide to aid an enterprise in defining and achieving its goals, and the processes
that an enterprise can implement or improve using information technology. They must understand both
technical and organizational factors, and they must be able to help an organization determine how
information and technology-enabled business processes can provide a competitive advantage.
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.
A majority of Information Systems (IS) programs are located in business schools. All IS degrees
combine business and computing coursework. A variety of IS programs exist under various labels which
often reflect the nature of the program. For example, programs in Computer Information Systems usually
have the strongest technology focus, while programs in Management Information Systems emphasize the
organizational and behavioral aspects of IS. Degree program names are not always consistent.
2.3.4. Information Technology
Information technology is a label that has two meanings. In the broadest sense, the term information
technology is often used to refer to all of computing. In academia, it refers to undergraduate degree
programs that prepare students to meet the computer technology needs of business, government,
healthcare, schools, and other kinds of organizations. In some nations, other names are used for such
degree programs.
In the previous section, we said that Information Systems focuses on the information aspects of
information technology. Information Technology is the complement of that perspective: its emphasis is
on the technology itself more than on the information it conveys. IT is a new and rapidly growing field
that started as a grassroots 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
appropriate systems in place. These systems must work properly, be secure, and upgraded, maintained,
and replaced as appropriate. Employees throughout an organization require support from IT staff who
understand computer systems and their software 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 were not producing 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 infrastructure and the
people who use it. IT specialists assume responsibility for selecting hardware and software products
Computing Curricula 2005 – The Overview Report
Page 15
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 systems; and the planning and management of the
technology lifecycle by which an organization’s technology is maintained, upgraded, and replaced.
2.3.5. Software Engineering
Software engineering is the discipline of developing and maintaining software systems that behave
reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that
customers have defined for them. This reflects its origins as outlined in Section 2.2.2. More recently, it
has evolved in response to factors such as the growing impact of large and expensive software systems in
a wide range of situations and the increased importance of software in safety-critical applications.
Software engineering is different in character from other engineering disciplines due to both the
intangible nature of software and the discontinuous nature of software operation. It seeks to integrate the
principles of mathematics and computer science with the engineering practices developed for tangible,
physical artifacts. 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. Some offer a multi-course concentration in software engineering within CS.
• A number of institutions offer a software engineering degree program.
Degree programs in computer science and in software engineering have many courses in common.
Software engineering students learn more about software reliability and maintenance and focus more on
techniques for developing and maintaining software that is correct from its inception. While CS students
are likely to have heard of the importance of such techniques, the engineering knowledge and experience
provided in SE programs go beyond what CS programs can provide. The importance of this fact is so
great 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. SE students learn
how to assess customer needs and develop usable software that meets those needs. Knowing how to
provide genuinely useful and usable software is of paramount importance.
In the workplace, the term software engineer is a job label. There is no standard definition for this term
when used in a job description. Its meaning 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 layman must be mindful not confuse the discipline of software engineering with the
ambiguous use of the term software engineer as used in employment advertisements and job titles.
There are no threads for this page.
Be the first to start a new thread.