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 comes of age!

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!

Origial source: CSE Boston University