A subset of general computer science and mathematics that focuses on the mathematical and abstract aspects of computing.
Areas of application
{‘name’: ‘Algorithms’, ‘description’: ‘The design, analysis, and implementation of algorithms for solving computational problems.’}
{‘name’: ‘Formal Language Theory’, ‘description’: ‘The study of formal languages, including regular expressions, context-free grammars, and linear logic.’}
{‘name’: ‘Lambda Calculus’, ‘description’: ‘A system for expressing functions and performing computations using the lambda calculus.’}
{‘name’: ‘Type Theory’, ‘description’: ‘The study of type systems and their application to programming languages and other formal systems.’}
{‘name’: ‘Computational Complexity’, ‘description’: ‘The study of the computational resources required to solve computational problems, including time and space complexity.’}
{‘name’: ‘Parallel and Distributed Computation’, ‘description’: ‘The study of parallel and distributed computing systems, including their design, implementation, and performance.’}
{‘name’: ‘Probabilistic Computation’, ‘description’: ‘The study of computational systems that operate on probabilistic models and perform probabilistic reasoning.’}
{‘name’: ‘Quantum Computation’, ‘description’: ‘The study of quantum computers and their potential applications in cryptography, optimization, and other fields.’}
Example
The study of algorithms and their complexity, including the development of new algorithms and the analysis of existing ones.