Computer science (or computing science) is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. Information as a concept has a diversity of meanings from everyday usage to technical settings Computation is a general term for any type of Information processing. A computer is a Machine that manipulates data according to a list of instructions. [1][2][3] Computer science has many sub-fields; some emphasize the computation of specific results (such as computer graphics), while others relate to properties of computational problems (such as computational complexity theory). Computer graphics are Graphics created by Computers and more generally the Representation and Manipulation of Pictorial Data In Theoretical computer science, a computational problem is a Mathematical object representing a question that Computers might want to solve Computational complexity theory, as a branch of the Theory of computation in Computer science, investigates the problems related to the amounts of resources 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. Programming language theory (commonly known as PLT) is a branch of Computer science that deals with the design implementation analysis characterization and classification A programming language is an Artificial language that can be used to write programs which control the behavior of a machine particularly a Computer. A further subfield, human-computer interaction, focuses on the challenges in making computers and computations useful, usable and universally accessible to people. Human–computer interaction or HCI is the study of interaction between people ( users and Computers It is often regarded as the intersection of In Economics, a public good is a good that is non-rivaled and non-excludable.
History
The early foundations of what would become computer science predate the invention of the modern digital computer. The history of computer science began long before the modern discipline of Computer science that emerged in the twentieth century A computer is a Machine that manipulates data according to a list of instructions. Machines for calculating fixed numerical tasks, such as the abacus, have existed since antiquity. An abacus, also called a counting frame, is a calculating tool used primarily by Asians for performing arithmetic processes Wilhelm Schickard built the first mechanical calculator in 1623. Wilhelm Schickard ( April 22 1592 &ndash October 24 1635) was a German Polymath who built one of the first Calculating machines [4] Charles Babbage designed a difference engine in Victorian times (between 1837 and 1901)[5] helped by Ada Lovelace. The Difference Engine was an automatic mechanical calculator designed to tabulate polynomial functions. Culture The Victorian fascination with novelty resulted in a deep interest in the relationship between modernity and cultural continuities Augusta Ada King Countess of Lovelace (10 December 1815 London England &ndash 27 November 1852 Marylebone, London England born Augusta Ada Byron, was the only [6] Around 1900, the IBM corporation sold punch-card machines. International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology [7] However, all of these machines were constrained to perform a single task, or at best some subset of all possible tasks.
During the 1940s, as newer and more powerful computing machines were developed, the term computer came to refer to the machines rather than their human predecessors. As it became clear that computers could be used for more than just mathematical calculations, the field of computer science broadened to study computation in general. Computation is a general term for any type of Information processing. Computer science began to be established as a distinct academic discipline in the 1960s, with the creation of the first computer science departments and degree programs. [8] Since practical computers became available, many applications of computing have become distinct areas of study in their own right.
Many initially believed it impossible that "computers themselves could actually be a scientific field of study" (Levy 1984, p. 11), though it was in the "late fifties" (Levy 1984, p. 11) that it gradually became accepted among the greater academic population. It is the now well-known IBM brand that formed part of the computer science revolution during this time. IBM (short for International Business Machines) released the IBM 704 and later the IBM 709 computers, which were widely used during the exploration period of such devices. "Still, working with the IBM [computer] was frustrating. . . if you had misplaced as much as one letter in one instruction, the program would crash, and you would have to start the whole process over again" (Levy 1984, p. 13). During the late 1950s, the computer science discipline was very much in its developmental stages, and such issues were commonplace.
Time has seen significant improvements in the useability and effectiveness of computer science technology. Modern society has seen a significant shift from computers being used solely by experts or professionals to a more widespread user base. By the 1990s, computers became accepted as being the norm within everyday life. During this time data entry was a primary component of the use of computers, many preferring to streamline their business practices through the use of a computer. This also gave the additional benefit of removing the need of large amounts of documentation and file records which consumed much-needed physical space within offices.
Major achievements

German military used the
Enigma machine during
World War II for communication they thought to be secret.
The Enigma machine is any one of a family of related electro-mechanical Rotor machines used to generate Ciphers for the Encryption and decryption of World War II, or the Second World War, (often abbreviated WWII) was a global military conflict which involved a majority of the world's nations, including The large-scale decryption of Enigma traffic at
Bletchley Park was an important factor that contributed to Allied victory in WWII.
Bletchley Park, also known as Station X, is an estate located in the town of Bletchley, in Buckinghamshire, and (since 1967 part of Milton Keynes [9]Despite its relatively short history as a formal academic discipline, computer science has made a number of fundamental contributions to science and society. Science (from the Latin scientia, meaning " Knowledge " or "knowing" is the effort to discover, and increase human understanding A society is a Population of Humans characterized by patterns of relationships between individuals that share a distinctive Culture and Institutions These include:
- Applications within computer science
- A formal definition of computation and computability, and proof that there are computationally unsolvable and intractable problems. Computation is a general term for any type of Information processing. In computability theory, the halting problem is a Decision problem which can be stated as follows given a description of a program and a finite input Computational complexity theory, as a branch of the Theory of computation in Computer science, investigates the problems related to the amounts of resources [10]
- The concept of a programming language, a tool for the precise expression of methodological information at various levels of abstraction. A programming language is an Artificial language that can be used to write programs which control the behavior of a machine particularly a Computer. [11]
- Applications outside of computing
- Sparked the Digital Revolution which led to the current Information Age and the Internet. This article presents a Timeline of events in the history of Computing from 1990 to the present Information Age is a term that has been used to refer to the present era The Internet is a global system of interconnected Computer networks [12]
- In cryptography, breaking the Enigma machine was an important factor contributing to the Allied victory in World War II. Cryptography (or cryptology; from Greek grc κρυπτός kryptos, "hidden secret" and grc γράφω gráphō, "I write" The Enigma machines were a family of portable Cipher machines [9]
- Scientific computing enabled advanced study of the mind and mapping the human genome was possible with Human Genome Project. Computational science (or scientific computing) is the field of study concerned with constructing Mathematical models and numerical solution techniques and using computers The Human Genome Project (HGP was an international Scientific research project with a primary goal to determine the sequence of chemical base pairs which make up DNA [12] Distributed computing projects like Folding@home explore protein folding. Distributed computing deals with Hardware and Software Systems containing more than one processing element or Storage element concurrent Folding@home (sometimes abbreviated as FAH or F@h) is a Distributed computing (DC project designed to perform computationally intensive simulations Protein folding is the physical process by which a Polypeptide folds into its characteristic and functional three-dimensional structure.
- Algorithmic trading has increased the efficiency and liquidity of financial markets by using artificial intelligence, machine learning and other statistical/numerical techniques on a large scale. In electronic financial markets, algorithmic trading or automated trading, also known as algo trading, black-box trading, or robo trading Economic efficiency is used to refer to a number of related concepts Market liquidity is a Business, Economics or Investment term that refers to an Asset 's ability to be easily converted through an act of buying Machine learning is a subfield of Artificial intelligence that is concerned with the design and development of Algorithms and techniques that allow computers to "learn" Statistics is a mathematical science pertaining to the collection analysis interpretation or explanation and presentation of Data. Numerical analysis is the study of Algorithms for the problems of continuous mathematics (as distinguished from Discrete mathematics) [13]
Relationship with other fields
Despite its name, a significant amount of computer science does not involve the study of computers themselves. Because of this, several alternative names have been proposed. Danish scientist Peter Naur suggested the term datalogy, to reflect the fact that the scientific discipline revolves around data and data treatment, while not necessarily involving computers. Peter Naur (born October 25, 1928) is a Danish pioneer in Computer science and Turing award winner The first scientific institution to use the term was the Department of Datalogy at the University of Copenhagen, founded in 1969, with Peter Naur being the first professor in datalogy. The term is used mainly in the Scandinavian countries. Also, in the early days of computing, a number of terms for the practitioners of the field of computing were suggested in the Communications of the ACM—turingineer, turologist, flow-charts-man, applied meta-mathematician, and applied epistemologist. [14] Three months later in the same journal, comptologist was suggested, followed next year by hypologist. [15] Recently the term computics has been suggested. [16] Informatik was a term used in Europe with more frequency.
The renowned computer scientist Edsger Dijkstra stated, "Computer science is no more about computers than astronomy is about telescopes. Edsger Wybe Dijkstra ( May 11, 1930 &ndash August 6, 2002; ˈɛtsxər ˈwibə ˈdɛɪkstra was a Dutch computer scientist " The design and deployment of computers and computer systems is generally considered the province of disciplines other than computer science. For example, the study of computer hardware is usually considered part of computer engineering, while the study of commercial computer systems and their deployment is often called information technology or information systems. Typical PC hardware A typical Personal computer consists of a case or chassis in a tower shape (desktop and the following parts Motherboard Computer engineering (or Computer Systems Engineering) encompasses broad areas of both Electrical engineering and Computer science. A computer is a Machine that manipulates data according to a list of instructions. Information technology ( IT) as defined by the Information Technology Association of America (ITAA is "the study design development implementation support The term information system (IS sometimes refers to a System of persons Data records and activities that process the data and Information in an organization Computer science is sometimes criticized as being insufficiently scientific, a view espoused in the statement "Science is to computer science as hydrodynamics is to plumbing", credited to Stan Kelly-Bootle[17] and others. Stan Kelly-Bootle (born 1929 in Liverpool) is a prolific Author (nine books numerous magazine articles and songwriter (his folk songs have been performed However, there has been much cross-fertilization of ideas between the various computer-related disciplines. Computer science research has also often crossed into other disciplines, such as cognitive science, economics, mathematics, physics (see quantum computing), and linguistics. Cognitive science may be broadly defined as the multidisciplinary study of mind and behavior Economics is the social science that studies the production distribution, and consumption of goods and services. Mathematics is the body of Knowledge and Academic discipline that studies such concepts as Quantity, Structure, Space and Physics (Greek Physis - φύσις in everyday terms is the Science of Matter and its motion. A quantum computer is a device for Computation that makes direct use of distinctively Quantum mechanical Phenomena, such as superposition Linguistics is the scientific study of Language, encompassing a number of sub-fields
Computer science is considered by some to have a much closer relationship with mathematics than many scientific disciplines. Mathematics is the body of Knowledge and Academic discipline that studies such concepts as Quantity, Structure, Space and [8] Early computer science was strongly influenced by the work of mathematicians such as Kurt Gödel and Alan Turing, and there continues to be a useful interchange of ideas between the two fields in areas such as mathematical logic, category theory, domain theory, and algebra. Kurt Gödel (kʊɐ̯t ˈgøːdl̩ (April 28 1906 – January 14 1978 was an Austrian American Logician, Mathematician and Philosopher Alan Mathison Turing, OBE, FRS (ˈt(jʊ(ərɪŋ (23 June 1912 &ndash 7 June 1954 was an English Mathematician Mathematical logic is a subfield of Logic and Mathematics with close connections to Computer science and Philosophical logic. In Mathematics, category theory deals in an abstract way with mathematical Structures and relationships between them it abstracts from sets Domain theory is a branch of Mathematics that studies special kinds of Partially ordered sets (posets commonly called domains. Algebra is a branch of Mathematics concerning the study of structure, relation, and Quantity.
The relationship between computer science and software engineering is a contentious issue, which is further muddied by disputes over what the term "software engineering" means, and how computer science is defined. Software engineering is the application of a systematic disciplined quantifiable approach to the development operation and maintenance of Software. Many debates are raging within the Software engineering community David Parnas, taking a cue from the relationship between other engineering and science disciplines, has claimed that the principal focus of computer science is studying the properties of computation in general, while the principal focus of software engineering is the design of specific computations to achieve practical goals, making the two separate but complementary disciplines. David Lorge Parnas (born February 10, 1941) is an early pioneer of Software engineering who developed the concept of module design which is the foundation [18]
The academic, political, and funding aspects of computer science tend to have roots as to whether a department in the U. S. formed with either a mathematical emphasis or an engineering emphasis. In general, electrical engineering-based computer science departments have tended to succeed as computer science and/or engineering departments. Computer science departments with a mathematics emphasis and with a numerical orientation consider alignment computational science. Computational science (or scientific computing) is the field of study concerned with constructing Mathematical models and numerical solution techniques and using computers Both types of departments tend to make efforts to bridge the field educationally if not across all research.
Fields of computer science
Computer science searches for concepts and formal proofs to explain and describe computational systems of interest. see also Mathematical proof, Proof theory, and Axiomatic system. As with all sciences, these theories can then be utilised to synthesize practical engineering applications, which in turn may suggest new systems to be studied and analysed. While the ACM Computing Classification System can be used to split computer science up into different topics of fields, a more descriptive breakdown follows:
Mathematical foundations
- Mathematical logic
- Boolean logic and other ways of modeling logical queries; the uses and limitations of formal proof methods. The ACM Computing Classification System is a subject classification system for Computer science devised by the Association for Computing Machinery. Mathematical logic is a subfield of Logic and Mathematics with close connections to Computer science and Philosophical logic.
- Number theory
- Theory of proofs and heuristics for finding proofs in the simple domain of integers. Number theory is the branch of Pure mathematics concerned with the properties of Numbers in general and Integers in particular as well as the wider classes Used in cryptography as well as a test domain in artificial intelligence. Cryptography (or cryptology; from Greek grc κρυπτός kryptos, "hidden secret" and grc γράφω gráphō, "I write"
- Graph theory
- Foundations for data structures and searching algorithms. In Mathematics and Computer science, graph theory is the study of graphs: mathematical structures used to model pairwise relations between objects
- Type theory
- Formal analysis of the types of data, and the use of these types to understand properties of programs, especially program safety. In Mathematics, Logic and Computer science, type theory is any of several Formal systems that can serve as alternatives to Naive set theory
- Category theory
- Category theory provides a means of capturing all of math and computation in a single synthesis. In Mathematics, category theory deals in an abstract way with mathematical Structures and relationships between them it abstracts from sets
- Computational geometry
- The study of algorithms to solve problems stated in terms of geometry. Computational geometry is a branch of Computer science devoted to the study of algorithms which can be stated in terms of Geometry. In Mathematics, Computing, Linguistics and related subjects an algorithm is a sequence of finite instructions often used for Calculation Geometry ( Greek γεωμετρία; geo = earth metria = measure is a part of Mathematics concerned with questions of size shape and relative position
- Numerical analysis
- Foundations for algorithms in discrete mathematics, as well as the study of the limitations of floating point computation, including round-off errors. Numerical analysis is the study of Algorithms for the problems of continuous mathematics (as distinguished from Discrete mathematics) For the acrobatic movement roundoff see Roundoff. A round-off error, also called rounding error, is the difference between the
Theory of computation
- Automata theory
- Different logical structures for solving problems. The theory of computation is the branch of Computer science that deals with whether and how efficiently problems can be solved on a Model of computation, using an
- Computability theory
- What is calculable with the current models of computers. In Computer science, computability theory is the branch of the Theory of computation that studies which problems are computationally solvable using different Proofs developed by Alan Turing and others provide insight into the possibilities of what can be computed and what cannot. Alan Mathison Turing, OBE, FRS (ˈt(jʊ(ərɪŋ (23 June 1912 &ndash 7 June 1954 was an English Mathematician
- Computational complexity theory
- Fundamental bounds (especially time and storage space) on classes of computations. Computational complexity theory, as a branch of the Theory of computation in Computer science, investigates the problems related to the amounts of resources
- Quantum computing theory
- Representation and manipulation of data using the quantum properties of particles and quantum mechanism. A quantum computer is a device for Computation that makes direct use of distinctively Quantum mechanical Phenomena, such as superposition
Algorithms and data structures
- Analysis of algorithms
- Time and space complexity of algorithms. To analyze an Algorithm is to determine the amount of resources (such as time and storage necessary to execute it
- Algorithms
- Formal logical processes used for computation, and the efficiency of these processes. In Mathematics, Computing, Linguistics and related subjects an algorithm is a sequence of finite instructions often used for Calculation
- Data structures
- The organization of and rules for the manipulation of data. A data structure in Computer science is a way of storing Data in a computer so that it can be used efficiently
Programming languages and compilers
- Compilers
- Ways of translating computer programs, usually from higher level languages to lower level ones. A compiler is a Computer program (or set of programs that translates text written in a computer language (the source language) into another In computing a high-level programming language is a Programming language with strong abstraction from the details of the computer In Computer science, a low-level programming language is a language that provides little or no abstraction from a computer's microprocessor.
- Interpreters
- A program that takes in as input a computer program and executes it. In Computer science, an interpreter normally means a Computer program that executes, i
- Programming languages
- Formal language paradigms for expressing algorithms, and the properties of these languages (e. A programming language is an Artificial language that can be used to write programs which control the behavior of a machine particularly a Computer. g. , what problems they are suited to solve).
Concurrent, parallel, and distributed systems
- Concurrency
- The theory and practice of simultaneous computation; data safety in any multitasking or multithreaded environment. In Computer science, concurrency is a properties of system in which several Computational processes are executing at the same time and potentially interacting
- Distributed computing
- Computing using multiple computing devices over a network to accomplish a common objective or task and thereby reducing the latency involved in single processor contributions for any task. Distributed computing deals with Hardware and Software Systems containing more than one processing element or Storage element concurrent
- Parallel computing
- Computing using multiple concurrent threads of execution. Parallel computing is a form of computation in which many instructions are carried out simultaneously operating on the principle that large problems can often
Software engineering
- Algorithm design
- Using ideas from algorithm theory to creatively design solutions to real tasks
- Computer programming
- The practice of using a programming language to implement algorithms
- Formal methods
- Mathematical approaches for describing and reasoning about software designs. Algorithm design is a specific method to create a mathematical process in solving problems In Computer science and Software engineering, formal methods are particular kind of Mathematically -based techniques for the specification, development
- Reverse engineering
- The application of the scientific method to the understanding of arbitrary existing software
- Software development
- The principles and practice of designing, developing, and testing programs, as well as proper engineering practices. Reverse engineering (RE is the process of discovering the technological principles of a device object or system through analysis of its structure function and operation Software development is the translation of a user need or marketing goal into a Software product
System architecture
- Computer architecture
- The design, organization, optimization and verification of a computer system, mostly about CPUs and memory subsystems (and the bus connecting them). In Computer engineering, computer architecture is the conceptual design and fundamental operational structure of a Computer system Computer data storage, often called storage or memory, refers to Computer components devices and recording media that retain digital
- Computer organization
- The implementation of computer architectures, in terms of descriptions of their specific electrical circuitry
- Operating systems
- Systems for managing computer programs and providing the basis of a useable system. In Computer engineering, microarchitecture (sometime abbreviated to µarch or uarch is a description of the Electrical circuitry of a Computer, Central An electrical network is an interconnection of Electrical elements such as Resistors Inductors Capacitors Transmission lines Voltage An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination
Communications
- Computer audio
- Algorithms and data structures for the creation, manipulation, storage, and transmission of digital audio recordings. Computer music is a term that was originally used within academia to describe a field of study relating to the applications of Computing technology in music composition Digital audio uses Digital signals for Sound reproduction. This includes analog-to-digital conversion, digital-to-analog conversion, storage Also important in voice recognition applications. Voice recognition redirects here For software that converts speech to text see Speech recognition.
- Networking
- Algorithms and protocols for communicating data across different shared or dedicated media, often including error correction. Computer networking is the Engineering Discipline concerned with communication between Computer systems or devices Networking routers In Mathematics, Computer science, Telecommunication, and Information theory, error detection and correction has great practical importance in
- Cryptography
- Applies results from complexity, probability and number theory to invent and break codes. Cryptography (or cryptology; from Greek grc κρυπτός kryptos, "hidden secret" and grc γράφω gráphō, "I write"
Databases
- Data mining
- Data mining is the extraction of relevant data from all sources of data. Data mining is the process of Sorting through large amounts of data and picking out relevant information
- Relational databases
- Study of algorithms for searching and processing information in documents and databases; closely related to information retrieval. A relational database is a Database that groups data using common attributes found in the data set Information retrieval ( IR) is the science of searching for documents for Information within documents and for metadata about documents as well as that
- OLAP
- Online Analytical Processing, or OLAP, is an approach to quickly provide answers to analytical queries that are multi-dimensional in nature. Online Analytical Processing or OLAP (ˈoʊlæp is an approach to quickly provide answers to analytical queries that are multi-dimensional in nature OLAP is part of the broader category business intelligence, which also encompasses relational reporting and data mining. Business intelligence ( BI) refers to technologies applications and practices for the collection integration analysis and presentation of business Information and
Artificial intelligence
- Artificial intelligence
- The implementation and study of systems that exhibit an autonomous intelligence or behaviour of their own.
- Artificial life
- The study of digital organisms to learn about biological systems and evolution. Artificial life (commonly Alife or alife) is a field of study and an associated art form which examine Systems related to Life, its processes
- Automated reasoning
- Solving engines, such as used in Prolog, which produce steps to a result given a query on a fact and rule database. Automated reasoning is an area of Computer science dedicated to understanding different aspects of Reasoning in a way that allows the creation of software which allows Prolog is a Logic programming language It is a general purpose language often associated with Artificial intelligence and Computational linguistics
- Computer vision
- Algorithms for identifying three dimensional objects from one or more two dimensional pictures. Computer vision is the science and technology of machines that see
- Machine learning
- Automated creation of a set of rules and axioms based on input. Machine learning is a subfield of Artificial intelligence that is concerned with the design and development of Algorithms and techniques that allow computers to "learn"
- Natural language processing/Computational linguistics
- Automated understanding and generation of human language
- Robotics
- Algorithms for controlling the behavior of robots. Natural language processing ( NLP) is a subfield of Artificial intelligence and Computational linguistics. Computational linguistics is an Interdisciplinary field dealing with the statistical and/or rule-based modeling of Natural language from a computational See also Robot Robotics is the science and technology of Robots and their design manufacture and application
Visual rendering (or Computer graphics)
- Computer graphics
- Algorithms both for generating visual images synthetically, and for integrating or altering visual and spatial information sampled from the real world. Computer graphics are Graphics created by Computers and more generally the Representation and Manipulation of Pictorial Data
- Image processing
- Determining information from an image through computation. Image processing is any form of Signal processing for which the input is an image such as photographs or frames of video the output of image processing can be either an image
Human-Computer Interaction
- Human computer interaction
- The study of making computers and computations useful, usable and universally accessible to people, including the study and design of computer interfaces through which people use computers. Human–computer interaction or HCI is the study of interaction between people ( users and Computers It is often regarded as the intersection of Users in a Computing context refers to one who uses a computer system
Scientific computing
- Bioinformatics
- The use of computer science to maintain, analyse, and store biological data, and to assist in solving biological problems such as protein folding, function prediction and phylogeny. Bioinformatics is the application of information technology to the field of molecular biology Biological data is Data or Measurements collected from biological sources which is stored or exchanged in a digital form Protein folding is the physical process by which a Polypeptide folds into its characteristic and functional three-dimensional structure.
- Cognitive Science
- Computational modelling of real minds
- Computational chemistry
- Computational modelling of theoretical chemistry in order to determine chemical structures and properties
- Computational neuroscience
- Computational modelling of real brains
- Computational physics
- Numerical simulations of large non-analytic systems
- Numerical algorithms
- Algorithms for the numerical solution of mathematical problems such as root-finding, integration, the solution of ordinary differential equations and the approximation/evaluation of special functions. Cognitive science may be broadly defined as the multidisciplinary study of mind and behavior Computational chemistry is a branch of Chemistry that uses computers to assist in solving chemical problems Computational neuroscience is an interdisciplinary science that links the diverse fields of Neuroscience, Cognitive science, Electrical engineering, Computational physics is the study and implementation of numerical Algorithms in order to solve problems in Physics for which a quantitative theory already exists Numerical analysis is the study of Algorithms for the problems of continuous mathematics (as distinguished from Discrete mathematics) A root-finding algorithm is a numerical method or Algorithm, for finding a value x such that f ( x) = 0 for a given function In Numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite Integral, and by extension Numerical ordinary differential equations is the part of Numerical analysis which studies the numerical solution of ordinary differential equations (ODEs Special functions are particular mathematical functions which have more or less established names and notations due to their importance for the Mathematical analysis
- Symbolic mathematics
- Manipulation and solution of expressions in symbolic form, also known as Computer algebra. Symbolic computation, algebraic computation, or less commonly symbolic manipulation, symbolic processing, symbolic mathematics, or symbolic A computer algebra system ( CAS) is a software program that facilitates Symbolic mathematics.
Didactics of computer science/informatics
The subfield didactics of computer science focuses on cognitive approaches of developing competencies of computer science and specific strategies for analysis, design, implementation and evaluation of excellent lessons in computer science. Didactics of computer science (didactics of informatics is a sub-field of Computer science ( Informatics)
Computer science education
Some universities teach computer science as a theoretical study of computation and algorithmic reasoning. These programs often feature the theory of computation, analysis of algorithms, formal methods, concurrency theory, databases, computer graphics and systems analysis, among others. The theory of computation is the branch of Computer science that deals with whether and how efficiently problems can be solved on a Model of computation, using an To analyze an Algorithm is to determine the amount of resources (such as time and storage necessary to execute it In Computer science and Software engineering, formal methods are particular kind of Mathematically -based techniques for the specification, development In Computer science, concurrency is a properties of system in which several Computational processes are executing at the same time and potentially interacting A Computer Database is a structured collection of records or data that is stored in a computer system Computer graphics are Graphics created by Computers and more generally the Representation and Manipulation of Pictorial Data Systems analysis is the Interdisciplinary part of Science, dealing with analysis of sets of interacting or entities the Systems often prior to their automation They typically also teach computer programming, but treat it as a vessel for the support of other fields of computer science rather than a central focus of high-level study.
Other colleges and universities, as well as secondary schools and vocational programs that teach computer science, emphasize the practice of advanced computer programming rather than the theory of algorithms and computation in their computer science curricula. Secondary school is a term used to describe an educational Institution where the final stage of compulsory schooling known as Secondary education, takes Such curricula tend to focus on those skills that are important to workers entering the software industry. The practical aspects of computer programming are often referred to as software engineering. Software engineering is the application of a systematic disciplined quantifiable approach to the development operation and maintenance of Software. However, there is a lot of disagreement over what the term "software engineering" actually means, and whether it is the same thing as programming. Many debates are raging within the Software engineering community
See also
- Main list: List of basic computer science topics
References
- ^ "Computer science is the study of information" Department of Computer and Information Science, Guttenberg Information Technologies
- ^ "Computer science is the study of computation. A computer scientist is a person that has acquired knowledge of Computer science, the study of the theoretical foundations of information and computation and their application The knowledge developed by academic Computer science (CS is applied to various non-academic situations to arrive at systems that help humans perform tasks that were either out of English is the Lingua franca in computing and on the Internet, and the computing vocabulary of many languages is borrowed from English Computing is usually defined like the activity of using and developing Computer technology Computer hardware and software. Informatics is the science of Information, the practice of Information processing, and the engineering of Information systems. This is a list of academic conferences in Computer science. Most of these Academic conferences are annual or bi-annual events This article presents a list of individuals who helped in the creation development and imagining of what Computers and Electronics could do Computability Computability An introduction This list complements the Software engineering article giving more details and examples This is a list of well-known computer scientists, people who do work in Computer science, in particular researchers and authors " Computer Science Department, College of Saint Benedict, Saint John's University
- ^ "Computer Science is the study of all aspects of computer systems, from the theoretical foundations to the very practical aspects of managing large software projects. " Massey University
- ^ Nigel Tout (2006). Calculator Timeline. Vintage Calculator Web Museum. Retrieved on 2006-09-18. Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 96 - Nerva is proclaimed Roman Emperor after Domitian is assassinated
- ^ Science Museum - Introduction to Babbage. Retrieved on 2006-09-24. Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 622 - Prophet Muhammad completes his hegira from Mecca to Medina.
- ^ A Selection and Adaptation From Ada's Notes found in "Ada, The Enchantress of Numbers," by Betty Alexandra Toole Ed.D. Strawberry Press, Mill Valley, CA. Retrieved on 2006-05-04. Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 1256 - The Augustinian monastic order is constituted at the Lecceto Monastery when Pope Alexander IV
- ^ IBM Punch Cards in the U.S. Army. Retrieved on 2006-09-24. Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 622 - Prophet Muhammad completes his hegira from Mecca to Medina.
- ^ a b Denning, P.J. (2000). Peter J Denning is a noted American Computer scientist. He is best known for inventing the working-set model for program behavior which defeated "Computer Science: The Discipline". Encyclopedia of Computer Science.
- ^ a b David Kahn, The Codebreakers, 1967, ISBN 0-684-83130-9. David Kahn (b February 7, 1930) is a US Historian, Journalist and Writer. David Kahn (b February 7, 1930) is a US Historian, Journalist and Writer.
- ^ Constable, R. L. (March 2000). "Computer Science: Achievements and Challenges circa 2000".
- ^ Abelson, H.; G. Harold (Hal Abelson is the Class of 1922 Professor of Electrical Engineering and Computer Science at MIT, a fellow of the IEEE, and serves on the J. Sussman with J. Sussman (1996). Structure and Interpretation of Computer Programs, 2nd Ed. , MIT Press. ISBN 0-262-01153-0. “The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology — the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. ”
- ^ a b http://www.cis.cornell.edu/Dean/Presentations/Slides/bgu.pdf
- ^ Black box traders are on the march The Telegraph, August 26, 2006
- ^ Communications of the ACM 1(4):p. 6
- ^ Communications of the ACM 2(1):p. 4
- ^ IEEE Computer 28(12):p. 136
- ^ Computer Language, October 1990
- ^ Parnas, David L. (1998). David Lorge Parnas (born February 10, 1941) is an early pioneer of Software engineering who developed the concept of module design which is the foundation "Software Engineering Programmes are not Computer Science Programmes". Annals of Software Engineering 6: 19–37. doi:10.1023/A:1018949113292. A digital object identifier ( DOI) is a permanent identifier given to an Electronic document. , p. 19: "Rather than treat software engineering as a subfield of computer science, I treat it as an element of the set, {Civil Engineering, Mechanical Engineering, Chemical Engineering, Electrical Engineering, . . . . }. "
- Association for Computing Machinery. The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational Computing society 1998 ACM Computing Classification System. 1998.
- IEEE Computer Society and the Association for Computing Machinery. IEEE Computer Society is an organizational unit of the Institute of Electrical and Electronics Engineers (IEEE The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational Computing society Computing Curricula 2001: Computer Science. December 15, 2001.
- Peter J. Denning. Peter J Denning is a noted American Computer scientist. He is best known for inventing the working-set model for program behavior which defeated Is computer science science?, Communications of the ACM, April 2005.
- Levy, Steven (1984). Steven Levy (born 1951 is an American Journalist who has written several books on computers technology Cryptography, the Internet cybersecurity Hackers: Heroes of the Computer Revolution. Hackers Heroes of the Computer Revolution (ISBN 0-385-19195-2 is a Book by Steven Levy about the hacker culture. Doubleday. ISBN 0-385-19195-2.
- Donald E. Knuth. Donald Ervin Knuth (kəˈnuːθ (born 10 January 1938) is a renowned computer scientist and Professor Emeritus of the Art of Computer Selected Papers on Computer Science, CSLI Publications, Cambridge Univ. Press, 1996.
- Peter J. Denning, Great principles in computing curricula, Technical Symposium on Computer Science Education, 2004. Peter J Denning is a noted American Computer scientist. He is best known for inventing the working-set model for program behavior which defeated
External links
Webcasts
The Open Directory Project ( ODP) also known as dmoz (from directory Bertrand Meyer (born 1950 in France) is an academic author and consultant in the field of computer languagesDictionary
computer science
-noun
- The study of computers and their architecture, languages, and applications, in all aspects, as well as the mathematical structures that relate to computers and computation.
© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
network: | |