computer science

Disciplines
open 2 entries with the same name
Collection
zero Useful+1
zero
Computer Science, Research computer And various phenomena and law Science of Computer system structure , program system (i.e Software )、 artificial intelligence And the nature and problems of the calculation itself subject Computer science is a discipline that includes all kinds of information processing System discipline of related topics, from abstract algorithm analysis to formalization grammar And so on, to more specific topics such as programming languages Programming , software, and Hardware Etc. Computer science is divided into theoretical computer science and experimental computer science. The latter is often called "computer science" rather than "experiment". The former has other names, such as computational theory, computer theory, computer Fundamentals of Science Basic Mathematics in Computer Science. Mathematical literature generally refers to theoretical computer science.
Chinese name
computer science
Foreign name
Computer Science / CS
Category
Engineering
Disciplines
First level discipline

Development background

Announce
edit
Computer science emerged as an independent discipline in the early 1960s, although the electronic digital computer as its research object was invented about 20 years ago. The roots of computer science are mainly mathematics electrical engineering physics and management information systems Related areas. [4]
Computer science is a discipline that systematically studies the theoretical basis of information and computing, as well as the practical technology of how they are realized and applied in computer systems. It is usually described as the systematic research on the algorithm processing of creating, describing and transforming information. Computer science includes many branches; Some emphasize the calculation of specific results, such as computer graphics; Some discuss the nature of computational problems, such as computational complexity theory; Some other fields focus on how to realize computing. For example, programming language theory is to study the method of describing computing, while programming is to apply a specific programming language to solve a specific computing problem, and human-computer interaction is to focus on how to make computers and computing useful and easy to use, and to be used by people anytime and anywhere. [1]
Sometimes the public will mistake computer science for solving computer problems (such as information technology), or it is only related to the experience of using computers, such as playing games, surfing the Internet or word processing. In fact, computer science focuses not only on understanding the nature of programs that implement software such as games and browsers, but also on creating new programs or improving existing programs through existing knowledge. [1]

research field

Announce
edit
Computer is a kind of arithmetic and Logical operation And there are communication problems for the system connected by several computers, and object All are information, so we can say that computer science is research information processing Science. Computer science is divided into theoretical computer science and experimental computer science. Computer science in mathematical literature generally refers to theoretical computer science. Experimental computer science also includes research on opening up new applications of computers. [1]
Most research in computer science is based on "von Neumann computer" and "Turing machine", which are the calculations of most actual machines Model As the originator of this model, the Church Turing Thesis shows that despite the fact that efficiency There may be some differences, and existing computing devices have the same computing capacity. Although this theory is generally regarded as the basis of computer science scientist It also studies other kinds of machines, such as parallel computers on the practical level and probabilistic computers, oracle computers and quantum computer In this sense, computer is just a computing tool: the famous computer scientist Dijkstra has a famous saying that "computer science does not pay more attention to computers than astronomy It focuses on telescopes. ". [1]
As a discipline, computer science covers the theoretical research of algorithms and the limits of computation, to how to implement computing systems through hardware and software. CSAB (formerly called Computing Sciences Accreditation Board) Association for Computing Machinery (ACM) and IEEE Computer Society (IEEE-CS) has established four major fields of computer science: computing theory, algorithms and data structures, programming methods and languages, and computer elements and architectures. CSAB also established some other important fields, such as software engineering, artificial intelligence, computer network and communication, database system, parallel computing, distributed computing, human-computer interaction, machine translation, computer graphics, operating system, and numerical and symbolic computing. [1]

Theoretical computer

Generalized Theoretical Computer Science Including classical computing theory and other calculations focusing on more abstract, logical and mathematical aspects. [1]

Computational theory

according to Peter J. Denning The fundamental question of computer science is "What can be effectively automated?" Computational theory Our research is focused on answering the fundamental question of what can be calculated and how many resources are needed to implement these calculations. To try to answer the first question, Recursion theory Test in multiple theories computational model Which calculation problem is solvable in. and Computational complexity theory It is used to answer the second question and study the time and space consumption of solving a computing problem with different purposes. [1]
Famous“ P=NP? ”Question, The Challenge of the Millennium Award One is an open problem in computing theory.

Information coding theory

Information theory is related to information quantification Claude E. Shannon Created to find the fundamental limits of signal processing operations, such as compressed data and reliable data storage and communication. Coding theory is the study of codes and their specific application properties. Code is used for data compression, cryptography, forward error correction, and network coding. The purpose of studying coding is to design more efficient and reliable data transmission methods. [1]

algorithm

An algorithm is a well-defined calculation process. It takes one or a group of values as input and gets one or a group of outputs through a series of well-defined calculation processes. Algorithm is an important field of computer science research, and also the basis of many other computer science and technology. The algorithm mainly includes data structure Computational geometry graph theory Etc. In addition, the algorithm also includes many miscellaneous items, such as pattern matching , part number theory Etc. [1]

Programming theory

Programming language theory is a branch of computer science, mainly dealing with Programming language Design, implementation, analysis, description and classification of, as well as their individual characteristics. It belongs to computer science discipline, and is affected by both mathematics software engineering and linguistics It is recognized as a branch of computer science, but also an active research field. Research achievements have been published in many Academic journals , computer science and engineering publications. [1]

Formal method

Main entry: Formal method
The formal method is based on mathematics Technology for Software and Hardware Systematic Formal specification , development and Formal verification In terms of software and hardware design, the motivation for the use of formal methods, like other engineering disciplines, is the expectation that appropriate mathematical analysis will contribute to the reliability and robustness of the design. However, using formal methods will bring high costs, which means that they are usually only used in highly reliable systems security or security staff (security) is the most important. The best description of formal methods is various Theoretical Computer Science Application of basic categories, especially Computer logic Calculus, formal language automata Theory and Formal semantics , plus Type system Algebraic data type , and some problems in software and hardware specification and verification. [1]

Parallel computing distributed system

Concurrency is a property of systems, which can perform multiple calculations that may interact with each other at the same time. Some mathematical models, such as Petri net process calculus and PRAM model , is created for general concurrent computing. Distributed systems extend the idea of parallelism to multiple computers connected by networks. Computers in the same distributed system have their own private memory, and they often exchange information to achieve a common goal. [1]

Database and information retrieval

Databases are designed to make it easier to organize, store, and retrieve large amounts of data. The database is managed by the database management system through database model and query language To store, create, maintain, and search data. [1]

Applied Computer Science

Although the name of computer science includes the word "computer", in fact, a considerable number of fields of computer science do not involve the research of computer itself. Therefore, some new names were proposed. The departments of some key universities tend to use the term computing science to precisely emphasize the difference between the two. Danish scientist Peter Naur It is recommended to use the term "datalogy" to reflect the fact that science is about data and data processing, not necessarily computers. The first scientific institution to use this term is Datalogy College of Copenhagen University, which was founded in 1969. Peter Naur was the first professor. The term is mainly used in Nordic countries. At the beginning of the development of computing technology, ACM Communication suggested some terms for practitioners in the computing field: turinginer, turologist, flow charts man, applied meta mathematician and applied epidemiologist. Three months later, comptologist was proposed in the same journal, and the following year, it became a hygopologist. The term computing has also been proposed. In continental Europe, names originating from information and mathematics or automatic are more common than those originating from computer or computation, such as informationque (French), Informatik (German), informationka( Slavic languages )。 [1]
Famous computer scientist Edsger Dijkstra "Computer science is no more about computers than astronomy is about telescopes.". For example, research computer hardware Be regarded as Computer Engineering And for business computer system The research and deployment of is called information technology perhaps information system However, nowadays, more and more thoughts of various computer related disciplines are integrated. Computer science research also often intersects with other disciplines, such as Psychology cognitive science linguistics mathematics physics statistics and economics [1]
Computer science is considered to be more closely related to mathematics than other scientific disciplines. Some observers say that calculation is a mathematical science. Early computer science was greatly influenced by mathematical research achievements, such as Kurt Gödel and Alan Turing In some disciplines, such as mathematical logic Categorical theory Domain theory and Algebra There are also useful exchanges of ideas. [1]
Computer Science and software engineering The relationship between software engineering and computer science is a controversial topic. The subsequent debate about what is "software engineering" and how to define it in computer science has further confused the situation. David Parnas Inspired by the relationship between other engineering and scientific disciplines, it is claimed that the main focus of computer science is generally to study the nature of computing, while the main focus of software engineering is specific computing design to achieve practical purposes, thus forming two independent but complementary disciplines. [1]

artificial intelligence

Main item: artificial intelligence
This branch of computer science aims to create artificial systems that can solve computing problems and think and communicate like animals and humans. Whether in theory or application, researchers are required to have detailed and comprehensive expertise in multiple disciplines, such as applied mathematics logic Semiotics electrical engineering Spiritual philosophy Neurophysiology and Social intelligence , used to promote intelligent research, or applied to other disciplines requiring computational understanding and modeling, such as finance or Physical Science The field of artificial intelligence began to officially originate from Alan Turing This artificial intelligence pioneer proposed Turing test To answer such an ultimate question: "Can computers think?" [1]

MT

Main entry: MT
In 1947, the United States mathematician engineer Warren Weaver and Britain physical scientist Andrew Booth, an engineer, put forward the idea of computer translation (hereinafter referred to as "machine translation"). Since then, machine translation has entered the historical stage and gone through a long and tortuous road of development. Machine translation is listed as one of the world's top ten technologies in the 21st century difficult problem At the same time, machine translation technology also has a huge application demand. [1]
Machine translation has eliminated the barriers between different languages and languages, which can be called a high-tech move to benefit mankind. But machine translation quality It has been a problem for a long time and is far from the ideal goal. Chinese mathematician and linguist Zhou Haizhong The professor believes that it is impossible for machine translation to reach the level of "faithfulness, expressiveness and elegance" when humans have not yet understood how the brain conducts fuzzy recognition and logical judgment of language. I'm afraid this view points out the bottleneck that restricts the quality of translation. [2]

Computer Architecture and Engineering

Computer system structure, or digital computer organization, is the conceptual design and basic operational structure of a computer system. It mainly focuses on the internal execution of CPU and memory access address. This field often involves computer engineering and electronic engineering disciplines, selecting and interconnecting hardware components to create computers that meet functional, performance, and cost objectives. [1]

Computer Graphics and Vision

Main entry: computer graphics
Computer graphics is the study of the content of digital vision, involving the synthesis and operation of image data. It is closely related to many other fields of computer science, including computer vision , image processing and Computational geometry , which is also widely used in Special effects and computer game [1]

Computer Security And Cryptography

Computer security is a branch of computer technology. Its objectives include protecting information from unauthorized access, interruption and modification, while maintaining the accessibility and availability of the system for the intended users of the system. Cryptography is the practice and research of hiding (encrypting) and deciphering (decrypting) information. Modern cryptography is mainly related to computer science. Many encryption and decryption algorithms are based on their computational complexity. [1]

Computational science

Computational science (or Scientific computing )Focus on building mathematical model and Quantitative analysis The research field of technology, while analyzing and solving scientific problems through computers. In practical use, it is usually computer simulation and calculation And other forms in various scientific disciplines. [1]

information science

software engineering

Software engineering is the study of designing, implementing and modifying software to ensure high quality, moderate price, maintainability, and rapid construction of software. It is a systematic software design method, involving engineering practice to software application. [1]

research subject

Announce
edit
① What computer programs can and cannot do (computability);
② How to make the program perform specific tasks more efficiently (algorithm and complexity theory);
③ How does the program access different types of data( data structure And database);
④ How does the program appear more intelligent (artificial intelligence);
⑤ How humans communicate with programs (human-computer interaction and human-computer interface).

Related awards

Announce
edit
The highest honor in computer science is ACM Established Turing Award , known as computer science Nobel Prize Its winners are the most outstanding scientists and pioneers in the field. The first Chinese winner of Turing Award is Yao Jizhi Sir, in 2000, he gave his Computational theory He has made many "fundamental and significant" contributions and won this noble honor. [1]

System classification

Announce
edit
Computer systems can be divided into software system And hardware system.

Hardware

Structure control and command system
Algorithms and Logical structure
Memory structure
Harvard Structure
I/O and data communication
digital logic
Computer System Organization
Computer system implementation

Software

systems software
Network software
CAD software
computer program
Programming And programming practice
Driver
Data and information system
data structure
Data storage representation
file
information system
data base
Information storage and data access
Main research fields
Formal Basis
Predicate logic
Modal logic
Network theory
information theory
Theoretical Computer Science
Computability
algorithm
computational complexity
Describe complexity
compiler
information theory
Typology theory
Reference semantics
Microprogram
Parallel computing
Computational methodology
artificial intelligence
Image processing and computer vision
Character recognition
Signature recognition
Simulation and Modeling
Document and text processing
Computer application
numerical calculation
Computer Physics
Non numerical calculation
Factory automation
artificial intelligence
Symbol language processing
Computer Aided Science
Computer Aided Management
Electronic Commerce
Specific technology
Test benchmark
data compression
digital signal processing
in super-large scale Integrated Circuit Design
Network processor technology
Integer solver
Floating point arithmetic unit
History of Computational Science
Computer History
History of software industry
Programming ideas [1]

Professional colleges

Announce
edit
Computer science colleges in the United States
Purdue University West Lafayette Branch, University of Virginia University of Michigan-Ann Arbor Georgetown University wake forest university Yale University Columbia University University of Washington Carnegie Mellon University Georgia Institute of Technology California Institute of Technology Massachusetts Institute of Technology, Stanford University, University of California at Berkeley, University of Illinois at Champaign, University of Wisconsin at Madison, Rensselaer Institute of Technology, Harvard University, University of Oregon. [1]

Related disciplines

Announce
edit
Computer science is closely related to other disciplines. There are obvious cross fields among these disciplines, but there are also obvious differences.
Information Science Software Engineering Information Systems Computer Engineering Information Security- cryptography -Mathematics- engineering -Linguistics Logic [1]

Development history

Announce
edit
The theoretical part of computer science is in the first platform digital computer It existed before it appeared. Computer science, rooted in electronic engineering, mathematics and linguistics, is the crystallization of science, engineering and art. It emerged as an independent discipline in the last three decades of the 20th century, and developed its own methods and term [1]

1930s

britain Mathematician A M. Turing and U.S.A Mathematician E 50. Post almost simultaneously proposed ideal The concept of computer (the ideal machine proposed by Turing was called Turing machine in later literature). [1]

1940s

After the emergence of digital computers, computing technology (i.e. computer design technology and Programming Technology )And theoretical research on computers began to develop. This aspect constitutes the so-called theoretical computer science. As for Turing machine theory, it can be seen as the stage before the formation of this discipline. As for the word "computer science", it didn't appear until the early 1960s. Since then, countries have set up computer science departments in universities. Subject content Computer science is a young science. There is no consensus on what it includes. It is generally believed that computer science mainly includes theoretical computer science, computer system structure, part of software engineering and artificial intelligence. Theoretical computer science Theoretical computer science was developed in the 1930s. After the emergence of electromechanical and electronic computers in the 1940s mathematical model The research on properties and computational complexity (called computational difficulty in the early days) has developed rapidly, forming automata theory Formal language theory , programming theory, algorithm design and analysis, and Computational complexity theory Several areas. Computer system structure [1]

1950s

Since the 1950s, the performance of computers has increased by several orders of magnitude in terms of computing speed and address space. But most of them are obtained through component update. In terms of system structure, it basically belongs to the stored program type formed in the late 1940s, namely the so-called Neumann Type machine. The main feature of this structure is that it belongs to the control flow pattern. In this structure, what a calculation does first and then is determined in advance, and the order of instructions in the program is determined in advance. In order to make great progress in computer performance, we need to break through the old form One of the important topics in computer system structure is to explore the design ideas of non Neumann machines. Among non Neumann machines, there is a data flow machine (also known as data driven machine) proposed in the early 1970s. USA Soviet Union And Britain have made this kind of machine. This kind of machine is characterized by that what to do first and then in a calculation is not determined in advance, and the instructions executed are sorted dynamically. The principle of sorting is to do first when the operands are ready, so it is called a data driven machine. This type of machine is more convenient for parallel computing. For quite a long time, software engineering programming is a technology similar to "craft" rather than modern engineering. [1]

1960s

Large programs have appeared since the 1960s. It is difficult to guarantee the reliability of these large programs. In the late 1960s, western countries appeared“ Software Crisis ”。 This means that some programs are too large (including hundreds of thousands or even millions of instructions), high cost and poor reliability. So the concept of software engineering is put forward, which aims to make software development comply with strict specifications and use a set of reliable methods to ensure quality. The direction of modern software engineering is formalization and automation, and the purpose of formalization is to automation The automation here refers to the work that can be completed by the machine in the program design, and try to give it to the machine to do. One of the central topics is the research of program tools and environment. Program tools refer to programs that assist human programming, such as compilers, editors, and troubleshooting programs; The program environment refers to a set of program tools used together to assist human programming. The use of computers to simulate human intelligence, especially simulation thinking Activity technology and related theories. Because people's thinking activities cannot be separated from language, and people always need to take basic knowledge (professional knowledge or common sense) about this kind of problem as the starting point when thinking about and exploring solutions to a certain kind of problem. Therefore, knowledge representation and machine understanding of natural language constitute two important fields of artificial intelligence. The so-called knowledge representation refers to the conversion of knowledge originally expressed in natural language into knowledge expressed in symbolic language, so that it can be stored in the machine for use by the machine. The research angle of artificial intelligence includes exploration method and algorithm. Generally speaking, the algorithm for solving problems refers to mechanical and always having results, while the algorithm mentioned here is generalized, including those mechanical algorithms that may not have results when used. This method is often called semi determinable method. [1]
When solving problems, people often use the method of exploration. This method has the nature of "trial and error", that is to say, try several ways. If one way fails, try another until the problem is solved. The machine can simulate the thinking activities of people who solve problems by means of exploration. However, due to the large number of possible ways, it is impossible to carry out exhaustive exploration. People usually only choose some of the most promising ways to explore. This ability of human is the ability to carry out creative thinking. This is extremely difficult for a machine to simulate. From the perspective of algorithm, when using specific problem solving algorithms or semi determinable methods, we will encounter difficulties on the other hand. That is, when the complexity of the problem is high (for example index ), even if the problem has a result, the machine cannot get the result in the practical time. In the early days of the computer, people had hoped for the high speed of the machine, thinking that when simulating human thinking, machine It may exchange its high speed for creative thinking that it does not have. However, through the "combinatorial explosion" problem ("combinatorial explosion" refers to some problems in combinatorial mathematics. When the parameters increase, the growth rate of calculation time is often exponential, or even higher than the exponential), people realize that the obstacles caused by combinatorial explosion cannot be bypassed simply by speed. Whether there is any way to overcome this difficulty remains to be further studied. Relationship with other disciplines Computer is composed of physical components, and so far it is mainly composed of electronic components. So, some of the physics branch And electronic engineering form the basis of computer science. At the same time, computer science is the science of algorithm in a sense, and algorithm is a mathematical concept. Therefore, some branches of mathematics, such as algorithmic theory (i.e. computability theory, also known as Recursive function It also forms the basis of computer science. But computer science has developed into an independent Technical science , neither electronics It is also not a branch of mathematics. This is the whole discipline. As for theoretical computer science, since it can be regarded as the mathematical basis of computer science, it can be regarded as a branch of mathematics in a certain sense. Another subject closely related to computer science is cybernetics Cybernetics is studied as an applied mathematical method mechanical system The subject of control and communication phenomena in life systems has content intersection with computer science, but the latter is not a part of it. Since the digital computer was made in the 1940s, its performance has been greatly improved. However, the system structure has not changed much. Some countries with advanced computing technology are developing new generation computers. The system structure of this kind of computer will be very different from the machines of the past 40 years, and the programming language used will also be new. Computer science will study new problems arising from this, such as those related to parallel computing. [1]
The research on the mathematical properties of computing is mostly about serial computing, and the research on the properties of parallel computing is from 1970s It is expected to become one of the central topics of computer science. Another problem is the automation of programming. In terms of programming, the obvious trend is to give the machine as much as possible to do. The research of program environment constitutes a part of software engineering Central topic Formal method More and more attention, because it is necessary to improve the degree of automation. [1]
In the early days, although the British University of Cambridge And other universities have begun to teach computer science courses, but it is only regarded as a branch of mathematics or engineering, not an independent discipline. Cambridge University claims to be the first in the world to teach computing. The first computer science department in the world was established in the United States purdue university Established in 1962, the first computer college was established in 1980 by the Northeastern University establishment. Most universities regard computer science series as independent department , part of which is related to the Department of Engineering applied mathematics Department or other disciplines. [1]

twenty-first century

China has developed rapidly in the field of computer science and has reached the forefront of the world.
In 2021, data shows that China has the world's largest number of citations of international papers in computer science and other fields. On December 27, the Chinese Institute of Science and Technology Information released the Statistical Report on Chinese Scientific and Technological Papers in 2021 (hereinafter referred to as the Report) in Beijing.
From 2011 to 2021, the proportion of papers produced by 10 disciplines in China will exceed 20% of those in the world. According to the number of international papers cited, China ranks first in the world in four fields of material science, chemistry, computer science and engineering technology - compared with last year, it has added computer science fields. The number of citations of papers in 10 fields including agricultural science, biology and biochemistry, environment and ecology ranked second in the world. [3]

Famous universities

Announce
edit
Ranking in Computer Science world Top five universities:
1. Carnegie Mellon University
2. Massachusetts Institute of Technology
3. Stanford University
4. University of California Berkeley
5. Cornell University
5. University of Illinois Urbana Champaign

Professional Introduction

Announce
edit

Training objectives

This major cultivates all-round development of morality, intelligence and physique, has basic theoretical knowledge of computer application technology, has maintenance and repair of computers and related equipment, industrial application software, plane image processing, advertising design and production, animation production, computer network and website construction and management High technology applied talents with application ability and operation ability such as database management and maintenance. [1]

Main courses

Fundamentals of Computer Application, Computer Assembly and Maintenance, Construction and Management of Computer Local Area Network, Network Engineering, Operating System, Server, Database Development and Application, Website Construction and Web Design, C/C++Language, Visual Basic Language, Graphic Design, 3D Graphic Design, Multimedia Design, Professional English. [1]

Employment direction

Graduates are mainly engaged in IT industry work for transportation system units, transportation informatization and e-government construction and application departments, various computer specialized companies, advertising design and production companies, automobile marketing technology services, etc. [1]