I'm immensely confused on how to do this. I can create many subgroups of $D_4$ but I don't know how to know when I have found them all.
I don't know how to check if a subgroup is normal, although I understand the definition. I'm very confused on how to find the factor groups.
Can some one please explain a solution?
By Langrange's Theorem, the order of a subgroup of $D_{4}$ is $1,2,4$ or $8$. So, you must begin checking the order of all the elements. In this ways you will find all cyclic subgroups of $D_4$. After this, you must find the 2-generated subgroups of $D_4$. Clearly you have to consider only two elements wich are not in the same cyclic subgroup. In this way, you will find all subgroups of order $4$. Now you have found all subgroups of $D_4$ because the others are just $1$ and $D_4$.
Now, let us consider the normality of the subgroups. Every subgroup of order $4$ is normal because its index is $2$. It is easy to check that $Z(D_4)=\langle a^2\rangle$ where $D_4=\langle a,b~|a^4=b^2=1,~b^{-1}ab=a^{3}\rangle$. Thus, if $H$ is a normal subgroup of order $2$, it must be equal $Z(D_{4})$ (you can check easily that the other subgroups of order 2 are not normal). Therefore, the normal subgroups of $D_4$ are $1,\langle a^{2}\rangle, \langle a\rangle, \langle a^{2},b\rangle,\langle a^{2},ab\rangle, D_4$.
Finally, we will consider, up to isomorphism, the factor groups of $D_4$. If $H$ is a normal subgroup of $D_4$ and the order of $H$ is $1,4$ or $8$, it is easy to see that $D_4/H$ is isomorphic $1, C_{2}$ or $D_{4}$. Finally, if $H$ has order $2$, then $H=Z(G)=\langle a^{2}\rangle$. Now, $D_4/H=\{\langle a^2\rangle,a\langle a^2\rangle, b\langle a^2\rangle, ab\langle a^2\rangle\}$ and all of its elements have order $2$. It shows that $D_4/H$ is isomorphic to the Klein group $V_4$. [
Comment: For checking a subgroup $H$ of a subgroup $G$ is normal in $G$, you 'just' have to check that $g^{-1}hg\in H$ for all $h\in H$ and $g\in G$.