Ôi, ta quỡn quá mà XD. Chào các bạn, dưới đây là một bài viết về các nhánh nghiên cứu trong CS.
A. BRIEF INTRODUCTION ABOUT COMPUTER SCIENCE
Computer Science, or CS, is the study of theoretical foundations of information and computation and their implementation and application on the computer system - Wikipedia.
B. FIELDS IN COMPUTER SCIENCE [1]
I. Computer Architecture
1. Concurrent, parallel, and distributed systems
Concurrency
The theory and practice of simultaneous computation; data safety in any multitasking or multithreaded environment.
Distributed computing
Computing using multiple computing devices over a network to accomplish a common objective or task and thereby reducing the latency involved in single processor contributions for any task.
Parallel computing
Computing using multiple concurrent threads of execution.
2. Computer Architecture
Computer architecture
The design, organization, optimization and verification of a computer system, mostly about CPUs and Memory subsystem (and the bus connecting them).
Computer organization
The implementation of computer architectures, in terms of descriptions of their specific electrical circuitry
Operating systems
Systems for managing computer programs and providing the basis of a useable system.
II. Software / Human – Computer Interaction
1. Algorithms and Data Structures
Analysis of algorithms
Time and space complexity of algorithms.
Algorithms
Formal logical processes used for computation, and the efficiency of these processes.
Data structures
The organization of and rules for the manipulation of data.
2. Programming Languages and Complier
Compilers
Ways of translating computer programs, usually from higher level languages to lower level ones.
Programming languages
Formal language paradigms for expressing algorithms, and the properties of these languages (e.g. what problems they are suited to solve).
3. Software Engineering
Algorithm design
Using ideas from algorithm theory to creatively design solutions to real tasks
Computer programming
The practice of using a programming language to implement algorithms
Formal methods
Mathematical approaches for describing and reasoning about software designs.
Reverse engineering
The application of the scientific method to the understanding of arbitrary existing software
Software engineering
The principles and practice of designing, developing, and testing programs, as well as proper engineering practices.
4. Communications
Computer Audio
Algorithms and data structures for the creation, manipulation, storage, and transmission of digital audio recordings. Also important in voice recognition applications.
Networking
Algorithms and protocols for reliably communicating data across different shared or dedicated media, often including error correction.
Cryptography
Applies results from complexity, probability and number theory to invent and break codes.
5. Soft Computing
A collective term for techniques used in solving specific problems.
6. Computer Graphic
Computer graphics
Algorithms both for generating visual images synthetically, and for integrating or altering visual and spatial information sampled from the real world.
Image processing
Determining information from an image through computation.
7. Human – Computer Interaction
Human computer interaction
The study of making computers and computations useful, usable and universally accessible to people, including the study and design of computer interfaces through which people use computers.
III. Data Organization
1. Databases
Data mining
Relational databases
Study of algorithms for searching and processing information in documents and databases; closely related to information retrieval.
2.Data structures
The organization of and rules for the manipulation of data.
IV. The Potential of Machine
1. Theory of Computation
Automata theory
Different logical structures for solving problems.
Computability theory
What is calculable with the current models of computers. Proofs developed by Alan Turing and others provide insight into the possibilities of what may be computed and what may not.
Computational complexity theory
Fundamental bounds (especially time and storage space) on classes of computations.
Quantum computing theory
2. Artificial Intelligent
Artificial intelligence
The implementation and study of systems that exhibit an autonomous intelligence or behaviour of their own.
Automated reasoning
Solving engines, such as used in Prolog, which produce steps to a result given a query on a fact and rule database.
Computer vision
Algorithms for identifying three dimensional objects from one or more two dimensional pictures.
Machine learning
Automated creation of a set of rules and axioms based on input.
Natural language processing/Computational linguistics
Automated understanding and generation of human language
Robotics
Algorithms for controlling the behavior of robots.
V. Scientific Computing
1. Scientific Computing
Bioinformatics
The use of computer science to maintain, analyse, store biological data and to assist in solving biological problems such as Protein folding, function prediction and Phylogeny.
Cognitive Science
Computational modelling of real minds
Computational chemistry
Computational modelling of theoretical chemistry in order to determine chemical structures and properties
Computational neuroscience
Computational modelling of real brains
Computational physics
Numerical simulations of large non-analytic systems
Numerical algorithms
Numerical solution of mathematical problems such as root-finding, integration, the solution of ordinary differential equations and the approximation of special functions.
Symbolic mathematics
Manipulation and solution of expressions in symbolic form, also known as Computer algebra.
C. OVERVIEW [2]
D. REFERENCE
1. Wikipedia
2. Computer Science – an overview, Edition 7, J.Glenn Brookshear