# A report onComputer science and Programming language

Programming language theory is a subfield of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages.

- Programming language

Programming language theory is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features.

- Computer science

## Data structure

In computer science, a data structure is a data organization, management, and storage format that is usually chosen for efficient access to data.

Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design.

## Algorithm

In mathematics and computer science, an algorithm is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation.

Algorithms can be expressed in many kinds of notation, including natural languages, pseudocode, flowcharts, drakon-charts, programming languages or control tables (processed by interpreters).

## Formal language

In logic, mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules.

In computer science, formal languages are used among others as the basis for defining the grammar of programming languages and formalized versions of subsets of natural languages in which the words of the language represent concepts that are associated with particular meanings or semantics.

## Logic

Study of correct reasoning or good arguments.

Study of correct reasoning or good arguments.

Logic is studied in and applied to various fields, such as philosophy, mathematics, computer science, and linguistics.

Intuitionistic logic is of great interest to computer scientists, as it is a constructive logic and sees many applications, such as extracting verified programs from proofs and influencing the design of programming languages through the formulae-as-types correspondence.

## Programming language theory

Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages and of their individual features.

## Semantics (computer science)

In programming language theory, semantics is the rigorous mathematical study of the meaning of programming languages.

It has close links with other areas of computer science such as programming language design, type theory, compilers and interpreters, program verification and model checking.

## Theory of computation

Branch that deals with what problems can be solved on a model of computation, using an algorithm, how efficiently they can be solved or to what degree .

Branch that deals with what problems can be solved on a model of computation, using an algorithm, how efficiently they can be solved or to what degree .

Perhaps the most important open problem in all of computer science is the question of whether a certain broad class of problems denoted NP can be solved efficiently.

Regular expressions, for example, specify string patterns in many contexts, from office productivity software to programming languages.