2

I'm interested in developing a solid CS/Electrical Engineering foundation that would enable me to branch out in the future to any CS-related field. I've read other literature recommendations and have recently gotten ahold of Sipser's second edition Intro. to the Theory of Computation, contains the theories of finite automata, complexity, and computability.

As a noobie, I didn't expect the book to read like a math textbook, and I found it difficult to stay interested in the material as it was difficult to feel it's relevance to any kind of practical computation. I'm not terribly interested in theory, but I want to develop a deep understanding of computers.

Is there some other platform missing that would enable me to appreciate the TOC? Is the TOC simply a starting point that I must grind through?

  • 4
    It's unclear what you're looking for. Let me make an analogy: you're asking if it's necessary to understand engines in detail to understand cars. Well, that depends. If you're interested in automotive engineering, you probably do need to understand that; if you're interested in being a really good driver, you probably don't need to understand all the details about how engines work. You talk about electrical engineering and "understanding computers" but it's not clear whether you're interested in electronic engineering, computer science, programming, using computers or something else. – David Richerby Jul 03 '16 at 15:50
  • 3
    Ultimately, though, , your question is not a good fit for the Stack Exchange format. We prefer questions that have objectively correct answers that will be useful both to the asker and others who have the same question in the future. What is or is not a suitable topic for study, projects or research is very much a matter of opinion and depends crucially on the interests and skills of the person who will be doing the work and the support that will be available to them. – David Richerby Jul 03 '16 at 15:51
  • 1
    Should I get rid of this question somehow? Thanks for the perspective :) – A.J. Hulgus Jul 03 '16 at 18:00
  • 1
    I will not enter in a long theory vs applications debate. However, in retrospect, it's possible to find real-world practical engineering mistakes which could be avoided using theory. For instance, computability will almost never tell you "how to solve X", but will tell "stay away from X, it can't be solved". Example: postscript is a widespread language mostly used to send a printer a print job. It's Turing-powerful (not hard to prove). By Rice's theorem, there is no algorithm which can count the pages in an arbitrary PS document. This should have made the designers pick something else. – chi Jul 04 '16 at 08:47
  • 2
    Willing to learn CS and willing to skip the maths are contradictory goals. Check the programs of CS Masters in universities. –  Jul 26 '22 at 16:28
  • Though the Theory of Computability may be of secondary interest for practitioners in Software Engineering, the Theory of Computational Complexity is an absolute must. –  Mar 24 '23 at 11:28

2 Answers2

0

As a computer science student I suggest to have a look on theory of computation because the concepts in theory of computation have useful and vital applications used by general purpose languages and this theory has useful and easy solving problems through which Logical building, analytical thinking will be improved not only that many new technical skills will be improved.

Every one is beginner from beginning ,Even I don't know about this theory when I was young and I got fascinated after learning and solving questions on this theory ,it is fascinating for those who are interested in coding, debugging etc.

Through exploration of different field there will be a grasp of knowledge and will excel in their general purpose domains like machine learning, cloud servicing, ethical hacking

This is not just a theory but also makes us to understand to solve the real world problems in a simple way. Such a complex problems are solvable in affable and simple methods

In This way I message that theory of computation is a necessary for a general purpose beginner

0

You say you're seeking solid foundation in Computer science and Electrical Engineering. There is not a school in this world that teaches these subjects without teaching not only theory of computation, but also linear algebra, analysis, logic, and discrete mathematics. These are the foundations, and are unavoidable.

If we remove the words "science" and "engineering", then perhaps you can get by without the foundations. But you're not going to be an engineer of any sort.

Andrej Bauer
  • 30,396
  • 1
  • 70
  • 117