Computer science is the engine of the digital revolution, contributing to the emergence of entirely new industries and dramatic changes in quality of life.
Continuing advances in this digital revolution depend heavily on research in computer science.
What are the Fields of CS Research?
Virtually every topic that you have seen in your undergraduate courses has an associated and active area of research, from algorithms, architecture, and artificial intelligence to wearable computing (we couldn’t think of any topics that end in x, y, or z, but let us know if you think of some!).
Some areas of research are theoretical and involve developing and analyzing new algorithms and techniques, while some are more applied and involve experiments, design, implementation, and testing. In any case, research is an enterprise of intellectual exploration that seeks to advance our field.
CRA’s Annual Taulbee Report gives a breakdown of the research areas of new Ph.D.’s awarded [CRA Taulbee Report, 2014]. Another view is based on the areas that U.S. CS department are searching for in their faculty hires. In 2015, the most highly sought after research areas included security, big data, systems, software engineering, machine learning, data sciences, and robotics. However, open faculty positions exist in almost every area [Analysis by Prof. Craig E. Wills].
Where do Researchers Work?
Research takes place in all kinds of places. Many companies hire researchers to help them solve some of their hardest problems and to develop the groundwork for their future products and services. Universities, of course, are centers of research activity and important applied research takes place in government labs. Currently, just under 60% of new Ph.D.’s in computer science go to work at companies, about 30% take academic jobs, and the remainder work in government and elsewhere. In our field, it’s quite common for researchers in these different fields to collaborate closely and even to move between sectors. In fact, many areas of computer science research intersect with other fields and it’s quite common for computer scientists to interact with biologists, engineers, physicists, mathematicians, and psychologists, to name just a few.
In industry, some researchers work in the research lab branch of their company. Here, researchers work on open-ended problems, collaborate with colleagues in their company and often interact with university researchers, travel to conferences to present their work, and publish in journals and conference proceedings. The research produced in these labs are often years ahead of the products that will ultimately use them.
In other cases, researchers in industry are more closely embedded in the development part of their company. Here, they work closely with software engineers and others on current product development, helping solve some particularly challenging technical problems that rely on current research.
In academia, faculty members have considerable autonomy to choose their own research problems and also teach and mentor the next generation of researchers. Faculty jobs are appealing to those who enjoy both research and teaching. In contrast to most companies and government research labs, university researchers mustpursue their own research funding by writing grant proposals (e.g., to the National Science Foundation, other government agencies, and industrial partners).
In government, many challenging technical problems require research experience and expertise. While researchers in government are likely to have specific research projects that they are expected to address, they too frequently publish in the same venues as industrial and academic researchers. For example, high performance computing, visualization, and several other fields of computing are particularly well-represented in federal research labs.
Finally, we note that postdoctoral fellowships are becoming increasingly popular in computer science. These are short-term (typically one or two year) research positions in academia, industry, and government, where new Ph.D.’s can further develop their research programs with the support of an experienced mentor. While “postdoc” experiences are not required for most jobs, some graduating Ph.D.’s find them to be a good way to have a few “quiet” years to work on their own research without the additional obligations that come in a faculty or other research position.
- The 2012 report “Continuing Innovation in Information Technology” from the National Research Council highlights many crucial information technology research contributions that resulted from federally supported fundamental research – typically carried out in academia – and their creation of new technologies, firms, and products with large economic impact. Unanticipated research results can be as important as anticipated ones and research carried out in academia will continue to shape our society and the world we live in. National Research Council. Continuing Innovation in Information Technology. Washington, DC: The National Academies Press, 2012.
- The Theoretical Computer Science Community maintains “Vision Nuggets” that identify broad research themes within theoretical computer science having potential for a major impact in the future
- Check out these videos on various computer science research projects from the CCC’s Computing Research in Action Project.