What is Computer Science?
Computer Science is the systematic study of the
feasibility, structure, expression, and mechanization of the methodical
processes (or algorithms) that underlie the acquisition,
representation, processing, storage, communication of, and access to
information, whether such information is encoded in bits and bytes in a
computer memory or transcribed in genes and protein structures in a
human cell. The fundamental question underlying all of computing is: what
computational processes can be efficiently automated and implemented?
To tackle this seemingly
simple question, computer scientists work in many complementary areas.
They study the very nature of computing to determine which problems are
(or are not) computable. They compare various algorithms to determine
if they provide a correct and efficient solution to a concrete problem.
They design programming languages to enable the specification and
expression of such algorithms. They design, evaluate, and build
computer systems that can efficiently execute such specifications. And,
they apply such algorithms to important application domains.
What Computer Science is Not...
Computer Science is not just about
building computers or writing computer programs! Computer Science is no
more about building computers and developing software than astronomy is
about building telescopes, biology is about building microscopes, and
music is about building musical instruments! Computer science is not
about the tools we use to carry out computation. It is about how we use
such tools, and what we find out when we do. The solution of many
computer science problems may not even require the use of
computers—just pencil and paper. As a matter of fact, problems in
computer science have been tackled decades before computers were even
built. That said, the design and implementation of computing system
hardware and software is replete with formidable challenges and
fundamental problems that keep computer scientists busy. Computer
Science is about building computers and writing computer programs, and
much much more!
Why Computer Science?
In 1943, Thomas J. Watson, Chairman of IBM
declared: “I think there is a world market for maybe five
computers.” A few billion computers later, there is a temptation to
fall into Watson’s embarrassing underestimation of the potential that
computing may have on our society. Indeed, in a few decades,
“one computer per capita” may sound as outrageous as a “world
market of five computers” sounds today. Computer scientists
envision a world in which computing is pervasive and seamless. The
golden age of computing (and of computer scientists) has barely begun.
Students choose to major in computer science for
a variety of reasons. Many of our students graduate to rewarding
computer-related careers in software engineering, system administration
and management, research and development in industrial and governmental
laboratories. And, since computer technology has transformed almost all
disciplines, many of our graduates use their computer science major
(and the analytical skills it instills) to prepare them for a
career in other disciplines such as medicine, law, education, physical
and life sciences, social sciences, and humanities. Demand for
graduates well-versed in computer science is high and is expected to
continue to grow as the information age becomes of age!
More information on CS careers
How Does Computer Science Relate To
Scientific Computing?
Computers and software artifacts have become
indispensable tools for the pursuit of pretty much every
scientific discipline. The use of computers has enabled biologists to
comprehend genetics, has enabled astrophysicists to get within
femtoseconds of the big bang's initial conditions, and has enabled
geologists to predict earthquakes. It is not surprising, then, for
scientists in these disciplines to increasingly rely on a computational
methodology (in addition to traditional mathematical or empirical
methodologies) to make advances in their respective fields of study.
Such scientists are often referred to as computational scientists. So,
a computational chemist is a scientist who uses computers to make
contribution to chemistry, just as a mathematical physicist uses
mathematics to model atomic dynamics, or an empirical biologist uses a
microscope to observe cellular behaviors.
How Does Computer Science Relate to Computer
Engineering?
The realization of a computing system, subject to
various physical and technological constraints, is a challenging
undertaking that requires a great deal of knowledge about the
functionality and characteristics of the building blocks available at
our disposal using today's technologies (e.g., semiconductor
technologies, optical communication technologies, wireless signaling
technologies, etc.) Computer engineering concerns itself with current
practices in assembling hardware and software components to erect
computing engines with the best cost-performance characteristics.
In contrast, computer scientists worry about the feasibility and
efficiency of solutions to problems in a manner that is less dependent
on current technologies. As such, computer scientists work on
abstractions that hide details of underlying implementations to enable
the construction and comprehension of yet more complex systems. The
creative process of developing, implementing, and evaluating computing
abstractions is what pushes the frontiers of what computers and
computations can do. For example, the pervasive use of the Web in our
society is a direct result of our ability to free Internet application
developers from the lower-level implementation details of moving bits
and bytes over wires from one point to another. Similarly, the
tremendous advances in the use of computer animation is a direct result
of our ability to free programmers from having to worry about the
lower-level details of digital signal processing techniques.
BU/CS Faculty Highlights
The CS faculty at BU includes world-renowned
leaders in many central areas of computer science, including analysis
of algorithms, complexity theory, cryptography, computational geometry,
databases and data mining, fault-tolerant computing, image and video
computing, networking, operating systems, performance evaluation,
programming languages, real-time systems, security, theory of
computation, and Web and Internet systems.
The reputation of our faculty members is
the envy of many CS departments worldwide. Examples of accolades
include the portrayal of Professor Levin in a recently published book
on the lives and work of 15 of the greatest living computer scientists
and a citation by the National Science Foundation (NSF) to Professor
Teng for work that enabled the understanding of a widely used algorithm
that has defied complete understanding for over 50 years.
Over the last year alone, members of the
CS faculty at BU authored or co-authored over 100 papers in major
journals and conference proceedings, as well as a number of monographs
and edited volumes. The impact of this body of work is evident from the
extent to which it is cited by computer scientists world-wide.
According to the CiteSeer citation index, 60% of the department’s
faculty, are ranked in the top 1% of the most cited authors in all of
CS. The WebBib citation index ranks Professors Crovella and Bestavros
as two of the top three most-cited authors in Web and Internet research.
BU/CS Curriculum Highlights
The CS Faculty at BU includes world-renown
leaders in many central areas of computer science, including analysis
of algorithms, complexity theory, cryptography, computational geometry,
computer vision, computer graphics,
databases and data mining, fault-tolerant computing,
networking, operating systems, performance evaluation, programming
languages, real-time systems, security, theory of computation, and Web
and Internet systems.
The Department offers a
broad range of courses at both the undergraduate and graduate levels,
for both non-majors who want an introduction to computer science, and
for students who want to major or minor in computer
science. The Department offers the B.A., M.A., and Ph.D. degrees
in computer science, as well as a five-year combined B.A./M.A. degree.
The CS B.A. program
at Boston University offers students a basic education that emphasizes
fundamental concepts that will survive fast technological churn.
Students are expected to complete: (1) an introductory set of seven
background courses that build the mathematical, analytical, and
programming skills necessary for the major, (2) a core set of four
foundational courses in theory, algorithms, systems, and programming,
and (3) a set of at least four elective courses in one or more of the
many tracks in computer science.
Alumni of our B.A., M.A., and Ph.D.
programs land jobs at top
technology
companies, including Microsoft, Google, Intel, Nortel, Motorola, and
Google, as well as other major employers in various sectors of
the economy, including Fleet/Bank of America, Morgan Stanley, Pixar,
and
Raytheon, among many others. Alternately, some of our B.A. alumni chose
to go on and earn graduate and professional degrees in computer
science, law, management, and
medicine from some of the best universities in the country. Our
graduate students are recruited for internships at
leading research laboratories, securing positions at labs such as
Sprint, Intel, Motorola, Mitsubishi, VmWare, and Microsoft. A
number of recent Ph.D. graduates have secured tenure track assistant
professorships and postdoctoral positions at top universities.
|