Élmu komputer: Béda antarrépisi

Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan
 
Tidak ada ringkasan suntingan
Baris ka-1:
In its most general sense, '''computer science''' ('''CS''' or '''compsci''') is the study of [[computation]] and [[information processing]], both in [[computer hardware|hardware]] and in [[software]].
Ieu kaca janga elmu komputer
 
==Introduction==
 
In practice, computer science includes a variety of topics relating to [[computer]]s, which range from the abstract analysis of [[algorithms]], [[formal grammar]]s, etc. to more concrete subjects like [[programming language]]s, software, and computer hardware. As a scientific discipline, it differs significantly from [[mathematics]], [[programming]], [[software engineering]], and [[computer engineering]], although these fields are often confused. [[Edsger Dijkstra]] is quoted as saying:
:''"Computer science is no more about computers than [[astronomy]] is about [[telescope]]s."''
The renowned [[physicist]] [[Richard Feynman]] said:
:''"Computer science is not as old as physics; it lags by a couple of hundred years. However, this does not mean that there is significantly less on the computer scientist's plate than on the physicist's: younger it may be, but it has had a far more intense upbringing!"''
 
The [[Church-Turing thesis]] states that all known kinds of [[reasonable]] paradigms of computation are essentially equivalent in what they can do, although they vary in time and space efficiency. The thesis is not a mathematical theorem that can be proven, but a statement based on empirical observation that two distinct computational schemes do in fact have the same computational power. This thesis is a fundamental principle of computer science.
 
Most research in computer science has been related to [[von Neumann machine|von Neumann computer]]s or [[Turing machine]]s (computers that do one small, deterministic task at a time). These models resemble most real computers in use today. Computer scientists also study other kinds of machines, some practical (like [[Parallel computers|parallel]] machines) and some theoretical (like [[Random computer|random]], [[Oracle (computer science)|oracle]], and [[Quantum computers|quantum]] machines).
 
Computer scientists study what programs can and cannot do (see [[computability]] and [[artificial intelligence]]), how programs should efficiently perform specific tasks (see [[algorithms]]), how programs should store and retrieve specific kinds of [[information]] (see [[data structures]] and [[data base]]s), and how programs and people should communicate with each other (see [[human-computer interaction]] and [[user interface]]s).
 
Computer science has roots in [[electrical engineering]], [[mathematics]] and [[linguistics]]. In the last third of the [[20th century]] computer science has become recognized as a distinct discipline and has developed its own methods and terminology.
 
The first computer science department in the [[United States]] was founded at [[Purdue University]] in [[1962]]. The [[University of Cambridge]] in [[England]], among others, taught CS prior to this, however at the time, CS was seen as a branch of [[mathematics]], and not a separate department. Cambridge claims to have the world's oldest taught qualification in computing. Most universities today have specific departments devoted to computer science.
 
The highest honor in computer science is the [[Turing Award]].
 
== Related fields ==
 
Computer science is closely related to a number of fields. These fields overlap considerably, though important differences exist
 
* [[Information science]] is the study of data and information, including how to interpret, analyze, store, and retrieve it. Information science started as the foundation of scientific analysis of [[communication]] and [[database]]s.
* [[Computer programming]] or [[software development]] is the act of writing program code.
* [[Lexicography]] and [[specialized lexicography]] focus on the study of lexicographic reference works and include the study of electronic and Internet-based dictionaries.
* [[Linguistics]] is the study of [[language]]s, converging with computer science in such areas as [[programming language]] design and [[natural language processing]].
* [[Software engineering]] emphasizes analysis, design, construction, and testing of useful software. Software engineering includes development methodologies (such as the [[waterfall model]] and [[extreme programming]]) and [[project management]].
* [[Information systems]] (IS) is the application of computing to support the operations of an organization: operating, installing, and maintaining the computers, software, and data.
** [[Management information systems]] (MIS) is a subfield of information systems, that emphasizes financial and personnel management.
* [[Mathematics]] shares many techniques and topics with computer science, but is more general. In some sense, CS is the mathematics of computing.
* [[Logic]] is a formal system of reasoning, and studies principles that lay at the very basis of computing/reasoning machines, whether it be the hardware (digital logic) or software (verification, AI etc.) levels. The subfield of logic called [[computability logic]] provides a systematic answer to the fundamental questions about what can be computed and how.
* [[Computer engineering]] is the analysis, design, and construction of computer hardware.
* [[Information security]] is the analysis and implementation of [[information system]] security, including [[cryptography]].
 
== Major fields of importance for computer science ==
 
=== Mathematical foundations ===
* [[Boolean algebra]]
* [[Discrete mathematics]]
* [[Graph theory]]
* [[Information theory]]
* [[Symbolic logic]]
* [[Probability]] and [[Statistics]]
 
=== Theoretical computer science ===
* [[Algorithmic information theory]]
* [[Computability theory]]
* [[Cryptography]]
* [[Formal semantics]]
* [[Computation|Theory of computation]] (or ''theoretical computer science'')
** analysis of [[algorithm]]s and problem [[Computational complexity theory|complexity]]
** logics and meanings of programs
** [[Mathematical logic]] and [[Formal language]]s
* [[Type theory]]
 
=== Hardware ===
(see also [[electrical engineering]])
* [[Control structures]] and [[Microprogram]]ming
* [[Arithmetic]] and [[data structures|Logic structures]]
* [[Computer storage|Memory]] structures
* [[input/output]] and [[Communications|Data communications]]
* [[Logic]] Design
* [[Integrated circuits]]
** [[Very-large-scale integration|VLSI design]]
* [[Performance tuning|Performance]] and reliability
 
=== Computer systems organization ===
(see also [[electrical engineering]])
* [[Computer architecture]]
* [[Computer network]]s
** [[Distributed computing]]
* [[Performance tuning|Performance of systems]]
* [[Computer system]] implementation
 
=== Software ===
* [[Computer program]] and [[Computer programming]]
** [[Parallel Programming]]
** [[Program specification]]
** [[Program verification]]
* [[Computer programming|Programming techniques]]
* [[Software engineering]]
** [[Software optimization|Optimization]]
** [[Software metric]]s
** [[Configuration management]] and Software Configuration Management ([[SCM]])
** [[Structured programming]]
** [[Object-oriented programming|Object orientation]]
** [[Design pattern (computer science)|Design patterns]]
** [[Software Documentation|Documentation]]
* [[Programming language]]s
* [[Operating Systems]]
* [[Compiler]]s
** [[Lexical analysis]]
** [[Parsing]]
 
=== Data and information systems ===
* [[Data structure]]s
* Data storage representations
* Data [[encryption]]
* [[Data compression]]
* [[Data recovery]]
* [[Computer programming|Coding]] and [[Information theory]]
* [[Computer file|Files]]
** [[File format]]s
* [[Information systems]]
** [[Database]]s
** [[Memory|Information Storage]] and [[Information retrieval|retrieval]]
** Information Interfaces and Presentation
 
=== Computing methodologies ===
* [[Algebra|Symbolic and Algebraic manipulation]]
* [[Artificial intelligence]]
* [[Computer graphics]]
* [[Image processing]] and [[computer vision]]
* [[Pattern recognition]]
** [[Speech recognition]]
* [[Simulation]] and [[Modeling]]
* [[Document]] and [[Word processing|text processing]]
* [[Digital signal processing]]
 
=== Computer applications ===
* Administrative data processing
** [[Enterprise resource planning]]
** [[Customer relationship management]]
* Mathematical software
** [[Numerical analysis]]
** [[Automated theorem proving]]
** [[Computer algebra system]]s
* [[Physical science]] and [[Engineering]]
** [[Computational chemistry]]
** [[Computational physics]]
* [[Biology|Life]] and [[Medicine|medical sciences]]
** [[Bioinformatics]]
** [[Computational Biology]]
** [[Medical informatics]]
* [[Social sciences|Social]] and [[Behavioral science|behavioral sciences]]
* [[Arts]] and [[Humanities]]
* [[Computer-aided engineering]]
* [[Robotics]]
* [[Human-computer interaction]]
** [[Speech synthesis]]
** [[Usability engineering]]
 
=== [[Computing]] milieux ===
* [[Computer industry]]
* [[History of computing hardware]]
* [[Computers and education]]
* [[Computers and society]]
** [[Computer supported cooperative work]]
* [[Legal aspects of computing]]
** [[Free software]] and [[Open Source]]
* Management of computing and [[Information systems]]
* [[Personal computing]]
* [[Computer security|Computer]] and [[information security]]
 
== History ==
* [[History of computing]]
* [[List of computer term etymologies|Origins of computer terms]]
* [[Early programming projects]]
* [[Computer science departments]]
* [[Timeline of algorithms]]
 
== Prominent pioneers in computer science ==
* [[Charles Babbage]], Designed and built a prototype for a [[difference engine|mechanical calculator]]; designed, but never built, the more powerful [[analytical engine|Analytical Engine]].
* [[John Backus]] Invention of [[FORTRAN]] ('''For'''mula '''Tran'''slation), the first practical high-level programming language and the [[Backus-Naur form]] for describing formal language [[syntax]].
* [[James W. Cooley]] and [[John W. Tukey]] The [[Cooley-Tukey FFT algorithm|Fast Fourier Transform]] and its impact on scientific research.
* [[Ole-Johan Dahl]] and [[Kristen Nygaard]], inventors of the proto-object oriented language [[SIMULA]].
* [[Edsger Dijkstra]] for algorithms, [[Goto|Goto considered harmful]], [[rigor]], and pedagogy.
* [[Tony Hoare|C.A.R Hoare]] for the development of the formal language [[Communicating Sequential Processes]] (CSP) and [[Quicksort]].
* Admiral [[Grace Hopper|Grace Murray Hopper]], for doing pioneer work in the 1940s, one of the first to recognize the necessity for higher level programming languages, or what she termed ''automatic programming''. She wrote the A-O [[compiler]]. Her ideas heavily influenced the [[COBOL]] language.
* [[Kenneth Iverson]] Inventor of [[APL programming language|APL]], for his contribution to interactive computing.
* [[William Kahan]] for the IEEE [[floating-point]] standard. (Perhaps this reference should be moved to hardware engineering.)
* [[Donald Knuth]] for ''[[The Art of Computer Programming]]'' series.
* [[Ada Lovelace]], contemporary of Charles Babbage, famous for her ''Sketch of the Analytical Engine'', an analysis of Babbage's work; the namesake for the modern computer language, [[Ada programming language|Ada]].
* [[John von Neumann]] for devising the [[von Neumann architecture]] upon which most modern computers are based.
* [[Claude E. Shannon]] for [[information theory]].
* [[Alan Turing]] for [[computability theory]], pioneering work in the field of [[Artificial Intelligence]], and for the design of the Pilot ACE.
* [[Maurice Wilkes]] for building the first practical [[stored program]] computer to be completed, and credited with the ideas of several high-level programming language constructs.
* [[James H. Wilkinson]] The technique of "backward error analysis" and advances in the field of [[matrix computations]]. Wilkinson was also a principal mover in the development of the [[Pilot ACE]], the first British computer, in the late [[1940s]]. (See more on Wilkinson in the MacTutor Biographies.)
* [[Konrad Zuse]] Builder of a binary computer in the [[1930s]], for which he allegedly devised a theoretical high level programming language, [[Plankalkül]].
 
See [[list of computer scientists]] for many more notables.
 
== See also ==
 
* [[Computer science basic topics]]
* [[Computer science topics]], a more extensive list
* [[Computing]]
* [[List of computing topics]]
* [[History of computing]]
* [[History of computing hardware]]
* [[Turing Award]] ([[Association for Computing Machinery|ACM]])
* [[IEEE John von Neumann Medal]]
* [[Computer jargon]]
* [[Jargon file|Computer slang]]
* [[Computing analogies]]
* [[Internet]]
* [[Multimedia]]
* [[Data acquisition]]
* [[Benchmark]]
* [[Sensor network]]
* [[Online computations and algorithms]]
* [[Computer numbering formats]]
* [[List of important publications in computer science]]
 
== External links ==
*[http://www.mills.edu/ACAD_INFO/MCS/SPERTUS/Gender/gender.html ''Women and Computer Science'' by Ellen Spertus]
*[http://www.dmoz.org/Computers/Computer_Science/ Open Directory Project: Computer Science]
 
[[Category:Computation]]
[[Category:Computer science]]
 
[[af:Rekenaarwetenskap]]
[[ar:علم الحاسبات]]
[[bg:Информатика]]
[[ca:Informàtica]]
[[cs:Počítačová věda]]
[[da:Datalogi]]
[[de:Informatik]]
[[el:Πληροφορική]]
[[es:Informática/Computación]]
[[eo:Komputiko]]
[[et:Informaatika]]
[[fr:Informatique]]
[[fy:Ynformatika]]
[[ko:컴퓨터 과학]]
[[hr:Računarstvo]]
[[id:Ilmu Komputer]]
[[it:Informatica]]
[[ia:Informatica]]
[[hu:Számítástechnika]]
[[ml:കംപ്യുട്ടര്‍ ശാസ്ത്രം]]
[[nl:Informatica]]
[[ja:情報工学]]
[[no:Datavitenskap]]
[[pl:Informatyka (technika)]]
[[pt:Ciência da Computação]]
[[ro:Informatică]]
[[ru:Информатика]]
[[simple:Computer Science]]
[[sl:Računalništvo]]
[[sr:Рачунарство]]
[[fi:Tietojenkäsittelytiede]]
[[sv:Datavetenskap]]
[[th:วิทยาการคอมพิวเตอร์]]
[[tr:Bilgisayar Mühendisliği]]
[[uk:Інформатика]]
[[zh-cn:计算机科学]]
[[zh-tw:計算機科學]]