Theory of Computing

Can someone explain to me the use / importance of studying Computational Theory.

I had a course on the same issue during graduation, but I did not study in different ways.

I also found the following link where a video lecture is available.

http://aduni.org/courses/theory/index.php?view=cw

+4
source share
8 answers

Shay Simonson class is really very good. I listened to them. As he says in the opening lecture, "Theory of Computing" is a study of abstract concepts. But these abstract concepts are really very important for a better understanding of the field of computing, since most of the concepts that we deal with have a lot of abstract and logical reinforcements. As John Saunders said in the above answer, you can become a programmer, even a good one, if you know the programming language well. But knowing what happens below will always make you enlightened. So go ahead and study it again (NB: I understand why you did not study it seriously in college. Most of the teachers in our colleges do not explain this subject so well (I also had a lousy teacher), but I assure you, the teacher is here - the best you can get)

+8
source

I think that every computer science student should know some theory of computing, even you will not do any research.

Some concepts are simply universal, and you will come across them again and again in other courses. For instance. state machines, you need to know them when you study string matching algorithms and compilers. In another example, you will learn some reduction algorithms (turning from one model to another model) in the theory of calculations, these things will teach you to think abstractly and algorithmically.

+5
source

The greatest of all human abilities is the power of abstraction. This is what separates us from the animal. The more we use this power, the more successfully we solve problems.

Playing chess may seem like a pointless pastime for some and never a practical use for anyone, but it is of great importance to give the player the opportunity to think ahead every time it is important to make an important decision.

In addition, it shows the elegance and simplicity that are hidden under the layers of ugly syntax and brain code that we sift every day to make a living.

+2
source

The importance of computing theory will depend on what you do in your life. If you want to be a computer scientist, this is an important foundation for your future research.

If you just want to be a programmer or software engineer, then you will probably never use knowledge again.

+1
source

In addition to the usefulness of various tools (regular expressions, contextual free grammars, machine states, etc.) in your daily life as a programmer, a good theoretical course in computer science will teach you how to model certain problems in a way that you can fight effectively.

Decisions that seem smart to people without training in this discipline seem natural and “right” to people who have. I recommend that you pay close attention to what is happening in your course, as this will give you a very powerful set of tools that will help you as a programmer and an abstract thinker.

+1
source

This is really not without practical aspects regarding software development.

For example, you may be tempted to parse some programming language as a contribution to your program using regular expressions. CS theory proves why this is a bad idea (most programming language syntaxes are not regular) and can never be overcome no matter how much you would like to try.

Other examples may include problems with NPCs, etc.

Basically, CS theory can teach you many important things about reasoning. But it also describes the fundamental limits of programming and algorithms.

"Know your limits"

0
source

Computational theory is a kind of pivot point among computer science, linguistics and mathematics. If you have intellectual curiosity, then expose yourself to the basic theory. If you just want to easily plunge into the fact that computers do certain things, you can probably skip it. Me? I love it. But I also liked the topology, so I cannot be a typical developer in this regard.

0
source

Some practical examples:

Before you spend a lot of time on a problem, you will want to know:

  • If the problem cannot be resolved.

  • If there is a “ polynomial ” solution, as some problems may not have a good “solution (or at least we don’t currently know of;))

  • (A little less practical) you will want to know if the problem is “harder” than the other, that is, it takes more time / space.

0
source

All Articles