But is there any significance to all this in the study of computer science?
The Halting problem lets us reason about the relative difficulty of algorithms. It lets us know that, there are some algorithms that don't exist, that sometimes, all we can do is guess at a problem, and never know if we've solved it.
Think about:: Given a Turing Machine M, input string w, does M halt on w?
Note, M doesn't have to accept w, it just has to halt on w. For instance, when we end up in a "dead state" in a state automaton.
As a formal language, HALT = {<M. w> | M is a Turing Machine and M halts on w}.
Not all problems mathematical and otherwise have algorithms to solve them. This was the big question many people grappled with until Alan Turing proved that not all problems have algorithms to solve them. He did this with his famous proof, The Halting Problem.
A famous problem in Mathematics is The Goldbach Conjecture. The question goes like this:
Question 3 Can every even number greater than 2, be written as the sum of two primes?
Question 4: Is Mathematics decidable? Is there some kind of step by step method that can tell us whether it is true or not?
For example, is there always a true/false output for every mathematical question?