Buthayna AlMulla





Theory of Computation


When we talk about theory of computation we talk about the great discipline of the computational process. Computational processes are the steps of calculation that are built or taken in order to solve problems or automate processes. The study involves exploring how far we can go with the computational processes. It involves what we can and cannot do using them. It further explores how we can get to where we want to be. It also helps us know what we need in the process and how much of it. It also involves understanding efficiency in computing; it is not only about getting a solution, it is about getting the best solution that can help us make a difference. ItÕs also about getting to the answers quickly. All of this can be done through mathematical models and techniques.


Theory of computation can help the computer scientist write a program or a set of programs. The theory was in fact used to write programs to translate languages. What the theory does is that it simplifies the complicated problems computer scientists have to deal with. The theories build effective problem solving strategies that could be in great use when solving problems. Moreover, the theories are extremely helpful in expanding the understanding skills of the student. This is really important especially in the studies of computer science; where the technologies and methods are constantly advancing and changing. As the technology advances a computer scientist must catch up with the new ways of doing things. Studying the theories of computation teaches you to think. This is extremely helpful in catching up with the new processes quickly. The theories of computation can turn a good computer scientist into a great computer scientist. So, they indeed are a fundamental area of computer science.


Based on the theories of computation, when we face a problem that is seen to be complex and difficult we can deal with it in different ways. The first thing these theories do is help you determine the difficulty of the problem. This is important as it will help you choose which method youÕd go by to solve the problem. One of the ways is that we can change the problem slightly to make it easier to solve. We can also deal with some parts of it and give a solution that wonÕt solve the whole problem but rather a good amount of it.



Computer & Information Sciences at UD: Research - Core Research Area: Theory of Computation. Cis.udel.edu. Retrieved 30 August 2016, from http://www.cis.udel.edu/research/computation.html


Goldreich, O. Brief Introduction to the Theory of Computation. Wisdom.weizmann.ac.il. Retrieved 30 August 2016, from http://www.wisdom.weizmann.ac.il/~oded/toc-bi.html


Simonson, S. (2010). Lecture 1 - Finite State Machines (Part 1/9). Retrieved from https://www.youtube.com/watch?v=HyUK5RAJg1c&list=PL601FC994BDD963E4


Sipser, M. (2006). Introduction to the theory of computation. Boston: Thomson Course Technology.



Three things I wish to know:


What sorts of problems will we be solving?


How will we determine the difficulty of the problem?


What kind of theories are they?