Computing Disciplines & Majors: Computer Engineering
Computing Disciplines & Majors: Computer Engineering
If you choose a computing major, what career options are open to you? We have provided information for each of the majors
listed here:
Computer Engineering
Typically involves software and hardware and the development of systems that involve software, hardware, and
communications.
Computer Science
Currently the most popular of the computing disciplines; tends to be relatively broad and with an emphasis on the
underlying science aspects.
Information Systems
Essentially, this is computing in an organizational context, typically in businesses.
Information Technology
Focuses on computing infrastructure and needs of individual users; tends to involve a study of systems (perhaps just
software systems, but perhaps also systems in support of learning, of information dissemination, etc.).
Software Engineering
Focuses on large-scale software systems; employs certain ideas from the world of engineering in building reliable
software systems.
Computer engineering majors are offered by a fairly large number of universities, almost always within engineering. This
major requires significant study of mathematics.
As I was playing Unreal Tournament one day as a fifteen-year-old, I decided that it would be really
awesome if the game had more features. I soon learned unrealscript–a java-like language that
much of the game is written in–and wrote modifications which customized the game in any way I
wished.
To me, computer engineering is about customization. I know of no other field that allows a person
to so easily turn a vision in their mind into reality. And so, upon entering college, I opted to do
computer engineering–and have stuck with it ever since.
Computer hardware engineers’ research, design, develop, test, and oversee the installation of computer hardware and
supervise its manufacture and installation. Hardware refers to computer chips, circuit boards, computer systems, and related
equipment such as keyboards, modems, and printers…. The work of computer hardware engineers is very similar to that of
electronics engineers, but, unlike electronics engineers, computer hardware engineers work exclusively with computers and
computer-related equipment. The rapid advances in computer technology are largely a result of the research, development,
and design efforts of computer hardware engineers.
Computer Science
Computer science (CS) spans the range from theory through programming to cutting-edge development of computing
solutions. Computer science offers a foundation that permits graduates to adapt to new technologies and new ideas. The
work of computer scientists falls into three categories: a) designing and building software; b) developing effective ways to
solve computing problems, such as storing information in databases, sending data over networks or providing new
approaches to security problems; and c) devising new and better ways of using computers and addressing particular
challenges in areas such as robotics, computer vision, or digital forensics (although these specializations are not available in
all computer science programs). Most computer science programs require some mathematical background.
Career Path 1: Designing and implementing software. This refers to the work of software development which has
grown to include aspects of web development, interface design, security issues, mobile computing, and so on. This is
the career path that the majority of computer science graduates follow. While a bachelor’s degree is generally
sufficient for entry into this kind of career, many software professionals return to school to obtain a terminal
master’s degree. (Rarely is a doctorate involved.) Career opportunities occur in a wide variety of settings including
large or small software companies, large or small computer services companies, and large organizations of all kinds
(industry, government, banking, healthcare, etc.). Degree programs in software engineering also educate students
for this career path.
Career Path 2: Devising new ways to use computers. This refers to innovation in the application of computer
technology. A career path in this area can involve advanced graduate work, followed by a position in a research
university or industrial research and development laboratory; it can involve entrepreneurial activity such as was
evident during the dot-com boom of the 1990s; or it can involve a combination of the two.
Career Path 3: Developing effective ways to solve computing problems. This refers to the application or development
of computer science theory and knowledge of algorithms to ensure the best possible solutions for computationally
intensive problems. As a practical matter, a career path in the development of new computer science theory typically
requires graduate work to the Ph.D. level, followed by a position in a research university or an industrial research
and development laboratory.
Career Path 4: Planning and managing organizational technology infrastructure. This is the type of work for which
the new information technology (IT) programs explicitly aim to educate students.
Career paths 2 and 3 are undeniably in the domain of computer science graduates. Career paths 1 and 4 have spawned the
new majors in software engineering and information technology, respectively, and information systems graduates often
follow Career path 1, too. Computer scientists continue to fill these positions, but programs in software engineering,
information technology, and information systems offer alternative paths to these careers.
Information Systems
Information systems (IS) is concerned with the information that computer systems can provide to aid a company, non-profit
or governmental organization in defining and achieving its goals. It is also concerned with the processes that an enterprise
can implement and improve using information technology. IS professionals must understand both technical and
organizational factors, and must be able to help an organization determine how information and technology-enabled business
processes can provide a foundation for superior organizational performance. They serve as a bridge between the technical
and management communities within an organization.
What information does the enterprise need? How is that information generated? Is it delivered to the people who need it? Is
it presented to them in ways that permit them to use it readily? Is the organization structured to be able to use technology
effectively? Are the business processes of the organization well designed? Do they use the opportunities created by
information technology fully? Does the organization use the communication and collaboration capabilities of information
technologies appropriately? Is the organization capable of adapting quickly enough to changing external circumstances?
These are the important issues that businesses rely on IS people to address.
A majority of IS programs are located in business schools; however, they may have different names such as management
information systems, computer information systems, or business information systems. All IS degrees combine business and
computing topics, but the emphasis between technical and organizational issues varies among programs. For example,
programs differ substantially in the amount of programming required.
Traditionally, many graduates of IS programs have functioned in roles that are similar to the roles for which IT programs
explicitly prepare their students. Information systems graduates continue to fill these roles, but the new programs in
information technology offer an alternative path to these positions.
Information Technology
Information technology (IT) is a label that has two meanings. In common usage, the term “information technology” is often
used to refer to all of computing. As a name of an undergraduate degree program, it refers to the preparation of students to
meet the computer technology needs of business, government, healthcare, schools, and other kinds of organizations.
IT professionals 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. They assume responsibility for selecting
hardware and software products appropriate for an organization. They integrate those products with organizational needs
and infrastructure, and install, customize and maintain those applications, thereby providing a secure and effective
environment that supports the activities of the organization’s computer users. In IT, programming often involves writing
short programs that typically connect existing components (scripting).
Planning and managing an organization’s IT infrastructure is a difficult and complex job that requires a solid foundation in
applied computing as well as management and people skills. Those in the IT discipline require special skills – in
understanding, for example, how networked systems are composed and structured, and what their strengths and
weaknesses are. There are important software systems concerns such as reliability, security, usability, and effectiveness and
efficiency for their intended purpose; all of these concerns are vital. These topics are difficult and intellectually demanding.
Software Engineering
Software engineering (SE) is concerned with 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. It
is important because of the impact of large, expensive software systems and the role of software in safety-critical
applications. It integrates significant mathematics, computer science and practices whose origins are in engineering.
Students can find software engineering in two contexts: computer science programs offering one or more software
engineering courses as elements of the CS curriculum, and in separate software engineering programs. Degree programs in
computer science and in software engineering tend to have many courses in common; however, as of Spring 2006 there are
few SE programs at the bachelor’s level. Software engineering focuses on software development and goes beyond
programming to include such things as eliciting customers’ requirements, and designing and testing software. SE students
learn how to assess customer needs and develop usable software that meets those needs.
Both computer science and software engineering curricula typically require a foundation in programming fundamentals and
basic computer science theory. They diverge in their focus beyond these core elements. Computer science programs tend to
keep the core small and then expect students to choose among more advanced courses (such as systems, networking,
database, artificial intelligence, theory, etc.). In contrast, SE programs generally expect students to focus on a range of
topics that are essential to the SE agenda (problem modeling and analysis, software design, software verification and
validation, software quality, software process, software management, etc.). While both CS and SE programs typically require
students to experience team project activity, SE programs tend to involve the students in significantly more of it, as effective
team processes are essential to effective SE practices. In addition, a key requirement specified by the SE curriculum
guidelines is that SE students should learn how to build software that is genuinely useful and usable by the customer and
satisfies all the requirements defined for it.
Most people who now function in the U.S. as serious software engineers have degrees in computer science, not in software
engineering. In large part this is because computer degrees have been widely available for more than 30 years and software
engineering degrees have not. Positions that require development of large software systems often list “Software Engineer” as
the position title. Graduates of computer science, computer engineering, and software engineering programs are good
candidates for those positions, with the amount of software engineering study in the programs determining the suitability of
that graduate for such a position.
Most IT professionals who have computing degrees come from CS or IS programs. It is far too soon for someone who wants
to work as a software engineer or as an information technology practitioner to be afraid that they won’t have a chance if they
don’t graduate from a degree program in one of the new disciplines. In general, a CS degree from a respected program is the
most flexible of degrees and can open doors into the professional worlds of CS, SE, IT, and sometimes CE. A degree from a
respected IS program allows entry to both IS and IT careers.
Media attention to outsourcing, offshoring, and job migration has caused many to be concerned about the future of
computing-related careers. It is beyond the scope of this web site to address these issues. The report of the British Computer
Society addresses these issues as they impact the U.K. The Globalization Report of the ACM Job Migration Task Force reflects
an international perspective, not just a U.S-centric one.
Mixed Disciplinary Majors
Because computing is such an important and dynamic field, many interdisciplinary majors, some very recent developments,
exist at some schools. Here are just a few examples of these opportunities. Some of these programs are offered at a number
of U.S. schools as of Spring 2006; some only at a handful of U.S. schools.
Bioinformatics combines elements from at least biology, biochemistry, and computer science, and prepares students
for careers in the biotechnology and pharmaceutical industries, or for graduate school in informatics. Some programs
may also include elements from information systems, chemistry, mathematics, and statistics.
Computational science means science done computationally, and serves as a bridge between computing technology
and basic sciences. It blends several fields including computer science, applied mathematics, and one or more
application sciences (such as physics, chemistry, biology, engineering, earth sciences, business and others). Some
programs also include information systems.
Computer Science and Mathematics combines computer science with mathematics of course. Some of these
programs are found at schools that do not have a full major in computer science; some are found at universities with
very large computer science departments.
Gaming and Animation. Majors for students interested in creating computer games and computer animations are
being developed at a number of schools. These majors have various flavors and may combine either or both of
computer science and information technology work with either or both of art and (digital) media studies.
Medical (or health) informatics programs are for students interested in students who want to work in a medical
environment. Some students will work as technology experts for hospitals; some in public health; some students
may be premed or pre-dental. Coursework may be drawn from any or all of computer science, information systems,
or information technology in combination with biology, chemistry, and courses unique to this interdisciplinary field.
Be aware that especially in the newer interdisciplinary areas, different schools use different names for the same subject. For
example, one school’s “bioinformatics” may be another school’s “computational biology.”