Computer Science, ResearchcomputerAnd various phenomena andlawScience ofComputer system structure, program system (i.eSoftware)、artificial intelligenceAnd the nature and problems of the calculation itselfsubject。Computer science is a discipline that includes all kinds ofinformation processingSystem discipline of related topics, from abstract algorithm analysis to formalizationgrammarAnd so on, to more specific topics such as programming languagesProgramming, software, andHardwareEtc.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, computerFundamentals of ScienceBasic Mathematics in Computer Science.Mathematical literature generally refers to theoretical computer science.
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 mainlymathematics、electrical engineering、physicsandmanagement information systemsRelated 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 andLogical operationAnd there are communication problems for the system connected by several computers, andobjectAll are information, so we can say that computer science is researchinformation processingScience.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 machinesModel。As the originator of this model, the Church Turing Thesis shows that despite the fact thatefficiencyThere may be some differences, and existing computing devices have the same computing capacity.Although this theory is generally regarded as the basis of computer sciencescientistIt also studies other kinds of machines, such as parallel computers on the practical level and probabilistic computers, oracle computers andquantum 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 thanastronomyIt 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) andIEEE 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]
GeneralizedTheoretical Computer ScienceIncluding classical computing theory and other calculations focusing on more abstract, logical and mathematical aspects.[1]
according toPeter J. DenningThe fundamental question of computer science is "What can be effectively automated?"Computational theoryOur 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 theoryTest in multiple theoriescomputational modelWhich calculation problem is solvable in.andComputational complexity theoryIt is used to answer the second question and study the time and space consumption of solving a computing problem with different purposes.[1]
Information theory is related to information quantificationClaude E. ShannonCreated 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 includesdata structure、Computational geometry、graph theoryEtc.In addition, the algorithm also includes many miscellaneous items, such aspattern matching, partnumber theoryEtc.[1]
Programming language theory is a branch of computer science, mainly dealing withProgramming languageDesign, implementation, analysis, description and classification of, as well as their individual characteristics.It belongs to computer science discipline, and is affected by bothmathematics、software engineeringandlinguistics。It is recognized as a branch of computer science, but also an active research field. Research achievements have been published in manyAcademic journals, computer science and engineering publications.[1]
The formal method is based onmathematicsTechnology forSoftwareandHardwareSystematicFormal specification, development andFormal 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 systemssecurityorsecurity staff(security) is the most important.The best description of formal methods is variousTheoretical Computer ScienceApplication of basic categories, especiallyComputer logicCalculus,formal language,automataTheory andFormal semantics, plusType system、Algebraic data type, and some problems in software and hardware specification and verification.[1]
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 asPetri net、process calculus andPRAM 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]
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 throughdatabase modelandquery languageTo 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 scientistPeter NaurIt 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]
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 asKurt GödelandAlan TuringIn some disciplines, such asmathematical logic、Categorical theory、Domain theoryandAlgebraThere are also useful exchanges of ideas.[1]
Computer Science andsoftware engineeringThe 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 ParnasInspired 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 asapplied mathematics,logic,Semiotics,electrical engineering ,Spiritual philosophy,NeurophysiologyandSocial intelligence, used to promote intelligent research, or applied to other disciplines requiring computational understanding and modeling, such asfinanceorPhysical Science。The field of artificial intelligence began to officially originate fromAlan TuringThis artificial intelligence pioneer proposedTuring test To answer such an ultimate question: "Can computers think?"[1]
In 1947, the United Statesmathematician、engineerWarren Weaver and Britainphysical scientistAndrew 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 centurydifficult 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 translationqualityIt has been a problem for a long time and is far from the ideal goal.Chinese mathematician and linguistZhou HaizhongThe 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 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 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, includingcomputer vision , image processing andComputational geometry, which is also widely used inSpecial effectsandcomputer game。[1]
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]
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 structureAnd 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 isACMEstablishedTuring Award, known as computer scienceNobel Prize。Its winners are the most outstanding scientists and pioneers in the field.The first Chinese winner of Turing Award isYao JizhiSir, in 2000, he gave hisComputational theoryHe has made many "fundamental and significant" contributions and won this noble honor.[1]
System classification
Announce
edit
Computer systems can be divided intosoftware systemAnd hardware system.
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 platformdigital computerIt 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 andterm。[1]
1930s
britainMathematician AM. Turing andU.S.AMathematician E50. Post almost simultaneously proposedidealThe 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 andProgramming 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 1940smathematical model The research on properties and computational complexity (called computational difficulty in the early days) has developed rapidly, forming automata theoryFormal language theory, programming theory, algorithm design and analysis, andComputational complexity theorySeveral 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-calledNeumannType 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 oldform。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.USASoviet UnionAnd 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 toautomation。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 simulationthinkingActivity 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 exampleindex), 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,machineIt 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 physicsbranchAnd 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 asRecursive functionIt also forms the basis of computer science.But computer science has developed into an independentTechnical science, neitherelectronicsIt 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 iscybernetics。Cybernetics is studied as an applied mathematical methodmechanical systemThe 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 from1970sIt 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 engineeringCentral topic。Formal methodMore and more attention, because it is necessary to improve the degree of automation.[1]
In the early days, although the BritishUniversity of CambridgeAnd 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 Statespurdue university Established in 1962, the first computer college was established in 1980 by theNortheastern Universityestablishment.Most universities regard computer science series as independentdepartment, part of which is related to the Department of Engineeringapplied mathematicsDepartment 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 ScienceworldTop 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 managementHigh 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]