
Computer science (CS) began in the 1940s and has grown rapidly as technology has advanced. CS is more than simply building computers or writing programs. Computer scientists study problems to determine if they can be solved computationally, develop and study ways to make computing more economical, create programming languages to express solutions, and design and build computer systems to provide a range of safe, effective, and efficient services across a wide range of application domains.
Computer scientists blend principles, theories, technologies, and practical know-how to design and build systems to store, retrieve, and process data. This involves studying the structure, expression, and efficiency of algorithms, which are mechanical processes for solving problems.
The work of computer scientists falls into three categories:
- Designing and building software.
- Developing effective ways to solve computing problems, such as storing information in databases sending data over networks, or providing new approaches to security problems.
- Devising new and better ways of using computers and addressing particular challenges in areas such as mobile computing, robotics, artificial intelligence, web-based systems, or digital forensics. Most computer science programs require some mathematical background.
A computer scientist can work in any discipline or industry because computer skills transfer easily to many areas. Mathematicians, scientists, and engineers use computer science as well as those who work in business, medicine, the humanities, law, and education.
The Successful Computer Scientist
The qualities of a good computer scientist include a passion for finding elegant solutions, an ability to use mathematical tools and logical rigor to evaluate such solutions, creativity in modeling complex problems through the use of abstraction, attention to details and hidden assumptions, an ability to recognize variants of the same problem in different settings, and the ability to retarget known efficient solutions to problems in new settings. The successful computer scientist has
- Discrete Math Skills – discrete math and logic are critical in computing;
- Critical-Thinking Skills – computer scientists must be organized in their thinking and analyze the results of their work to evaluate its worth;
- Communication Skills – computer scientists must communicate both with other technical professionals and with clients who may have
little technical background; - Problem-Solving Skills – computer scientists are often required to provide computational solutions to problems that have not been solved using computing before;
- Detail Orientation – computer scientists must pay close attention to their work because even a small error can cause an entire project to fail;
- Ingenuity – computer scientists must continually come up with innovative ways to solve problems, particularly when their ideas do not initially work as they had hoped.