|
What is the difference between Computer Science or Computer
Engineering
Ritwaj asked:
I am very interested in computers and was wondering which major
to choose: Computer Science or Computer Engineering. What is the
difference between the two programs, anyway?
Answer:
This is a very common question. Although there is considerable
overlap between the two fields, Computer Science focuses primarily
on software systems, while Computer Engineering on hardware
systems. Software application development, Internet programming,
and database/information management systems are more the province
of Computer Science, while Computer Engineers often work in
embedded system development and low level hardware design. It is
fair to say that the amount of software development performed in
the US greatly exceeds that of hardware development, and that
nationally far more students study Computer Science than Computer
Engineering.
Both majors will teach you basic programming, fundamentals of
computer hardware and will give you the skills necessary for
creating software and hardware systems to solve problems in the
real world. However, CS deals more with the "science" of
computers, putting more emphasis on algorithm development/analysis
and efficient ways of storing/processing information, while the CE
track stresses more the engineering aspects of hardware systems.
To put it another way, CE studies ways to build good computer
systems while CS tries to figure out what to do with them.
cs vs. ce
Students considering a career centered on computers and computing
often ask for clarification about the difference between computer
engineering (CompE) and computer science (CompSci), and how Duke
undergraduate curriculum reflects this relationship. There are
philosophical as well as practical answers to these questions.
Both CompE and CompSci study the use of the digital computer as a
tool that makes possible much of modern technology and the overlap
between the two fields is significant. Both disciplines study the
inner workings of computers and both study hardware as well as
software aspects of computer systems. The differences are those of
emphasis. Students in CompSci, CompE, or Electrical and Computer
Engineering will all study programming and basic computer
operation.
Computer Science is traditionally more concerned with the
theoretical underpinnings of computation and of programming; thus
one typically finds courses in programming, algorithms, numerical
analysis (how do you guarantee a number produced by a computer
program is accurate), and the theory of computation (what can and
cannot in principle be computed) in CompSci departments. Many
CompSci departments at U.S. universities were offshoots from math
departments in the 1970s, and the emphasis on providing a rigorous
mathematical foundation for the computing disciplines is still
evident in many CompSci curricula.
Computer engineering programs largely developed in engineering
departments strong in electrical engineering. CompE focuses on the
practical aspects of development and use of computers, and so
courses in digital logic design and processor interfacing which
build on an engineering student's knowledge of electronics and
circuits are typically found in CompE programs. CompE programs
also often have strong ties to solid state physics and devices
programs where the details of actually manufacturing integrated
circuits are studied. At the intersection between CompE and
CompSci are courses in computer architecture (the basic
construction and low-level programming of computers) and operating
systems, which are as likely to be found in either or both
programs.
At Duke, Computer Science is a department in Trinity College of
Arts and Sciences. Computer science majors follow the Trinity
College curriculum. Through the Pratt School of Engineering, we
offer an ABET-accredited major in the hybrid discipline Electrical
and Computer Engineering as one alternative in the ECE department.
Students in the ECE department can also choose a more traditional
electrical engineering major. By offering a major in an Electrical
and Computer Engineering rather than a Computer Engineering major,
we emphasize increasingly important traditional electrical
engineering subjects like electromagnetics and signal processing
to anyone with a deep interest in computer systems.
We find a holistic approach to the hybrid discipline of Electrical
and Computer Engineering produces students better prepared to
integrate modern computing systems into devices and products
capable of bettering the world.
Six Duke faculty members have appointments in both the ECE and
CompSci departments. In the Pratt School of Engineering, many of
our Electrical and Computer Engineering majors take a second major
in Computer Science and the two departments have cooperated to
create a second major program that fits well into a four-year
program. This gives students the best of all worlds - firm
groundings in theoretical underpinnings, deep practical knowledge
of actual computer hardware, and traditional and yet still highly
relevant electrical engineering subjects that better prepare them
for future technology.
Written by John Board, an associate professor at Duke University
with a joint appointment in the Electrical and Computer
Engineering and Computer Science departments.
(Source: pratt.duke.edu/highschool/cs_vs_ce.php ) |