what is theory of computation?
142824
Theory of computation\nFrom Wikipedia, the free encyclopedia\n\nThe theory of computation is the branch of computer science that deals with whether and how efficiently problems can be solved on a computer. The field is divided into two major branches: computability theory and complexity theory, but both branches deal with formal models of computation.\n\nIn order to perform a rigorous study of computation, computer scientists work with a mathematical abstractions of computers called a model of computation. There are several formulations in use, but the most commonly examined is the Turing machine. A Turing machine can be thought of as a desktop PC with an infinite memory capacity, though it can only access this memory in small discrete chunks. Computer scientists study the Turing machine because it is simple to formulate, can be analyzed and used to prove results, and because it represents what many consider the most powerful possible "reasonable" model of computation. While the infinite memory capacity might be considered an unphysical attribute, for any problem actually solved by a Turing machine the memory used will always be finite, so any problem that can be solved on a Turing machine could be solved on a desktop PC which has enough memory installed.
1097839
1.algorithm: A computable set of steps to achieve a desired result. \n\n\n2.Data struture:A conceptual unity or an organized information such as name & address of a person, tree, automatic telephone operating sytem.\n\n3.Pseudocode:Pseudocode is a kind of structured english for describing algorithms. It allows the designer to focus on the logic of the algorithm without being distracted by details of language syntax\n\n4.Flow chart:A flowchart illustrates the steps in a process. By visualizing the process, a flowchart can quickly help identify bottlenecks or inefficiencies where the process can be streamlined or improved.
850685
Here you go\nhttp://en.wikipedia.org/wiki/History_of_computing\n\n///
514
Learn well the fundamentals of Computer Science.  Hardware may constantly change (Moore's Law) but the underlying theories will last forever.  Good luck.
398053
Originally, the term "computer" referred to a person who performed numerical calculations under the direction of a mathematician, possibly with the aid of a variety of mechanical calculating devices such as the abacus onward. Examples of early calculating devices, the first ancestors of the computer, included the abacus and the Antikythera mechanism, an ancient Greek device for calculating the movements of planets, dating from about 87 BCE.[1] The end of the Middle Ages saw a reinvigoration of European mathematics and engineering, and Wilhelm Schickard's 1623 device was the first of a number of European engineers to construct a mechanical calculator.[2]\n\nCharles Babbage was the first to conceptualize and design a fully programmable computer as early as 1820, but due to a combination of the limits of the technology of the time, limited finance, and an inability to resist tinkering with his design, the device was never actually constructed in his lifetime. A number of technologies that would later prove useful in computing, such as the punch card and the vacuum tube had appeared by the end of the 19th century, and large-scale automated data processing using punch cards was performed by tabulating machines designed by Hermann Hollerith.\n\nDuring the first half of the 20th century, many scientific computing needs were met by increasingly sophisticated, special-purpose analog computers, which used a direct mechanical or electrical model of the problem as a basis for computation. These became increasingly rare after the development of the programmable digital computer.\n\nA succession of steadily more powerful and flexible computing devices were constructed in the 1930s and 1940s, gradually adding the key features of modern computers, such as the use of digital electronics (largely invented by Claude Shannon in 1937)[3] and more flexible programmability. Defining one point along this road as "the first computer" is exceedingly difficult. Notable achievements include the Atanasoff-Berry Computer (1937), a special-purpose machine that used valve-driven (vacuum tube) computation, binary numbers, and regenerative memory; the secret British Colossus computer (1944), which had limited programmability but demonstrated that a device using thousands of valves could be made reliable and reprogrammed electronically; the American ENIAC (1946) — which was the first really general purpose machine, but still used the decimal system and had an inflexible architecture that meant reprogramming it essentially required it to be rewired, and Konrad Zuse's Z machines, with the electromechanical Z3 (1941) being the first working machine featuring automatic binary arithmetic and feasible programability.\n\nThe team who developed ENIAC, recognizing its flaws, came up with a far more flexible and elegant design, which has become known as the stored program architecture, which is the basis from which virtually all modern computers were derived. A number of projects to develop computers based on the stored program architecture commenced in the late 1940s; the first of these were completed in Britain. The first to be up and running was the Small-Scale Experimental Machine, but the EDSAC was perhaps the first practical version that was developed.\n\n \nThe Apple II, an early personal computerValve-driven computer designs were in use throughout the 1950s, but were eventually replaced with transistor-based computers, which were smaller, faster, cheaper, and much more reliable, thus allowing them to be commercially produced, in the 1960s. By the 1970s, the adoption of integrated circuit technology had enabled computers to be produced at a low enough cost to allow individuals to own a personal computer of the type familiar today.\n\n[edit]\nHow computers work: the stored program architecture\nWhile the technologies used in computers have changed dramatically since the first electronic, general-purpose, computers of the 1940s, most st
212864
CENTURIES OF PROGRAMMING
969057
In mathematics and computing, an algorithm is a procedure (a finite set of well-defined instructions) for accomplishing some task which, given an initial state, will terminate in a defined end-state. The computational complexity and efficient implementation of the algorithm are important in computing, and this depends on suitable data structures.\n\nInformally, the concept of an algorithm is often illustrated by the example of a recipe, although many algorithms are much more complex; algorithms often have steps that repeat (iterate) or require decisions (such as logic or comparison). Algorithms can be composed to create more complex algorithms.\n\nThe concept of an algorithm originated as a means of recording procedures for solving mathematical problems such as finding the common divisor of two numbers or multiplying two numbers. The concept was formalized in 1936 through Alan Turing's Turing machines and Alonzo Church's lambda calculus, which in turn formed the foundation of computer science.\n\nMost algorithms can be directly implemented by computer programs; any other algorithms can at least in theory be simulated by computer programs. In many programming languages, algorithms are implemented as functions or procedures.
644860
Lots of places, actually.  Algebraic number theory, Galois theory, linear algebra, discrete geometry, and other fields have shown tremendous usefulness in producing hard-to-break cryptography and digital signature schemes.\n\nAlgebraic geometry, abstract algebra, some real analysis, discrete geometry, linear algebra, Galois theory, and other fields are integral in the design of error correcting codes used currently in CDs, DVDs, satellite communications, your telephone and broadband lines, and many other places where reliable communication is needed.\n\nComputer science (I hope the applications of this are obvious!) essentially grew out of mathematical logic, with lots of influence from universal algebra and category theory.\n\nArtificial intelligence research also borrows heavily from several mathematical fields, most especially mathematical logic.  Though the true "thinking computer" is still science fiction, some of the results of this research is already used in word processors (including the dreaded "Clippy"!!!! but more useful places too), voice recognition software, automatic optimization algorithms for electronic circuit designs,  and other software, and don't forget the Roomba!\n\nAbstract analysis has solved many problems in fluid dynamics, with applications to aerodynamic design, electronic circuit design, Internet traffic management, and even road system design!  (Cars on the road behave a lot like fluid in pipes).\n\nLie algebras, tensor algebras, manifold theory, algebraic topology, systems theory, and several other abstract mathematical topics come into play with the General Theory of Relativity (GPS satellites take into account the General Theory of Relativity for their calculations--or else they would give badly inaccurate results!  Not only their motion, but the Earth's gravity has an effect on measuring time, which is essential to the process of geolocation) as well as quantum theory (which gave us the transistor, the laser, superconductors, and other current technology....and far more future technology) and very importantly, at least from an intellectual viewpoint, much progress on "how the universe works" fundamentally (we don't know for sure yet!).
313216
Charles Babbage is known as the father of modern computer science.
263453
A Finite State Machine (FSM) is a model of behavior composed of states, transitions and actions. It is extremely useful for compiler construction. See source for details.
573287
Algorithm\n - a step by step description of a specific solution to a known problem.\n\nFor example, there are any number of algorithms (ways) of sorting information.  The bubble-sort algorithm isn't very efficient but is simple.  Binary sort is more efficient but more complex.\n\nBy understanding the way a solution works before even thinking about programming it you can identify the one most appropriate for your situation.  Different algorithms will require more space, more time, or more complexity.  \n\nYou can understand them and their trade-offs as concepts.  Then when you are ready to program the solution (apply the algorithm) you have a very good chance of getting it right.
1046124
The Electronic Universe
456771
In computer engineering, computer architecture is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements (especially speeds and interconnections) and design implementations for the various parts of a computer —focusing largely on the way by which the CPU performs internally and accesses addresses in memory.\n\n"Architecture" hence typically refers to the fixed internal structure of the CPU (ie. electronic switches to represent logic gates) to perform logical operations, and may also include the built-in interface (ie. opcode) by which hardware resources (ie. CPU, memory, and also motherboard, peripherals) may be used by the software.\n\nMore specific usages of the term include:\n\nThe design of a computer's CPU architecture, instruction set, addressing modes, and techniques such as SIMD and MIMD parallelism. \nMore general wider-scale hardware architectures, such as cluster computing and Non-Uniform Memory Access (NUMA) architectures. \nArchitecture is often defined as the set of machine attributes that a programmer should understand in order to successfully program the specific computer (i.e., being able to reason about what the program will do when executed). For example, part of the architecture are the instructions and the width of operands manipulated by them. Similarly, the frequency at which the system operates is not part of the architecture. This definition reveals the two main considerations for computer architects: (1) Design hardware that behaves as the programmers think it should. (2) Utilize existing implementation technologies (e.g., semiconductors) to build the best computer possible (best can be defined in many different ways as described in Design Goals). The latter consideration is often referred to as microarchitecture.
93226
algorithm is a basic and important part of programming. before writing any program(codes) we first design its algorithm i.e. genral steps to be taken to solve that program in normal english words called pseudocodes. so that one can easily understand what logic and aproach programmer has used to solve this problem.\n\nexample:\nalgorithm for multiplication of two numbers:\n1. declare three variables as a,b,c\n2. input first number into a\n3. input second number into b\n4. store c as a*b\n5. print c\n\nas this is not actual program but tells whats the logic behind this problem..\ni think you got answer
296343
The study of organizing data.  It implies Computers.
376562
I think that referrs to the computur programs that mimic biological entities.\n\nFor example, programming many small robots to behave like ants is one (source 1).\n\nOr a computer program that models behavior of bacteria or another single celled organism. (source 2)\n\nIt might help to know what context it was written in, or where you hear it used.
714870
This is one of the overstated things - depends greatly on whether you want to be a coder, analyst, tester, theoretical scientist or whatever:\n- discrete mathematics, proofs, logical reasoning, induction, set theory, graph theory are pretty important to most algorithms\n- calculus, algebra, geometry and even less relevant domains etc. are *not* particularly directly important except in general insofar as they build necessary theoretical rigor as above, depending on how much you need\n\nThere are many different schools of thought on teaching and learning computer science concepts, and they can all be simultaneously right, depending on what level you're talking about.