Sunday, November 8, 2009

Fields in Computer Science

Computer science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems. It is frequently described as the systematic study of algorithmic processes that create, describe and transform information. According to Peter J. Denning, the fundamental question underlying computer science is, "What can be (efficiently) automated?" Computer science has many sub-fields; some, such as computer graphics, emphasize the computation of specific results, while others, such as computational complexity theory, study the properties of computational problems. Still others focus on the challenges in implementing computations.
For example, programming language theory studies approaches to describing computations, while computer programming applies specific programming languages to solve specific computational problems, and human-computer interaction focuses on the challenges in making computers and computations useful, usable, and universally accessible to people.
Computer science has a number of major sub-fields which can be classified as per mentioned below.
Ø Algorithms :- formal processes used for computation, and the efficiency of these processes
Ø Applications :- design and development software for everyday use
Ø Artificial intelligence :- implementation and study of systems that exhibit (either behaviorally or seemingly) an autonomous intelligence or behavior of their own, sometimes inspired by the characteristics of living beings. Computer science is closely tied with AI, as software and computers are primary tools for the development and progression of artificial intelligence
Ø Compilers :- ways of efficiently translating algorithms from one form (usually a programming language) to another
Ø Computational complexity theory :- fundamental bounds (esp. time and storage space) on computations
Ø Computer programming :- the act of writing algorithms in a programming language
Ø Computer graphics :- algorithms both for generating visual images synthetically and for integrating or altering visual and spatial information sampled from the real world
Ø Computer vision :- algorithms for extracting three dimensional objects from a two dimensional picture
Ø Cryptography :- algorithms for protecting private data, including encryption
Ø Data mining :- the process of sorting through large amounts of data and picking out relevant information.; closely related to information retrieval
Ø Data structures :- the organization and storage of data
Ø Networking :- algorithms and protocols for reliably communicating data across long distances, often including error correction
Ø Operating systems :- systems for managing computer programs and data structures
Ø Programming languages :- formal languages for expressing algorithms and the properties of these languages
Ø Robotics :- algorithms for controlling the behavior of robots
Ø Scientific computing :- algorithms for use in the sciences, especially (but not exclusively) biology (as in bioinformatics), physics, and chemistry
Ø Search Engine Optimization (SEO) :- the process of increasing the amount of visitors to a Web site by ranking high in the search results of a search engine.
Ø Software engineering :- the process of designing, developing, and testing programs
Ø Steganography :- algorithms for covertly hiding data in seemingly unrelated documents, such as graphics
Ø Type Theory :-formal analysis of the types of data, and the use of these types to understand properties of programs, especially program safety

No comments:

Post a Comment