It is an exciting time to be a computer scientist!
We are living in the midst of a revolution powered by computers. This revolution has invaded all aspects of society. It is a communication revolution, a transportation revolution, a medical revolution, an entertainment revolution. Consider the things you would need to give up if you were to live a day without computers:
- Social networking: email, IM, Facebook, texting, cell phone, landline phone
- Transportation: GPS, car (anti-lock brakes, electronic ignition, …), planes, trains
- Medical systems: electronic health records, nearly all medical tests
- Commerce: ecommerce, ATMs, credit cards, debit cards
- Entertainment: iPods, digital TV, cable TV, movies (most use computer enhancement in some way), remote control devices
Beyond these daily uses of computer technology, it has also become central to many other enterprises. Scientific research often uses in-silico experimentation, that is, experimentation done on computer models rather than the real world. Consider climate change research, for example. It is not possible to design and carry out an experiment to evaluate the effects of carbon emissions on the environment. This must be done using computer models, which, of course, leads to disagreements. Whose model is better? One model may emphasize the oceans, another the poles.
Medicine and medical research rely extensively on computers. Drug discovery research involves studying computer models of proteins, viruses and drugs prior to actually synthesizing and experimenting with potential drugs. Medical equipment is extensively computerized. Communications technology has opened up the field of telemedicine, so that medical expertise can reach rural areas and third world countries like never before.
Computers also reach into how we are governed. Electronic voting has been pushed by the government, but computer scientists are concerned about the security, accuracy and privacy of votes cast electronically. The Patriot Act greatly expanded the government’s ability to listen in on private communications, many of which are electronic. The net neutrality debate will decide the future of the Internet. Computer technology has been central to the success of the military. Cyberwarfare is just around the corner --- whether we are the attackers or the defenders, it is coming!
The Discipline of Computer Science
Central to all of these things we take for granted are computers: hardware, software and innovative applications. Indeed, computer science is an extraordinarily creative enterprise. It has changed the way we live, has propelled our economy forward through innovation and will continue to do so for the foreseeable future.
Still, it might not be clear what “computer science” is. We are primarily interested in problem-solving with computers. This problem solving can be viewed from many angles:
- Logic - How can you describe a solution to a problem so precisely that a stupid computer, with no commonsense can execute it? Understanding the answer to this involves understanding the basic instructions found in programming languages, boolean logic, and also the most essential physical components of a computer.
- Algorithms - How do you compose logical steps together to solve a problem? How do you do so efficiently? How do you prove mathematically that your algorithm is correct?
- Abstraction - Problems that are solved with computers tend to be large and complicated. It is not possible to understand in detail the complete solution to a problem. Developing abstractions allow a computer scientist to decompose a problem into smaller pieces, solve those pieces individually and combine the results to form a total solution. How do we decompose problems in this way? How do we describe abstractions so that others can understand them without knowing the internal details?
- Computability - What problems are solvable by computers? Currently, some things that are very easy for people to do are very difficult for computers - speech understanding and image recognition are two of these. Still other problems have simple algorithms, but the algorithms would take many years to calculate the solutions to problems of any realistic size. How do we know if a problem is intractable?
Beyond these essential elements of computational thinking, computer science encompasses many more specialized fields, including information retrieval, software engineering, bioinformatics, computational geometry, computer graphics and animation, computer architecture, networking, distributed systems, programming languages, ...
Computer Science and Liberal Arts
Computer science contributes to a liberal arts education in two primary ways as described above. First, computer science can provide a student with the necessary education to innovate in extraordinary ways. Computer technology is at the heart of many endeavors to make a meaningful difference in the world, whether through scientific research, medical advances, helping disabled people lead more fulfilling lives, improved communication and transportation or many other areas. These advances generally happen not by applying existing technology to a new problem, but by collaborating with experts in other fields and developing innovative solutions.
Second, computational thinking can bring careful, logical approaches to problem solving and an understanding of the power of abstraction to many enterprises. The ability to think logically and to develop abstractions is applicable even if one does not ultimately write those solutions in a programming language.
One might also wonder what value the liberal arts bring to a computer science education. We believe strongly that the communication skills and the ability to think broadly about issues set our graduates apart from students from more technical institutions. In fact, our graduates have gone off to many top graduate schools, including Carnegie Mellon, Stanford, MIT and Brown. Graduate schools are very happy to have our students who can think critically about problems, and read, write and speak better than many other beginning graduate students.
Furthermore, it is citizens who are well versed in both computer technology and the social sciences who are needed to guide our country through the complex issues of security and privacy, electronic voting, net neutrality and other social issues.