From Wikipedia, the free encyclopedia
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell. A computer scientist specializes in the theory of computation and the design of computational systems. Its subfields can be divided into a variety of theoretical and practical disciplines. Some fields, such as computational complexity theory (which explores the fundamental properties of computational problems), are highly abstract, while fields such as computer graphics emphasize real-world visual applications. Still other fields focus on the challenges in implementing computation. For example, programming language theory considers various approaches to the description of computation, whilst the study of computer programming itself investigates various aspects of the use of programming language and complex systems. Human-computer interaction considers the challenges in making computers and computations useful, usable, and universally accessible to humans.
Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations Contents [hide]
1.1 Major achievements
2.1 Name of the field
3 Areas of computer science
3.1 Theoretical computer science
3.1.1 Theory of computation
3.1.2 Information and coding theory
3.1.3 Algorithms and data structures
3.1.4 Programming language theory
3.1.5 Formal methods
3.2 Applied computer science
3.2.1 Artificial intelligence
3.2.2 Computer architecture and engineering
3.2.3 Computer graphics and visualization
3.2.4 Computer security and cryptography
3.2.5 Computational science
3.2.6 Computer Networks
3.2.7 Concurrent, parallel and distributed systems
3.2.8 Databases and information retrieval
3.2.9 Health Informatics
3.2.10 Information science
3.2.11 Software engineering
6 See also
9 Further reading
10 External links
History[edit source | editbeta]
Main article: History of computer science
Charles Babbage is credited with inventing the first mechanical computer.
Ada Lovelace is credited with writing the first algorithm intended for processing on a computer. The earliest foundations of what would become computer science predate the invention of the modern digital computer. Machines for calculating fixed numerical tasks such as the abacus have existed since antiquity but they only supported the human mind, aiding in computations as complex as multiplication and division. Blaise Pascal designed and constructed the first working mechanical calculator, Pascal's calculator, in 1642. Two hundred years later, Thomas de Colmar launched the mechanical calculator industry when he released his simplified arithmometer, which was the first calculating machine strong enough and reliable enough to be used daily in an office environment. Charles Babbage started the design of the first automatic mechanical calculator, his difference engine, in 1822, which eventually gave him the idea of the first programmable mechanical calculator, his Analytical Engine. He started developing this machine in 1834 and "in less than two years he had sketched out many of the salient features of the modern computer. A crucial step was the adoption of a punched card system derived from the Jacquard loom" making it infinitely programmable. In 1843, during the translation of a French article on the...
References: ^ "In this sense Aiken needed IBM, whose technology included the use of punched cards, the accumulation of numerical data, and the transfer of numerical data from one register to another", Bernard Cohen, p.44 (2000)
^ Brian Randell, p.187, 1975
^ a b c Denning, P.J. (2000). "Computer Science: The Discipline" (PDF). Encyclopedia of Computer Science. Archived from the original on 2006-05-25.
^ Computer science pioneer Samuel D. Conte dies at 85 July 1, 2002
^ a b Levy, Steven (1984)
^ a b David Kahn, The Codebreakers, 1967, ISBN 0-684-83130-9.
^ Wegner, P. (October 13–15, 1976). "Research paradigms in computer science". Proceedings of the 2nd international Conference on Software Engineering. San Francisco, California, United States: IEEE Computer Society Press, Los Alamitos, CA.
^ Denning, P. J.; Comer, D. E.; Gries, D.; Mulder, M. C.; Tucker, A.; Turner, A. J.; Young, P. R. (Jan 1989). "Computing as a discipline". Communications of the ACM 32: 9–23. doi:10.1145/63238.63239. volume = 64 edit
^ Eden, A
^ Louis Fine (1959). "The Role of the University in Computers, Data Processing, and Related Fields". Communications of the ACM 2 (9): 7–14. doi:10.1145/368424.368427.
^ id., p. 11
^ Donald Knuth (1972)
^ Matti Tedre (2006). The Development of Computer Science: A Sociocultural Perspective, p.260
^ Peter Naur (1966)
^ M. Tedre (2011) Computing as a Science: A Survey of Competing Viewpoints, Minds and Machines 21(3), 361-387
^ Parnas, D
^ a b Computing Sciences Accreditation Board (28 May 1997). "Computer Science as a Profession". Archived from the original on 2008-06-17. Retrieved 2010-05-23.
^ Committee on the Fundamentals of Computer Science: Challenges and Opportunities, National Research Council (2004). Computer Science: Reflections on the Field, Reflections from the Field. National Academies Press. ISBN 978-0-309-09301-9.
^ "Csab, Inc". Csab.org. 2011-08-03. Retrieved 2011-11-19.
"Computer Software Engineer." U.S. Bureau of Labor Statistics. U.S. Bureau of Labor Statistics, n.d. Web. 05 Feb. 2013.
Tucker, Allen B. (2004). Computer Science Handbook (2nd ed.). Chapman and Hall/CRC. ISBN 1-58488-360-X.
Cohen, Bernard (2000). Howard Aiken, Portrait of a computer pioneer. The MIT press. ISBN 978-0-2625317-9-5.
Randell, Brian (1973). The origins of Digital computers, Selected Papers. Springer-Verlag. ISBN 3-540-06169-X.
Peter J. Denning, Great principles in computing curricula, Technical Symposium on Computer Science Education, 2004.
Joint Task Force of Association for Computing Machinery (ACM), Association for Information Systems (AIS) and IEEE Computer Society (IEEE-CS). Computing Curricula 2005: The Overview Report. September 30, 2005.
Please join StudyMode to read the full document