Computer Science
Basic Methodologies Of The Field
The digital computer is the center of computer science. Abstract models are developed in the hope of capturing essential elements, but the models need sufficient accuracy so conclusions reflect what will actually occur on a real digital computer. Algorithmic thinking requires one to express solutions to problems as a sequence of steps, each one sufficiently precise that it could be translated into the elemental steps of a digital computer, and then to analyze the efficiency of these steps.
Another fundamental mode of thinking for a computer scientist is representation—namely, the way in which data is stored so that algorithms making use of the data will compute efficiently. For example, a phone book is organized alphabetically so we can easily locate a person's phone number if we know his or her name. On the other hand, if we know a phone number and want to know the name of the person who has that number, the phone book is useless. Organizing the data so questions can be answered efficiently is the end goal of data representation. Representation does not only refer to ways to organize data but also ways to encode data. For example, how does one represent a mathematical expression that needs to be differentiated or integrated, or how should one encode speech, sound, or a movie so that it is compact yet is able to be faithfully rendered? Compression algorithms have succeeded in reducing the size of popular songs to approximately 3 megabytes (3 million characters), but a full-length feature movie, using the best encoding scheme of the day, requires approximately 1,000 megabytes. The former can be transferred across the Internet in a matter of minutes, while the latter requires several hours or more. Computer scientists are researching both sides of the problem, studying how to increase the bandwidth of the network while also improving the degree to which compression algorithms work.
Computer scientists have differing approaches to problems. Theoreticians aim to bring order to rapidly emerging subfields. They attempt to develop models or analytic methods to help understand what is going on. In some computer science areas formal models exist, such as automata theory, switching theory, graph theory, and formal languages. However, for some fields, such as operating systems, programming languages, and compilers, theory has had a limited impact. Experimenters build systems and then use them to test out a variety of questions. Performance analysis and comparisons of different architectures are often the results of such experimentation.
Additional topics
- Computer Science - Some Examples Of Computer Science Merging With Other Fields
- Computer Science - Computer Science Chronology
- Other Free Encyclopedias
Science EncyclopediaScience & Philosophy: Cluster compound to ConcupiscenceComputer Science - Early History, Computer Science Chronology, Basic Methodologies Of The Field, Some Examples Of Computer Science Merging With Other Fields