Maybe I should summarize what I was saying in the comments.
Yes, the problem should be formulated precisely in order to give an answer.
About the cases in which the answer is NO:
For those formulations in which the answer is NO it is usually for a trivial reason. For example, one case that is mildly interesting is if we are considering the polynomials with coefficients that are computable numbers. These are numbers for which there is an algorithm such that for any given precision it terminates and gives you the digits of the number up to that precision. So, the input of $D_1^*$ in that case, would be a finite collection of such algorithms, one for each coefficient. Well, in this case $D_1^*$ cannot be decided, even for a constant polynomial. This is just because we cannot tell if that constant is zero or not.
The context in Sipser's book:
Now, I looked at the book by Sipser. They mention $D_1$ in the context of the Hilbert's tenth problem, which concerns polynomials (in several variables) with integer coefficients. In this context and many others you can indeed decide $D_1^*$.
The interesting part:
If the coefficients are such that we can (algorithmically) perform the following operations:
- sum, subtraction, multiplication, division,
- test if positive, test if negative, and test if zero.
Then we can decide if a polynomial has a real root.
For example, we can consider $D_1^*$ as a problem about polynomials with integer coefficients, or rational numbers, or constructible numbers, or algebraic numbers, or perhaps consider the problem with arbitrary real numbers but in a Blum-Shub-Smale machine instead of a Turing machine. As long as we can do the six basic operations above, we should be okay.
One way to decide could be using Sturm's theorem. Sturm's theorem says that the number of real roots of a square free polynomial with real coefficients in an interval $(a,b]$ is equal to the difference of the number of changes of sign at $a$ and the number of changes of sign at $b$ of the values of a Sturm sequence. See in the link above.
If the polynomial input $p$ has complex coefficients we can just work with the $\gcd$ of its real and imaginary parts. If the polynomial is not square-free, then we divide it by the $\gcd(p,p')$ to make it square-free. These transformations don't preserve the answer. Remember that one can compute $\gcd$ using using the Euclidean algorithm. So, we only need the arithmetic operations mentioned above.
One way to construct a Sturm sequences is the following: The first term is $p$, the second term is $p'$, the derivative of $p$. If $q_i,q_{i+1}$ are two consecutive terms of the sequence constructed so far, then the next term $q_{i+2}$ is equal to the remainder of $q_{i}$ divided by $q_{i+1}$ and with the sign switched. This procedure is always finite since remainders always have smaller and smaller degrees.
Introduction to the theory of computation, at least in the third edition, on page $184$, the $D_1$ that they define is in the context of talking about Hilbert's tenth problem. So, their intension there is only polynomials with integer coefficients. – plop Mar 12 '21 at 19:16