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!


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. And, just like all of these scientific disciplines, advances in computer science itself often relies on the use of computers and computational processes. In that sense, among all scientific disciplines, Computer Science is unique. It is the only discipline which fuels its own advancement. Indeed it is a recursive discipline!


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.


What Does It Take To Be A Successful Computer Scientist?

Computer Science is about problem solving. Thus, the qualities of a good computer scientist include a passion for finding elegant solutions, an ability to use mathematical analysis and logical rigor to evaluate such solutions, creativity in modeling complex problems through the use of abstractions, attention to details and hidden assumptions, an ability to recognize variants of the same problem in different settings, and being able to retarget known efficient solutions to problems in new settings. If you like to solve puzzles, then computer science is for you!


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, 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 CS curriculum 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.

For an overview of the structure of the curriculum, please visit http://www.cs.bu.edu/CourseMap


Facilities and Laboratories

The CS department has a wide range of computing resources and laboratories available to support its educational and research missions. In addition to over 300 state-of-the-art computing workstations, the department has a number of high-end shared-memory multiprocessor compute servers, firewalls, and file servers, with over two Terabytes of disk space for general purpose (Unix and Windows) user accounts and Web services. Students access this infrastructure through a number of laboratories, including a 100-seat undergraduate laboratory, a 25-seat on-line teaching classroom, a 25-seat systems and networking sandbox, and a graduate research laboratory. In addition to these general purpose laboratories, students involved in specific research projects or courses have access to other dedicated facilities, including the Image and Video Computing Lab, the Networking QoS Lab, the Internet Lab, and the Database Lab. High-speed wired and wireless networks connect these laboratories to each other, to the University campus network, to the Internet, and to the national I2 backbone.


Sponsored Research Highlights

The first-rate research accomplishments of the CS faculty at BU have been recognized by national government agencies and industrial partners, who funded projects undertaken by faculty and students at the tune of over three million dollars in FY’03. Recent examples include a NSF ITR grant to Professors Bestavros and Kfoury to support the development of dependable Internet and Web applications, an ONR grant to Professor Sclaroff to study computer vision techniques for analysis of human motion, a DoD award to Professor Homer to investigate the complexity of quantum computing, a NSF award to Professor Gacs to study aspects of algorithmic information theory, a NSF special project in networking award to Professor Matta to investigate novel Internet traffic management architectures,  and NSF CAREER awards—the most prestigious awards to junior faculty members in the nation—to Professors Betke, Byers, Kollios, and Xi.

For information on the various research groups and projects in the department, please visit http://www.cs.bu.edu/groups


Recent Department News

Spring’03 marked the launch of a major set of projects within the department that aim to leverage the potential of video sensor networks. To enable these projects, the department is setting up a state-of-the-art infrastructure (called the Sensorium), which is funded in part by a $1.7M major grant from the National Science Foundation. For more information, please visit http://www.cs.bu.edu/groups/sensorium

As part of the department’s Industrial Affiliates Program—supported by industry leaders such as Microsoft, Sun, IBM, Sprint, and Motorola—the department hosted its second annual research day on March 6, 2003 in which students presented their research projects to visitors. On March 27, the department organized its Spring 2003 career day, in which more than 50 students attended a workshop on how to prepare a resume and on job search and interview strategies.

For the second year in a row, the department secured one of the top prizes awarded to graduate students in a university-wide competition of best presentations at Boston University’s Science and Technology Day. Stephen Crampton won the Chancellor Award (the highest award given this year) for his work on computer vision algorithms that enable computers to recognize hand gestures in real-time, with applications to gaming and to assistive technologies for the disabled.

Throughout 2003, the CS department is organizing a special twentieth anniversary colloquium series, featuring over a dozen of the most accomplished computer scientists worldwide, who will join our faculty, students, and alumni in celebrating twenty years of excellence in CS research and education.


Department Contact Information

Ms. Jennifer Streubel, Program Coordinator
Department of Computer Science
Boston University
111 Cummington Street
Boston, MA 02215

Email: csdept@cs.bu.edu
Web: www.cs.bu.edu
Tel: 617-353-8919
Fax: 617-353-6457

Get the above information in a printer friendly format (PDF)
What is CS? Why CS?


Updated Last on 2003-04-07  

Courtesy of Azer Bestavros