What Are the Different Fields of Computer Engineering?
Computer science is the science that studies the computer and its surrounding phenomena and laws, that is, the discipline that studies the structure of computer systems, program systems (ie, software), artificial intelligence, and the nature and problems of computing itself. Computer science is a systematic discipline that includes a variety of topics related to computing and information processing, from abstract algorithm analysis, formal syntax, and so on, to more specific topics such as programming languages, programming, software, and hardware. Computer science is divided into theoretical computer science and experimental computer science. The latter is often called "computer science" without the word "experiment". The former has other names, such as computing theory, computer theory, computer science foundation, and computer science mathematics foundation. The mathematical literature generally refers to theoretical computer science.
- Chinese name
- computer science
- Foreign name
- Computer Science abbreviated as; CS
- Disciplines
- First-level discipline
- Title of Taiwan
- Information Engineering (CSIE)
- Computer science is the science that studies the computer and its surrounding phenomena and laws, that is, the discipline that studies the structure of computer systems, program systems (ie, software), artificial intelligence, and the nature and problems of computing itself. Computer science is a systematic discipline that includes a variety of topics related to computing and information processing, from abstract algorithm analysis, formal syntax, and so on, to more specific topics such as programming languages, programming, software, and hardware. Computer science is divided into theoretical computer science and experimental computer science. The latter is often called "computer science" without the word "experiment". The former has other names, such as computing theory, computer theory, computer science foundation, and computer science mathematics foundation. The mathematical literature generally refers to theoretical computer science.
Introduction to Computer Science
- Computer science (English: sometimes abbreviated as CS ) is a discipline that systematically studies the theoretical basis of information and computing and how they are implemented and applied in computer systems. It is often described as a systematic study of algorithmic processes that create, describe, and transform information. Computer science includes many branches of field; some emphasize calculations on specific results, such as computer graphics; others discuss the nature of computational problems, such as computational complexity theory; and some fields focus on how to implement calculations, such as programming language theory. Describe the method of computing, while programming is to use specific programming languages to solve specific computing problems, and human-computer interaction is to focus on how to make computers and computing useful, easy to use, and available to people anytime, anywhere. [1]
- Sometimes the public mistakenly believes that computer science is a cause of solving computer problems (such as information technology), or it is simply related to computer experience, such as playing games, surfing the Internet, or word processing. In fact, the focus of computer science is not only to understand the nature of programs that implement software such as games and browsers, but also to create new programs or improve existing programs through existing knowledge. [1]
Computer Science Research Field
- A computer is a machine that performs arithmetic and logical operations, and there are also communication problems for a system composed of several computers, and the objects processed are information, so it can be said that computer science is the science of information processing . Computer science is divided into theoretical computer science and experimental computer science. The computer science mentioned in the mathematical literature generally refers to theoretical computer science. Experimental computer science also includes research on opening up new areas of computer applications. [1]
- Most of the research in computer science is based on the "von Neumann computer" and "Turing machine", which are the computing models of most practical machines. As the originator of this model, the Church-Turing Thesis shows that although the computational time and space efficiency may be different, the existing computing devices are equivalent in terms of computing power. . Although this theory is often considered the foundation of computer science, scientists also study other kinds of machines, such as parallel computers at the practical level and probability computers, oracle computers, and quantum computers at the theoretical level. In this sense, a computer is just a tool for computing: the famous computer scientist Dijkstra has a famous saying, "Computer science is not about computers as much as astronomy is about telescopes." [1]
Computer Science Science
- As a discipline, computer science covers the theoretical research and calculation limits of algorithms to how to implement computing systems through hardware and software. CSAB (formerly known as Computing Sciences Accreditation Board), composed of representatives from Association for Computing Machinery (ACM) and IEEE Computer Society (IEEE-CS), establishes four main areas of computer science: computing theory, algorithms and data structures , Programming methods and languages, and computer elements and architecture. CSAB has also established other important areas such as software engineering, artificial intelligence, computer networks and communications, database systems, parallel computing, distributed computing, human-computer interaction, machine translation, computer graphics, operating systems, and numerical and symbolic computing . [1]
Computer science theory computer
- Main article: Theoretical computer science
- General theoretical computer science includes classical computational theory and other computations that focus on more abstract, logical, and mathematical aspects. [1]
Computer science computing theory
- Main article: Computing theory
- According to Peter J. Denning, the most fundamental question in computer science is "what can be effectively automated?" The study of computational theory is focused on answering this fundamental question. Regarding what can be calculated, it is necessary to implement these calculations. How much resources. In an attempt to answer the first question, recursive theory tests which computational problem is solvable in various theoretical computational models. The computational complexity theory is used to answer the second question, studying the time and space consumption of solving a computational problem for a different purpose. [1]
- The well-known "P = NP?" Problem, one of the problems of the Millennium Awards, is an open question of computing theory.
Computer Science Information Coding Theory
- Main article: Information theory and coding theory
- Information theory is related to information quantification and was created by Claude E. Shannon 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 coding and the specific application properties to which they apply. 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]
Computer science algorithms
- Algorithm refers to a well-defined calculation process. It takes one or a set of values as input, and passes a series of well-defined calculation processes to obtain an output or a set of outputs. Algorithms are an important area of computer science research and the basis of many other computer science technologies. Algorithms include data structures, computational geometry, and graph theory. In addition, the algorithm includes many miscellaneous items, such as pattern matching and partial number theory. [1]
Computer science programming theory
- Main article: Programming language theory
- Programming language theory is a branch of computer science that deals with the design, implementation, analysis, description, and classification of programming languages, and their individual characteristics. It belongs to the discipline of computer science and affects both mathematics, software engineering and linguistics. It is a recognized branch of computer science and an active research area. The research results have been published in many academic journals, computer science and engineering publications. [1]
Formal methods of computer science
- Main article: Formal method
- Formal methods are a special mathematical-based technique used for formal specification, development, and formal verification of software and hardware systems. In terms of software and hardware design, the motivation for the use of formal methods, like other engineering disciplines, contributes to the design's expectations for reliability and robustness through proper mathematical analysis. However, the use of formal methods brings high costs, meaning that they are usually only used in high-reliability systems, where security or security is the most important. The best description of formal methods is the application of various basic types of theoretical computer science, especially computer logic calculus, formal languages, automata theory, and formal semantics, in addition to type systems, algebraic data types, and software and hardware Some issues in the specification and verification. [1]
Computer Science Concurrency, Parallel and Distributed Systems
- Main article: Parallelism and distributed computing
- Concurrency is a property of systems that can perform multiple computations that may interact with each other at the same time. Some mathematical models, such as Petri nets, process calculus, and PRAM models, were created for general-purpose concurrent computing. Distributed systems extend the idea of parallelism to multiple computers connected by a network. Computers in the same distributed system have their own private memory, and they often exchange information to achieve a common purpose. [1]
Computer Science Database and Information Retrieval
- Main article: Databases and database management systems
- Databases are designed to make it easier to organize, store, and retrieve large amounts of data. The database is managed by a database management system, and data is stored, created, maintained, and searched through a database model and query language. [1]
Computer Science Applied Computer Science
- Although the name of computer science includes the word computer, in fact, a considerable number of areas of computer science do not involve the study of computers themselves. Therefore, some new names were proposed. The faculties of some key universities prefer the term computing science to precisely emphasize the difference between the two. Danish scientist Peter Naur suggests using the term "datalogy" to reflect the fact that scientific disciplines are centered around data and data processing, not necessarily computers. The first scientific institution to use this term was the Datalogy School of the University of Copenhagen, which was founded in 1969, and Peter Naur was the first professor. This term is mainly used in the Nordic countries. At the same time, in the early development of computing technology, ACM Newsletter suggested some terms for computing practitioners: turingineer, turologist, flow-charts-man, applied meta-mathematician, and applied epistemologist. In the same journal three months later, the comptologist was proposed, and the following year became a hypologist. The term computics has also been proposed. In continental Europe, names originating in information and mathematics or automatic are more common than originating in computers or computing, such as informationique (French), Informatik (German), informationika (Slavic). [1]
- The famous computer scientist Edsger Dijkstra once pointed out: "Computer science is not just about computers, just like astronomy is not just about telescopes." ("Computer science is no more about computers than astronomy is about telescopes.") Design, deploy computers and Computer systems are generally considered to be areas of non-computer science disciplines. For example, researching computer hardware is considered part of computer engineering, while research and deployment of commercial computer systems is called information technology or information systems. However, the ideas of various computer-related disciplines are now increasingly 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, and some observers say that computing is a mathematical science. Early computer science was greatly influenced by the results of mathematical research, such as Kurt G & ouml; del and Alan Turing. These two fields also continued to have useful exchanges of ideas in certain disciplines, such as mathematical logic, category theory, domain theory, and algebra. [1]
- The relationship between computer science and software engineering is a controversial topic. Subsequent debates about what "software engineering" is and how to define it have made the situation even more confusing. David Parnas draws inspiration from the relationship between other engineering and scientific disciplines, claiming that the main focus of computer science is in general the study of the nature of computing, while the main focus of software engineering is the specific calculation design to achieve practical purposes. It constitutes two independent but complementary disciplines. [1]
Computer science artificial intelligence
- Main article: Artificial intelligence
- This branch of computer science aims to create artificial systems that solve computing problems and think and communicate like animals and humans. Whether in theory or application, researchers are required to have meticulous and comprehensive expertise in multiple subject areas, such as applied mathematics, logic, semiotics, electrical engineering, spiritual philosophy, neurophysiology, and social intelligence to promote The field of intelligent research, or it is applied to other subject areas that require computational understanding and modeling, such as finance or physical science. The field of artificial intelligence began to formally originate from Alan Turing, an artificial intelligence pioneer who proposed the Turing test to answer the ultimate question: "Can computers think?" [1]
Computer Science Machine Translation
- Main article: Machine translation
- In 1947, American mathematician and engineer Warren Weaver and British physicist and engineer Andrew Booth proposed the concept of computer translation ("machine translation"). Machine translation has since entered the stage of history, and has gone After a tortuous and long development path. Machine translation is listed as one of the top ten scientific and technological problems in the world in the 21st century. At the same time, machine translation technology has huge application requirements. [1]
- Machine translation eliminates the gap between different words and languages, and it can be said that high technology benefits humankind. However, the quality of machine translation has been a problem for a long time, and it is still far from the ideal goal. According to Professor Zhou Haizhong, a Chinese mathematician and linguist, it is impossible for machine translation to reach the level of "faithfulness, elegance, and elegance" without understanding how the brain performs fuzzy recognition and logical judgment of language. This view is probably the bottleneck that restricts the quality of translations. [2]
Computer Science Computer Architecture and Engineering
- Main article: Computer architecture and computer engineering
- Computer system structure, or digital computer organization, is the conceptual design and fundamental operational structure of a computer system. It mainly focuses on the internal execution and memory access addresses of the CPU. This field often involves computer engineering and electrical engineering disciplines, selecting and interconnecting hardware components to create computers that meet functional, performance, and cost goals. [1]
Computer science computer graphics and vision
- Main article: Computer graphics
- Computer graphics is the study of digital visual content, which involves the synthesis and manipulation of image data. It is closely related to many other areas of computer science, including computer vision, image processing, and computational geometry. It is also widely used in special effects and video games. [1]
Computer Science Computer Security and Cryptography
- Main article: Computer security and cryptography
- Computer security is a branch of computer technology whose goals include protecting information from unauthorized access, interruption, and modification, while maintaining system accessibility and availability 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, and many encryption and decryption algorithms are based on their computational complexity. [1]
Computer science computing science
- Computational science (or scientific computing) is a research area that focuses on the construction of mathematical models and quantitative analysis techniques, while analyzing and solving scientific problems through computers. In actual use, it is usually the application of forms such as computer simulation and calculation to various scientific subject problems. [1]
Computer science information science
- Main article: Information science
Computer Science Software Engineering
- Main article: Software engineering
- Software engineering is the study of designing, implementing, and modifying software to ensure its high quality, affordable price, maintainability, and rapid build. It is a systematic software design method, involving engineering practice to software application. [1]
Computer Science Research Project
- What computer programs can and cannot do (computability);
- How to make the program perform specific tasks more efficiently (algorithms and complexity theory);
- How the program accesses different types of data (data structure and database);
- How does the program appear more intelligent (artificial intelligence);
- How humans communicate with the program (human-machine interaction and human-machine interface).
Computer Science Related Awards
- The highest honor in the field of computer science is the Turing Award established by ACM, known as the Nobel Prize for computer science. Its recipients are the best scientists and pioneers in the field. The first Chinese winner to win the Turing Award was Mr. Yao Zhizhi, who won this high honor in 2000 for his many "fundamental and significant" contributions to computing theory. [1]
Computer Science System Classification
- Computer systems can be divided into two categories: software systems and hardware systems.
Computer science hardware
- Structural control and instruction system
- Algorithms and logical structures
- Memory structure
- Von Neumann structure
- Harvard Structure
- Input / output and data communication
- mathematical logic
- Logical design
- integrated circuit
- Computer system organization
- Computer Architecture
- computer network
- Distributed Computing
- cyber security
- Computer system implementation
Computer science software
- system software
- operating system
- translater
- application
- Computer games
- office automation
- Network software
- CAD software
- Computer program
- Programming and programming practices
- Object-oriented technology
- programming language
- Software engineering
- Software reuse
- driver
- Computer simulation
- Programming methodology
- Data and information systems
- data structure
- Data storage representation
- data encryption
- data compression
- Coding and Information Theory
- file
- Information system
- MIS
- Decision support systems-Expert systems
- database
- Information storage and data access
- Information interaction and expression
- Research Areas
- Formal basis
- logic
- Predicate logic
- Modal logic
- Sequential logic
- Description logic
- mathematics
- Universal algebra
- Recursion theory
- Model theory
- Probability and Mathematical Statistics
- Logical algebra
- Boolean algebra
- discrete mathematics
- Combinatorial Mathematics
- Graph Theory
- Net theory
- Information theory
- Theoretical computer science
- Formal language
- Automaton
- Computability
- algorithm
- Computational complexity
- Describe complexity
- translater
- Programming theory
- Information theory
- Type theory
- Referential semantics
- Microprogram
- Genetic algorithm
- Parallel Computing
- Computing Methodology
- artificial intelligence
- machine translation
- Computer Graphics
- Image processing and computer vision
- Pattern recognition
- Speech Recognition
- Text recognition
- Signature recognition
- Face recognition
- Fingerprint recognition
- Simulation and modeling
- Digital signal processing
- Document and text processing
- computer application
- Numeral Calculations
- data analysis
- Theorem machine proof
- Computer algebra
- Engineering calculations
- Computer chemistry
- Computer physics
- Bioinformatics
- Computational biology
- Non-numerical calculation
- Factory automation
- Office automation
- artificial intelligence
- Information storage and retrieval
- Symbolic language processing
- Computer aided science
- Computer Aided Design
- Computer aided instruction
- Computer aided management
- Computer aided software engineering
- Robotics
- multimedia technology
- Human-computer interaction
- E-commerce
- Specific technology
- Test benchmark
- Machine vision
- data compression
- Software design pattern
- Digital signal processing
- file format
- information security
- Internet
- VLSI Design
- Network Transmission Protocol
- Network Processor Technology
- Integer operator
- Floating-point operator
- Matrix Operations Processor
- grid
- History of Computational Science
- Computer history
- Software Industry History
- Programming ideas [1]
Computer Science College
- Computer science colleges open in the U.S.
- Purdue University West Lafayette, University of Virginia, University of Michigan Ann Arbor, Georgetown University, Wake Forest University, Yale University, Columbia University, Washington University, Carnegie Mellon University, Georgia Institute of Technology, California Institute of Technology College, MIT, Stanford University, University of California, Berkeley, University of Illinois at Urbana-Champaign, University of Wisconsin Madison, Rensselaer Polytechnic Institute, Harvard University, University of Oregon. [1]
Computer Science Related Disciplines
- Computer science is closely related to other disciplines. There are clear areas of intersection between these disciplines, but there are also significant differences.
- Information Science-Software Engineering-Information System-Computer Engineering-Information Security-Cryptography-Mathematics-Engineering-Linguistics-Logic [1]
History of Computer Science
- The theoretical part of computer science existed before the first digital computer. Computer science is rooted in electronic engineering, mathematics, and linguistics. It 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 terminology. [1]
30 Computer science 1930s
- The British mathematician AM Turing and the American mathematician EL Post proposed the concept of an ideal computer at the same time (the ideal machine proposed by Turing was called a Turing machine in later literature). [1]
40 Computer science 40s
- After the creation of digital computers, computing technology (ie computer design technology and programming technology) and theoretical research on computers began to develop. This aspect constitutes what is called theoretical computer science. As for the Turing machine theory, it can be regarded as the stage before the formation of this discipline. As for the term "computer science", it didn't appear until the early 1960s. Since then, countries have set up computer science departments in universities. Discipline 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 architecture, software engineering, and artificial intelligence. Theoretical computer science Theoretical computer science was developed in the 1930s. After the advent of electromechanical and electronic computers in the 1940s, research on the nature of mathematical models of real computers and their programs and computational complexity (early termed computational difficulty) developed rapidly, forming automata theory, formal language theory, programs Design theory, algorithm design and analysis and computational complexity theory. Computer system structure [1]
50 Computer science 50s
- Since the 1950s, computer performance has increased by several orders of magnitude in terms of computing speed and addressing space. But most of them are obtained through component updates. In terms of system structure, basically it still belongs to the stored program type formed in the late 1940s, which is the so-called Neumann type machine. The main feature of this structure is that it belongs to a control flow pattern. In this structure, a calculation of what to do first 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, it is necessary to break through this old form. One of the important topics in computer system architecture is to explore the design ideas of non-neumann machines. Among the non-neumann machines, there is a data stream machine (also known as a data-driven machine) proposed in the early 1970s. The United States, the Soviet Union and the United Kingdom have made such machines. The characteristic of this machine is that what is done first in a calculation is not determined in advance, and the instructions executed are dynamically ordered. The principle of sorting is that the operands are prepared first, so they are called data-driven machines. This type of machine is more convenient for parallel computing. Software engineering programming is a technology similar to "craftsmanship" rather than modern engineering for quite a long time. [1]
60 Computer science 60s
- Large programs have appeared since the 1960s. The reliability of these large programs is difficult to guarantee. By the late 1960s, there was a "software crisis" in Western countries. This means that some programs are too large (including hundreds of thousands or even millions of instructions), the cost is too high and the reliability is poor. So the concept of software engineering is proposed, the purpose is 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 automation. The automation mentioned here is to give the machine to do the work that can be done by the machine in the program design. One of the central topics is the study of program tools and the environment. Program tools refer to programs that assist people in programming, such as compilers, editors, debugging programs, etc .; program environment refers to a set of program tools that are used together to assist people in programming. Artificial intelligence uses computers to simulate human intelligence, especially the technology of simulating thinking activities and related theories. Because people's thinking activities are inseparable from language, and when people think about and explore solutions to certain types of problems, they always need to take the basic knowledge (professional knowledge or common sense) as the starting point. Thus, knowledge representation and machine understanding of natural language constitute two important areas of artificial intelligence. The so-called knowledge representation refers to the knowledge that was originally expressed in natural language and transformed into symbolic language, so that it can be stored in the machine for machine use. The research angles of artificial intelligence include the perspective of heuristics and the perspective of algorithms. Generally speaking, the problem-solving algorithm refers to the mechanical and always results method, but the algorithm here is generalized, including those that are mechanical and may not have results when used. This method is often called a semi-decidable method. [1]
- People often use heuristics when solving problems. This method has the property of "trial and error", that is, to test several ways, and try another one if one way fails, until the problem is solved. Machines can simulate the thinking activities of human beings using heuristics to solve problems. But because the number of possible pathways is so large, exhaustive exploration is impossible. People usually choose only the most promising ways to explore. This ability of man is the ability to think creatively. This is something that machines are extremely difficult to simulate. From an algorithmic perspective, when using a specific problem-solving algorithm or semi-decidable method, another difficulty is encountered. That is, when the complexity of the problem is high (such as exponential), even if the problem has a result, the machine cannot get the result in a practically feasible time. In the early days of computers, people had hoped for the high speed of the machine, thinking that when simulating human thinking, the machine might use its high speed in exchange for creative thinking it did not have. But through the "combination explosion" problem ("combination explosion" refers to some problems in combination mathematics, when the parameter increases, the growth rate of the calculation time is often exponential, or even higher than the exponent). Speed cannot bypass obstacles created by combined explosions. Whether there is a way to overcome this difficulty remains to be further studied. Relations with other disciplines Computers are composed of physical components, and so far they are mainly composed of electronic components. Therefore, some branches of physics and electrical engineering form the basis of computer science. At the same time, computer science is the science of algorithms in a certain sense, and algorithms are a mathematical concept. Therefore, certain branches of mathematics such as algorithm theory (ie, computational theory, also known as recursive function theory) also form the basis of computer science. But computer science has developed into an independent technical science, which is neither a branch of electronics nor a branch of mathematics. This is the whole of this discipline. As for theoretical computer science, since it can be regarded as the mathematical foundation of computer science, in a certain sense, it can be regarded as a branch of mathematics. Another discipline closely related to computer science is cybernetics. Cybernetics, as a discipline that applies mathematical methods to the study of control and communication phenomena in mechanical and living systems, has a content overlap with computer science, but the latter is not a part of it. Since the creation of digital computers in the 1940s, the performance of computers has greatly improved. However, the system structure has not changed much. Some developed countries in computing technology are developing a new generation of computers. The system structure of such a computer will be very different from the machine of the past 40 years, and the programming language used will also be new. Computer science will study emerging issues such as those related to parallel computing. [1]
- Most of the research on the mathematical nature of computing is about serial computing. The research on the nature of parallel computing has only developed since the 1970s and 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 it can. The study of programming environment constitutes a central subject of software engineering. Formal methods are gaining more and more attention because it is necessary to increase the degree of automation. [1]
- In the early days, although the University of Cambridge and other universities in the United Kingdom had begun teaching computer science courses, it was only considered as a branch of mathematics or engineering, not an independent discipline. The University of Cambridge claims to be the first in the world to teach computing. The world's first computer science department was established by Purdue University in the United States in 1962, and the first computer college was established by Northeastern University in the United States in 1980. Most universities treat the computer science series as a separate department, and some unite it with engineering, applied mathematics, or other disciplines. [1]
Famous Universities of Computer Science
- Top 5 universities in the computer science field:
- 1. Carnegie Mellon University 2. Massachusetts Institute of Technology 3. Stanford University 4. Stanford University 4. University of California-Berkeley 5. Cornell University Cornell University 5. University of Illinois-Urbana Champaign University of Illinois at Urbana-Champaign
Introduction to Computer Science
Computer science training goals
- This major cultivates the comprehensive development of morality, intelligence and physical fitness, has basic theoretical knowledge of computer application technology, has the maintenance and repair of computers and related equipment, industrial application software, graphic image processing, advertising design and production, animation production, computer network and website construction. And technical application talents with application ability and operation ability such as management and database management and maintenance. [1]
Computer Science Major Courses
- Computer application foundation, computer assembly and maintenance, computer local area network construction and management, 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]
Computer Science Employment Direction
- The graduates are mainly engaged in IT industry work for various units of the transportation system, transportation informationization and e-government construction and application departments, various computer specialized companies, advertising design and production companies, and automotive marketing technical services. [1]