Theory of computation > Introduction
Many comp sci student are most concerned with practical problems from the practical world. However, their comp sci curriculum seems is not always directly applicable. This sets up a conflict 'of interest' which if not addressed properly could rob the computer scientist of one of his most important tools.
Why Study Theory?
- It helps us understand the general nature of the discipline and the underlying principles that run throughout the discipline.
- Some theory is directly applicable to real world problems
- Theory is intellectually stimulating (it trains your mind) and fun (no comment)!
To study common principles we construct abstact models of computers and computation.
Models embody feature of hardware and sofware
Concepts
| Automaton (models Hardware) | Has all the indespensable feature of a digital computer. Accepts INPUT, produce OUTPUT, may have some temporary storage and can make decisions |
| A formal language (model a programming language) | Consists a set of symbols a& rules of formation for combining them into sentences. The language is the set of all sentences permitted by the rules |
| Algorithm (models mechanical computation) | Study the kinds of problems that are or not solvable by mechanical computation |
Conclusion
Studying the theory of computation shows the close connection between these elements of the discipline and the conclusions that can be drawn are studied
