Conceptual computer science is classified into computational theory, information and coding theory, algorithms and data structures, language theory programming, formal methods.
Applied computer technology which is divided into Artificial Intelligence, Computer Design and Technology, Computer Performance Analysis , Computer Graphics and Visualization, Computer Security and Cryptography, Computer Science, Computer Networks, Concurrent Parallel and Distributed Systems , Databases and Software Engineering.
Theoretical computer science in essence is mathematical and theoretical but it draws its inspiration from practical and everyday computing.
- Computation theory: Computation theory focuses on answering basic questions about what can be measured and the amount of energy required to perform such computations.
- Knowledge and coding theory: The theory of coding is the study of coding properties and their usefulness for a particular application. Codes are used for data compression, cryptography, error detection and correction, and also for network coding, more recently.
- Programming language theory: The programming language theory is a branch of computer science that deals with programming languages and their individual features design , implementation, analysis, characterization, and classification.
The programming starts from basic foundation languages such as C, C++ and advanced towards the high level languages such as JAVA, Ad. JAVA, PYTHON, etc. One should have detailed knowledge of these languages to be successful engineers.
- Formal methods: Formal methods are best defined as applying a relatively broad variety of theoretical fundamentals of computer science, notably logic formulas, formal languages, automata theory, and program semantics, but also type systems and algebraic data types to software and hardware specification and verification problems.
Applied computer science seeks to define those principles of computer science which can be used directly to solve real-world problems.
- Artificial Intelligence: Artificial Intelligence ( AI) aims or is required to synthesize goal-oriented processes such as problem-solving , decision-making, environmental adaptation, human and animal learning and communication.
- Computer architecture and engineering: Computer architecture, or digital computer organization, is the conceptual design and fundamental operational structure of a computer system.
- Computer performance analysis: Computer performance analysis is the study of research flowing through computers with the general objectives of increasing throughput, managing response time, utilizing resources effectively, reducing bottlenecks and predicting output under planned peak loads.
- Computer graphics and visualization: Computer graphics is the study of digital visual information , which includes image data synthesis which manipulation. The research is related to many other computer science areas, including computer vision , image processing, and computational geometry, and is widely applied in special effects and video games industries.
- Data protection and cryptography: Computer security is a computer technology division whose aim is to secure information from unauthorized access, interruption, or alteration while preserving the system’s functionality and usability to its intended users. Cryptography is the hiding (encryption) practice and analysis, and thus the deciphering (decryption) of information. Modern cryptography is primarily related to computer science, since many encryption and decryption algorithms are based on the difficulty of their computations.
- Computational science: Computational science is the application of the concepts of informatics and software engineering to solve scientific problems. It includes the use of computer hardware , networking, algorithms, programming, databases, and other domain-specific expertise to design physical phenomenon simulations for computers to operate on. Computational science transcends disciplines and can include even the humanities.
- Computer networks: Computer network, two or more computers which are connected to each other for electronic data communication purposes. In addition to physically linking computers and communications devices, a network infrastructure serves the essential purpose of providing a coherent architecture that allows a variety of types of equipment to transmit information in almost seamless fashion.
- Concurrent, parallel and distributed systems: Competitiveness is a machine property in which several computations are concurrently performed and theoretically communicate with each other. A distributed system expands the concept of competition to many computers that are connected over a network.
- Databases: A database is designed to efficiently organize, store and recall vast volumes of data. Digital databases are managed by database models and query languages, using database management systems to store, build, preserve, and search data.
- Software Engineering: Software engineering is defined as a process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements.