Important! In class we went over a number of examples of different alphabets, strings and languages. Those examples are important!
For example, suppose your original problem is "Compute (3 + (2*x)) + x*4 given x". As a decision problem this , might become "Given a string x:y, where x and y are strings of digits, decide if x:y is in the language of strings for which the numbers encoded by x and y satisfy y = (3 + (2*x)) + x*4".
By restricting our attention to decision problems like this, our computational models can become much simpler, so at some points we'll just talk about decision problems. True, the decision problem is often easier that the original problem, but this is OK. What we'll show at the end of the semester, is that there's a straightforward decision problem of the type described above that can't be solved by any computer or computer program. No matter how clever you are writing your program or building your machine, there will always be some input strings that foil your program. Either it will give wrong answers, or it will run forever, never giving any answer at all! This result about the limitations of computation is one of the most important results, from a philosophical perspective, in computer science and mathematics. And by the end of the semester you will not only understand the result, but how to prove it and, indeed, how it is possible to prove that something is impossible!