1.
Sofia
–
Sofia is the capital and largest city of Bulgaria. The city has a population of 1.26 million, while 1.68 million people live in its metropolitan area, the city is located at the foot of Vitosha Mountain in the western part of the country, within less than 50 kilometres drive from the Serbian border. Its location in the centre of the Balkan peninsula means that it is the midway between the Black Sea and the Adriatic Sea, whereas the Aegean Sea is the closest to it, Sofia has been an area of human habitation since at least 7000 BC. Being Bulgarias primate city, Sofia is a hometown of many of the local universities, cultural institutions. Sofia is one of the top 10 best places for business in the world. Sofia is Europes most affordable capital to visit as of 2013, for the longest time the city possessed a Thracian name, derived from the tribe Serdi, who were either of Thracian, Celtic, or mixed Thracian-Celtic origin. It seems that the first written mention of Serdica was made during his reign, during the Romans civitas Serdenisium was mentioned the brightest city of the Serdi in official inscriptions. The city was major throughout the past ever since Antiquity, when Roman emperor Constantine the Great referred to it as my Rome, other names given to Sofia, such as Serdonpolis and Triaditza, were mentioned by Byzantine Greek sources or coins. The Slavic name Sredets, which is related to middle and to the citys earliest name, the city was called Atralissa by the Arab traveller Idrisi and Strelisa, Stralitsa or Stralitsion by the Crusaders. The name Sofia comes from the Saint Sofia Church, as opposed to the prevailing Slavic etymology among Bulgarian cities and towns. It is ultimately derived from the Egyptian Kemetic word sbÅ, meaning star, door, teaching and wisdom and this was a tradition of collection of wise literature, shared between Mediterranean cultures, which was called sophia in Greek. In these documents the city is called Sofia, but at the time the region and the citys inhabitants are still called Sredecheski. The city became popular to the Ottomans by the name Sofya. In 1879 there was a dispute about what the name of the new Bulgarian capital should be, the citys name is pronounced by Bulgarians with a stress on the o, in contrast with the tendency of foreigners to place the stress on i. The female given name Sofia is pronounced by Bulgarians with a stress on the i, Sofia has an area of 492 km2, while Sofia City Province has an area of 1344 km2. Sofias development as a significant settlement owes much to its position in the Balkans. It is situated in western Bulgaria, at the foot of the Vitosha mountain, in the Sofia Valley that is surrounded by the Balkan mountains to the north. The valley has an altitude of 550 metres

2.
Bulgaria
–
Bulgaria, officially the Republic of Bulgaria, is a country in southeastern Europe. It is bordered by Romania to the north, Serbia and Macedonia to the west, Greece and Turkey to the south, with a territory of 110,994 square kilometres, Bulgaria is Europes 16th-largest country. Organised prehistoric cultures began developing on current Bulgarian lands during the Neolithic period and its ancient history saw the presence of the Thracians, Greeks, Persians, Celts, Romans, Goths, Alans and Huns. With the downfall of the Second Bulgarian Empire in 1396, its territories came under Ottoman rule for five centuries. The Russo-Turkish War of 1877–78 led to the formation of the Third Bulgarian State, the following years saw several conflicts with its neighbours, which prompted Bulgaria to align with Germany in both world wars. In 1946 it became a one-party socialist state as part of the Soviet-led Eastern Bloc, in December 1989 the ruling Communist Party allowed multi-party elections, which subsequently led to Bulgarias transition into a democracy and a market-based economy. Bulgarias population of 7.2 million people is predominantly urbanised, most commercial and cultural activities are centred on the capital and largest city, Sofia. The strongest sectors of the economy are industry, power engineering. The countrys current political structure dates to the adoption of a constitution in 1991. Bulgaria is a parliamentary republic with a high degree of political, administrative. Human activity in the lands of modern Bulgaria can be traced back to the Paleolithic, animal bones incised with man-made markings from Kozarnika cave are assumed to be the earliest examples of symbolic behaviour in humans. Organised prehistoric societies in Bulgarian lands include the Neolithic Hamangia culture, Vinča culture, the latter is credited with inventing gold working and exploitation. Some of these first gold smelters produced the coins, weapons and jewellery of the Varna Necropolis treasure and this site also offers insights for understanding the social hierarchy of the earliest European societies. Thracians, one of the three primary groups of modern Bulgarians, began appearing in the region during the Iron Age. In the late 6th century BC, the Persians conquered most of present-day Bulgaria, and kept it until 479 BC. After the division of the Roman Empire in the 5th century the area fell under Byzantine control, by this time, Christianity had already spread in the region. A small Gothic community in Nicopolis ad Istrum produced the first Germanic language book in the 4th century, the first Christian monastery in Europe was established around the same time by Saint Athanasius in central Bulgaria. From the 6th century the easternmost South Slavs gradually settled in the region, in 680 Bulgar tribes under the leadership of Asparukh moved south across the Danube and settled in the area between the lower Danube and the Balkan, establishing their capital at Pliska

3.
Computer program
–
A computer program is a collection of instructions that performs a specific task when executed by a computer. A computer requires programs to function, and typically executes the programs instructions in a processing unit. A computer program is written by a computer programmer in a programming language. From the program in its form of source code, a compiler can derive machine code—a form consisting of instructions that the computer can directly execute. Alternatively, a program may be executed with the aid of an interpreter. A part of a program that performs a well-defined task is known as an algorithm. A collection of programs, libraries and related data are referred to as software. Computer programs may be categorized along functional lines, such as software or system software. The earliest programmable machines preceded the invention of the digital computer, in 1801, Joseph-Marie Jacquard devised a loom that would weave a pattern by following a series of perforated cards. Patterns could be weaved and repeated by arranging the cards, in 1837, Charles Babbage was inspired by Jacquards loom to attempt to build the Analytical Engine. The names of the components of the device were borrowed from the textile industry. In the textile industry, yarn was brought from the store to be milled, the device would have had a store—memory to hold 1,000 numbers of 40 decimal digits each. Numbers from the store would then have then transferred to the mill. It was programmed using two sets of perforated cards—one to direct the operation and the other for the input variables, however, after more than 17,000 pounds of the British governments money, the thousands of cogged wheels and gears never fully worked together. During a nine-month period in 1842–43, Ada Lovelace translated the memoir of Italian mathematician Luigi Menabrea, the memoir covered the Analytical Engine. The translation contained Note G which completely detailed a method for calculating Bernoulli numbers using the Analytical Engine and this note is recognized by some historians as the worlds first written computer program. In 1936, Alan Turing introduced the Universal Turing machine—a theoretical device that can model every computation that can be performed on a Turing complete computing machine and it is a finite-state machine that has an infinitely long read/write tape. The machine can move the back and forth, changing its contents as it performs an algorithm

4.
Calculus
–
Calculus is the mathematical study of continuous change, in the same way that geometry is the study of shape and algebra is the study of generalizations of arithmetic operations. It has two branches, differential calculus, and integral calculus, these two branches are related to each other by the fundamental theorem of calculus. Both branches make use of the notions of convergence of infinite sequences. Generally, modern calculus is considered to have developed in the 17th century by Isaac Newton. Today, calculus has widespread uses in science, engineering and economics, Calculus is a part of modern mathematics education. A course in calculus is a gateway to other, more advanced courses in mathematics devoted to the study of functions and limits, Calculus has historically been called the calculus of infinitesimals, or infinitesimal calculus. Calculus is also used for naming some methods of calculation or theories of computation, such as calculus, calculus of variations, lambda calculus. The ancient period introduced some of the ideas that led to integral calculus, the method of exhaustion was later discovered independently in China by Liu Hui in the 3rd century AD in order to find the area of a circle. In the 5th century AD, Zu Gengzhi, son of Zu Chongzhi, indian mathematicians gave a non-rigorous method of a sort of differentiation of some trigonometric functions. In the Middle East, Alhazen derived a formula for the sum of fourth powers. He used the results to carry out what would now be called an integration, Cavalieris work was not well respected since his methods could lead to erroneous results, and the infinitesimal quantities he introduced were disreputable at first. The formal study of calculus brought together Cavalieris infinitesimals with the calculus of finite differences developed in Europe at around the same time, pierre de Fermat, claiming that he borrowed from Diophantus, introduced the concept of adequality, which represented equality up to an infinitesimal error term. The combination was achieved by John Wallis, Isaac Barrow, and James Gregory, in other work, he developed series expansions for functions, including fractional and irrational powers, and it was clear that he understood the principles of the Taylor series. He did not publish all these discoveries, and at this time infinitesimal methods were considered disreputable. These ideas were arranged into a calculus of infinitesimals by Gottfried Wilhelm Leibniz. He is now regarded as an independent inventor of and contributor to calculus, unlike Newton, Leibniz paid a lot of attention to the formalism, often spending days determining appropriate symbols for concepts. Leibniz and Newton are usually credited with the invention of calculus. Newton was the first to apply calculus to general physics and Leibniz developed much of the used in calculus today

5.
Computer science
–
Computer science is the study of the theory, experimentation, and engineering that form the basis for the design and use of computers. An alternate, more succinct definition of science is the study of automating algorithmic processes that scale. A computer scientist specializes in the theory of computation and the design of computational systems and its fields can be divided into a variety of theoretical and practical disciplines. Some fields, such as computational complexity theory, are highly abstract, other fields still focus on challenges in implementing computation. Human–computer interaction considers the challenges in making computers and computations useful, usable, the earliest foundations of what would become computer science predate the invention of the modern digital computer. Machines for calculating fixed numerical tasks such as the abacus have existed since antiquity, further, algorithms for performing computations have existed since antiquity, even before the development of sophisticated computing equipment. Wilhelm Schickard designed and constructed the first working mechanical calculator in 1623, in 1673, Gottfried Leibniz demonstrated a digital mechanical calculator, called the Stepped Reckoner. He may be considered the first computer scientist and information theorist, for, among other reasons and he started developing this machine in 1834, and in less than two years, he had sketched out many of the salient features of the modern computer. A crucial step was the adoption of a card system derived from the Jacquard loom making it infinitely programmable. Around 1885, Herman Hollerith invented the tabulator, which used punched cards to process statistical information, when the machine was finished, some hailed it as Babbages dream come true. During the 1940s, as new and more powerful computing machines were developed, as it became clear that computers could be used for more than just mathematical calculations, the field of computer science broadened to study computation in general. Computer science began to be established as an academic discipline in the 1950s. The worlds first computer science program, the Cambridge Diploma in Computer Science. The first computer science program in the United States was formed at Purdue University in 1962. Since practical computers became available, many applications of computing have become distinct areas of study in their own rights and it is the now well-known IBM brand that formed part of the computer science revolution during this time. IBM released the IBM704 and later the IBM709 computers, still, working with the IBM was frustrating if you had misplaced as much as one letter in one instruction, the program would crash, and you would have to start the whole process over again. During the late 1950s, the science discipline was very much in its developmental stages. Time has seen significant improvements in the usability and effectiveness of computing technology, modern society has seen a significant shift in the users of computer technology, from usage only by experts and professionals, to a near-ubiquitous user base

6.
Keyboard layout
–
A keyboard layout is any specific mechanical, visual, or functional arrangement of the keys, legends, or key-meaning associations of a computer, typewriter, or other typographic keyboard. Mechanical layout The placements and keys of a keyboard, visual layout The arrangement of the legends that appear on the keys of a keyboard. Functional layout The arrangement of the associations, determined in software. Most computer keyboards are designed to send scancodes to the operating system, from there, the series of scancodes is converted into a character stream by keyboard layout software. This allows a keyboard to be dynamically mapped to any number of layouts without switching hardware components – merely by changing the software that interprets the keystrokes. It is usually possible for a user to change keyboard operation. There is some variation between different keyboard models in the mechanical layout – i. e. how many there are. However, differences between national layouts are mostly due to different selections and placements of symbols on the character keys, the core section of a keyboard comprises character keys, which can be used to type letters and other characters. Typically, there are three rows of keys for typing letters and punctuation, a row for typing digits and special symbols. The positioning of the keys is similar to the keyboard of a typewriter. Besides the character keys, a keyboard incorporates special keys that do nothing by themselves, for example, the ⇧ Shift key can be used to alter the output of character keys, whereas the Ctrl and Alt keys trigger special operations when used in concert with other keys. Typically, a key is held down while another key is struck. To facilitate this, modifier keys usually come in pairs, one functionally identical key for each hand, so holding a modifier key with one hand leaves the other hand free to strike another key. An alphanumeric key labeled with only a letter can generally be struck to type either a lower case or capital letter. The ⇧ Shift key is used to type the upper of two symbols engraved on a given key, the lower being typed without using the modifier key. The English alphanumeric keyboard has a key for each of the letters A–Z, along with keys for punctuation. In many other languages there are additional letters or symbols, which also need to be available on the keyboard, to make room for additional symbols, keyboards often have what is effectively a secondary shift key, labeled AltGr. It can be used to type an extra symbol in addition to the two otherwise available with a key, and using it simultaneously with the Shift key may even give access to a fourth symbol

7.
Standardization
–
It can also facilitate commoditization of formerly custom processes. This view includes the case of spontaneous standardization processes, to de facto standards. Standard weights and measures were developed by the Indus Valley Civilisation, weights existed in multiples of a standard weight and in categories. Technical standardisation enabled gauging devices to be used in angular measurement and measurement for construction. Uniform units of length were used in the planning of such as Lothal, Surkotada, Kalibangan, Dolavira, Harappa. The weights and measures of the Indus civilisation also reached Persia and Central Asia, Standardisation is also related to Processes. In view of large variations in units related to Civil, Electrical and other Engineering streams, engineers united to overcome the situation and this association later on gave birth to ISO in 1950. ISO stands for International Organisation for Standardisation and this voluntary organisation is solely dedicated to standardisation and makes standards related to it. Certification as per ISO norms is popular all across world, henry Maudslay developed the first industrially practical screw-cutting lathe in 1800. This allowed for the standardisation of screw thread sizes for the first time, before this, screw threads were usually made by chipping and filing. Nuts were rare, metal screws, when made at all, were usually for use in wood, metal bolts passing through wood framing to a metal fastening on the other side were usually fastened in non-threaded ways. This was an advance in workshop technology. Maudslays work, as well as the contributions of other engineers, accomplished a modest amount of industry standardization, joseph Whitworths screw thread measurements were adopted as the first national standard by companies around the country in 1841. It came to be known as the British Standard Whitworth, and was adopted in other countries. This new standard specified a 55° thread angle and a depth of 0. 640327p and a radius of 0. 137329p. The thread pitch increased with diameter in steps specified on a chart, an example of the use of the Whitworth thread is the Royal Navys Crimean War gunboats. These were the first instance of mass-production techniques being applied to marine engineering, American Unified Coarse was originally based on almost the same imperial fractions. The Unified thread angle is 60° and has flattened crests, thread pitch is the same in both systems except that the thread pitch for the 1⁄2 in bolt is 12 threads per inch in BSW versus 13 tpi in the UNC

8.
Clement of Ohrid
–
Saint Clement of Ohrid was a medieval Bulgarian saint, scholar, writer and enlightener of the Slavs. He was the founder of the Ohrid Literary School and is regarded as a patron of education, according to his hagiography by Theophylact of Ohrid, Clement knew the life of Methodius like no other. That is why most scholars think he was born in Byzantine empire in the territory where Methodius served during his political career, according to others, the area of Southern Macedonia, where he was born, was then part of Bulgaria. Because of that some scholars label him as Bulgarian Slav, a fringe view on his origin is saying Clement was born in Great Moravia. This view is based on the analysis of Clements works. The exact date of his birth is unknown, most probably he joined Methodius as a young man following him later to the monastery on Olympus. Clement participated in the mission of Cyril and Methodius to Great Moravia, after the death of Cyril, Clement accompanied Methodius on his journey from Rome to Pannonia and Great Moravia. After the death of Methodius himself in 885, Clement headed the struggle against the German clergy in Great Moravia along with Gorazd. After spending some time in jail, he was expelled from Great Moravia and in 885 or 886 reached the borders of Bulgaria together with Naum of Preslav, Angelarius and possibly Gorazd. Thereafter, the four of them were sent to the Bulgarian capital of Pliska where they were commissioned by Boris I of Bulgaria to instruct the future clergy of the state in the Slavonic language. After the adoption of Christianity in 865, religious ceremonies in Bulgaria were conducted in Greek by clergy sent from the Byzantine Empire. Fearing growing Byzantine influence and weakening of the state, Boris viewed the adoption of the Old Slavonic language as a way to preserve the political independence and stability of Bulgaria. With a view thereto, Boris made arrangements for the establishment of two literary academies where theology was to be taught in the Slavonic language, the first of the schools was to be founded in the capital, Pliska, and the second in the region of Kutmichevitsa. For a period of seven years Clement taught some 3,500 disciples in the Slavonic language, in 893 he was ordained archbishop of Drembica, also in Kutmichevica. Upon his death in 916 he was buried in his monastery, Saint Panteleimon, Saint Clement of Ohrid was one of the most prolific and important writers in Old Church Slavonic. He is credited with the Panonic Hagiography of Saint Cyril and Saint Methodius, the invention of the Cyrillic alphabet is also usually ascribed to him although the alphabet is most likely to have been developed at the Preslav Literary School at the beginning of the 10th century. The first modern Bulgarian university, Sofia University, was named after Clement upon its foundation in 1888, the Macedonian National and University Library, founded on November 23,1944, also bears his name. The University in Bitola, established in 1979, is named after Clement, as well as the Bulgarian scientific base, in November 2008, the Macedonian Orthodox Church donated part of Clements relics to the Bulgarian Orthodox Church as a sign of good will

9.
Mathematician
–
A mathematician is someone who uses an extensive knowledge of mathematics in his or her work, typically to solve mathematical problems. Mathematics is concerned with numbers, data, quantity, structure, space, models, one of the earliest known mathematicians was Thales of Miletus, he has been hailed as the first true mathematician and the first known individual to whom a mathematical discovery has been attributed. He is credited with the first use of deductive reasoning applied to geometry, the number of known mathematicians grew when Pythagoras of Samos established the Pythagorean School, whose doctrine it was that mathematics ruled the universe and whose motto was All is number. It was the Pythagoreans who coined the term mathematics, and with whom the study of mathematics for its own sake begins, the first woman mathematician recorded by history was Hypatia of Alexandria. She succeeded her father as Librarian at the Great Library and wrote works on applied mathematics. Because of a dispute, the Christian community in Alexandria punished her, presuming she was involved, by stripping her naked. Science and mathematics in the Islamic world during the Middle Ages followed various models and it was extensive patronage and strong intellectual policies implemented by specific rulers that allowed scientific knowledge to develop in many areas. As these sciences received wider attention from the elite, more scholars were invited and funded to study particular sciences, an example of a translator and mathematician who benefited from this type of support was al-Khawarizmi. A notable feature of many working under Muslim rule in medieval times is that they were often polymaths. Examples include the work on optics, maths and astronomy of Ibn al-Haytham, the Renaissance brought an increased emphasis on mathematics and science to Europe. As time passed, many gravitated towards universities. Moving into the 19th century, the objective of universities all across Europe evolved from teaching the “regurgitation of knowledge” to “encourag productive thinking. ”Thus, seminars, overall, science became the focus of universities in the 19th and 20th centuries. Students could conduct research in seminars or laboratories and began to produce doctoral theses with more scientific content. According to Humboldt, the mission of the University of Berlin was to pursue scientific knowledge. ”Mathematicians usually cover a breadth of topics within mathematics in their undergraduate education, and then proceed to specialize in topics of their own choice at the graduate level. In some universities, a qualifying exam serves to test both the breadth and depth of an understanding of mathematics, the students, who pass, are permitted to work on a doctoral dissertation. Mathematicians involved with solving problems with applications in life are called applied mathematicians. Applied mathematicians are mathematical scientists who, with their knowledge and professional methodology. With professional focus on a variety of problems, theoretical systems

10.
Computational complexity theory
–
A problem is regarded as inherently difficult if its solution requires significant resources, whatever the algorithm used. The theory formalizes this intuition, by introducing mathematical models of computation to study these problems and quantifying the amount of resources needed to solve them, such as time and storage. Other complexity measures are used, such as the amount of communication, the number of gates in a circuit. One of the roles of computational complexity theory is to determine the limits on what computers can. Closely related fields in computer science are analysis of algorithms. More precisely, computational complexity theory tries to classify problems that can or cannot be solved with appropriately restricted resources, a computational problem can be viewed as an infinite collection of instances together with a solution for every instance. The input string for a problem is referred to as a problem instance. In computational complexity theory, a problem refers to the question to be solved. In contrast, an instance of this problem is a rather concrete utterance, for example, consider the problem of primality testing. The instance is a number and the solution is yes if the number is prime, stated another way, the instance is a particular input to the problem, and the solution is the output corresponding to the given input. For this reason, complexity theory addresses computational problems and not particular problem instances, when considering computational problems, a problem instance is a string over an alphabet. Usually, the alphabet is taken to be the binary alphabet, as in a real-world computer, mathematical objects other than bitstrings must be suitably encoded. For example, integers can be represented in binary notation, and graphs can be encoded directly via their adjacency matrices and this can be achieved by ensuring that different representations can be transformed into each other efficiently. Decision problems are one of the objects of study in computational complexity theory. A decision problem is a type of computational problem whose answer is either yes or no. A decision problem can be viewed as a language, where the members of the language are instances whose output is yes. The objective is to decide, with the aid of an algorithm, if the algorithm deciding this problem returns the answer yes, the algorithm is said to accept the input string, otherwise it is said to reject the input. An example of a problem is the following

11.
Discrete mathematics
–
Discrete mathematics is the study of mathematical structures that are fundamentally discrete rather than continuous. Discrete mathematics therefore excludes topics in mathematics such as calculus. Discrete objects can often be enumerated by integers, more formally, discrete mathematics has been characterized as the branch of mathematics dealing with countable sets. However, there is no definition of the term discrete mathematics. Indeed, discrete mathematics is described less by what is included than by what is excluded, continuously varying quantities, the set of objects studied in discrete mathematics can be finite or infinite. The term finite mathematics is sometimes applied to parts of the field of mathematics that deals with finite sets. Conversely, computer implementations are significant in applying ideas from mathematics to real-world problems. Although the main objects of study in mathematics are discrete objects. In university curricula, Discrete Mathematics appeared in the 1980s, initially as a computer science support course, some high-school-level discrete mathematics textbooks have appeared as well. At this level, discrete mathematics is seen as a preparatory course. The Fulkerson Prize is awarded for outstanding papers in discrete mathematics, the history of discrete mathematics has involved a number of challenging problems which have focused attention within areas of the field. In graph theory, much research was motivated by attempts to prove the four color theorem, first stated in 1852, in logic, the second problem on David Hilberts list of open problems presented in 1900 was to prove that the axioms of arithmetic are consistent. Gödels second incompleteness theorem, proved in 1931, showed that this was not possible – at least not within arithmetic itself, Hilberts tenth problem was to determine whether a given polynomial Diophantine equation with integer coefficients has an integer solution. In 1970, Yuri Matiyasevich proved that this could not be done, at the same time, military requirements motivated advances in operations research. The Cold War meant that cryptography remained important, with fundamental advances such as public-key cryptography being developed in the following decades, operations research remained important as a tool in business and project management, with the critical path method being developed in the 1950s. The telecommunication industry has also motivated advances in mathematics, particularly in graph theory. Formal verification of statements in logic has been necessary for development of safety-critical systems. Computational geometry has been an important part of the computer graphics incorporated into modern video games, currently, one of the most famous open problems in theoretical computer science is the P = NP problem, which involves the relationship between the complexity classes P and NP

12.
Theory of computation
–
In theoretical computer science and mathematics, the theory of computation is the branch that deals with how efficiently problems can be solved on a model of computation, using an algorithm. In order to perform a study of computation, computer scientists work with a mathematical abstraction of computers called a model of computation. There are several models in use, but the most commonly examined is the Turing machine and it might seem that the potentially infinite memory capacity is an unrealizable attribute, but any decidable problem solved by a Turing machine will always require only a finite amount of memory. So in principle, any problem that can be solved by a Turing machine can be solved by a computer that has an amount of memory. The theory of computation can be considered the creation of models of all kinds in the field of computer science, therefore, mathematics and logic are used. In the last century it became an independent academic discipline and was separated from mathematics, some pioneers of the theory of computation were Alonzo Church, Kurt Gödel, Alan Turing, Stephen Kleene, John von Neumann and Claude Shannon. Automata theory is the study of abstract machines and the problems that can be solved using these machines. These abstract machines are called automata, Automata comes from the Greek word which means that something is doing something by itself. Automata theory is closely related to formal language theory, as the automata are often classified by the class of formal languages they are able to recognize. An automaton can be a representation of a formal language that may be an infinite set. Automata are used as models for computing machines, and are used for proofs about computability. Language theory is a branch of mathematics concerned with describing languages as a set of operations over an alphabet and it is closely linked with automata theory, as automata are used to generate and recognize formal languages. Because automata are used as models for computation, formal languages are the mode of specification for any problem that must be computed. Computability theory deals primarily with the question of the extent to which a problem is solvable on a computer, much of computability theory builds on the halting problem result. Many mathematicians and computational theorists who study recursion theory will refer to it as computability theory, Complexity theory considers not only whether a problem can be solved at all on a computer, but also how efficiently the problem can be solved. In order to analyze how much time and space a given algorithm requires, for example, finding a particular number in a long list of numbers becomes harder as the list of numbers grows larger. If we say there are n numbers in the list, then if the list is not sorted or indexed in any way we may have to look at every number in order to find the number were seeking. We thus say that in order to solve this problem, the needs to perform a number of steps that grows linearly in the size of the problem