Prove the set of algebraic numbers is countable This problem is from Baby Rudin Chapter 2 exercise #2. 

A complex number $z$ is said to be algebraic
   if there are integers $a_0, \dots , a_n$, not all zero, such that $$a_0 z^n + a_1 z^{n-1} + \cdots + a_{n-1}z + a_n = 0$$
   Prove that the set of all algebraic number is countable. 
Hint: For every positive integer $N$ there are only finitely many equations with $$n + |a_0| + |a_1| + \cdots + |a_n| = N$$

I know there are a lot of answers on stackexchange already about this problem and I have looked at them already, but I am having a difficult time understanding if my proof is "rigorous" enough or what it might be missing. I understand the idea that I am trying to prove towards, but my proof feels like a leaky boat. Here is my proof below:

Let $A$ be the set of all algebraic numbers. Let there be a set $E \subset A$, where $E$ is made up of $s_1, s_2, \dots , s_n$ and $s_k$ is defined as $a_0 z^k + a_1 z^{k-1} + \dots + a_{k-1}z + a_k = 0$ and $k \in \mathbb{Z}^+$. Then it is clear that every $s_k \in E$ is countable because each $k \in \mathbb{Z}^+$. Theorem 2.12 shows that the union of these sequences makes the set countable. Thus $A$ is countable. 
Theorem 2.12:  Let $\{E_n\}$, $n = 1,2,3, \dots ,$ be a sequence of countable sets, and put $$S = \bigcup_{n=1}^{\infty} E_n$$
Then $S$ is countable.
 A: No, I wouldn't say it's rigorous enough. I think the idea is right, but the write-up needs work.
It's not sufficiently clear what $E$, $s_i$, or $a_i$ are. It's ok to define a set $E$ like this in a sentence, so long as it's clear. But, it's not clear what $s_k$ "is defined as" (equation of $z$) means.
The wording of "every $s_k \in E$ is countable" is also sloppy. Aren't $s_k$ supposed to be numbers? How can a number be countable? Also, using $k$ as the index is not great either, as $k$ appears to be the degree of your polynomial (and stops it being arbitrary).
I presume you mean that $E$ is supposed to be the set of roots of the given polynomial. If this is the case, you should state this explicitly. You should also make it clear that $E$ depends on the choice of polynomial. You could say,

Given a polynomial $p$ with integer coefficients, define
  $$E_p = \{z \in \Bbb{R} : p(z) = 0\}.$$
  Note that $E_p$ is finite, and in particular, $|E_p| \le \operatorname{deg}(p)$.

The nice thing about this is that it shows $E$ is not just a single set depending on some arbitrary polynomial, but it is a family of sets, which now you can union. If you let $\Bbb{Z}[x]$ be the set of polynomials with integer coefficients, you can express the set $A$ of algebraic numbers as
$$A = \bigcup_{p \in \Bbb{Z}[x]} E_p,$$
which is a union of finite, and hence countable sets. If you can show $\Bbb{Z}[x]$ is countable too, then you can apply Theorem 2.12.
On a personal, aesthetic note, I also like denoting polynomials by $p$, rather than $a_0 z^k + a_1 z^{k - 1} + \ldots + a_n$. It makes the notation a lot cleaner. You can usually trust the reader to picture what a polynomial looks like, and only bust out the actual coefficients when you need them (for example, when it comes time to proving $\Bbb{Z}[x]$ is countable).
