Proving that $\mathbb{Z}[x]/\langle x^2 + 1\rangle$  is isomorphic to $\mathbb{Z}[i]$ I have some general idea of going about this. I'm trying to come up with a suitable mapping. I've come up with $\phi\colon a + \langle x^2 + 1\rangle\longmapsto a$ where $a$ is an irreducible element in $\mathbb{Z}[i]$ but this mapping has some issues. For example take
$5x + x^2 + 1$, which is $5x \pmod{x^2+1}$. $5x$ does not belong to $\mathbb{Z}[i]$. So my question is, is there a better mapping? 
I know for a fact that if you add any integer call it $b$ to $\langle x^2 + 1\rangle$, you will get $b$ back which belongs to $\mathbb{Z}[i]$. I'm stuck when $b$ is not an integer.
 A: Hint: Let $\varphi: \mathbb{Z}[x] \rightarrow \mathbb{Z}[i]$ be the evaluation homomorphism and use the first isomorphism theorem.

Edit: Added for confusion on both evaluation homomorphism and first isomorphism theorem.  
Let $R$ be a commutative ring. Then $R[x]$ is defined to be ring consisting of all polynomials in $x$ with coefficients in $R$. So for $\mathbb{Z}[x]$, we have elements such as $5, x^2+1,$ and $3x^7-9x^3+4$. We can naturally extend this definition to adjoin arbitrary elements instead of a placeholder variable. In particular, we can think of $\mathbb{Z}[i]$ as the ring of all polynomials in $i$ with coefficients in $\mathbb{Z}$. With some thought we realize that this is precisely equivalent to the normal definition of the Gaussian integers since $i^2=-1$ (i.e. polynomials in $i$ of degree greater than 1 can be reduced to the form $a+bi$).
Going back to polynomial rings, let $\psi: R \rightarrow S$ be a homomorphism of commutative rings. Then there is a conceptually natural way to extend this homomorphism to a homomorphism $\varphi: R[x] \rightarrow S$. By our definition of $R[x]$, every element can be written as $\sum r_i x^i$, with the $r_i \in R$. Then, since $\varphi$ is to be a homomorphism,
$$\varphi(\sum r_i x^i) =  \sum \varphi(r_i) \varphi(x)^i$$
So $\varphi$ is completely determined by the image of $R$ and $x$. Since our desire is to extend $\psi$ naturally, it makes sense to send all elements of $R$ to their image under $\psi$. So we only need choose what $x$ should be mapped to. 
From this we can define the evaluation homomorphism between $R[x]$ and $R[\alpha]$ to be the evaluation of any polynomial in $R[x]$ at $x=\alpha$. So $\sum r_i x^i \mapsto \sum r_i \alpha^i$. Take time to convince yourself that it is a completely natural definition and that it is, in fact, unique. In addition to that, it is not hard to show that the homomorphism must be surjective.
To return to your example, let $\varphi: \mathbb{Z}[x] \rightarrow \mathbb{Z}[i]$ be the evaluation homomorphism. Then we have a natural, well-defined ring homomorphism and can look at its image. For any $a + bi \in \mathbb{Z}[x]$, $\varphi(a+bx) = a+bi$. So we see, as mentioned above, that $\varphi$ is surjective. Then we can use the first isomorphism theorem to say that $\mathbb{Z}[i] \simeq \mathbb{Z}[x]/\ker \varphi$.
Finally, the first isomorphism theorem states for any ring homomorphism $\varphi: R \rightarrow S$, $\text{im } \varphi \simeq R / \ker \varphi$. So if $\varphi$ is surjective, as is the case here, then $S \simeq R / \ker \varphi$.
A: Here is a perhaps slightly more concrete way of looking at things.  In the longer run, the more abstract approaches are essential.
What are the elements of $\mathbb{Z}[x]/(x^2+1)$?  They are equivalence classes.  Two polynomials are called equivalent if they differ by a multiple of the polynomial $x^2+1$.  
In our situation, we can give a more concrete description of the equivalence classes.  Let $P(x)$ be a polynomial with integer coefficients.  Imagine dividing $P(x)$ by $x^2+1$, using the ordinary procedure for dividing polynomials.  We get in general a remainder which is a polynomial of the shape $bx+a$ (one or both of $a$ and $b$ may be $0$).
So we have
$$P(x)=Q(x)(x^2+1) +bx+a$$
where $Q(x)$ is the quotient.  If you look at the above displayed formula, you will see that $P(x)$ and $bx+a$ are equivalent. Formally,
$$P(x) +(x^2+1)= bx+a + (x^2+1)$$
It is easy to see that if $bx+a$ and $dx+c$ are different polynomials, then they determine different equivalence classes, since their difference is not divisible by $x^2+1$.  Thus every equivalence class corresponds to a unique polynomial of the form $bx+a$.  
This is analogous to what happens with congruence modulo $m$.  The collection of equivalence classes there is $\mathbb{Z}/(m)$, but we can think of $\mathbb{Z}/(m)$ as (sort of) $0, 1, 2, \dots, m-1$ with a funny addition and multiplication.
Now where should we send $a+bx+(x^2+1)$?  By basic properties of isomorphism, once we know where $1+(x^2+1)$ and $x+(x^2+1)$ are to go, the rest is determined. It is natural, indeed necessary, to send the equivalence class of $1$ to $a+bi$, where $a=1$ and $b=0$.  
Where should $x+(x^2+1)$ go?  It is reasonable to send it to $i$.  So then the general object $a+bx +(x^2+1)$ should go to $a+bi$.
Does this work?  You need to show this mapping is one-to-one and onto, or to use more currently approved language, that the mapping is a bijection.  That is easy, given the prior discussion.
Then we need to show that the mapping "preserves" addition and multiplication.  The fact that addition is preserved is mechanical.  Multiplication is a bit trickier.  The product
$$[P(x)+(x^2+1)][Q(x)+(x^2+1)]$$
is, by definition, $P(x)Q(x)+(x^2+1)$.
Apply this to $P(x)=a+bx$, $Q(x)=c+dx$.
Note that $(a+bx)(c+dx)=ac +bdx^2 +(ad+bc)x$.
But $bdx^2=bd(x^2+1)-bd$, so $bdx^2$ is equivalent to $-bd$.
Putting things together, we find that 
$(a+bx)(c+dx)$ is equivalent to $ac-bd +(ad+bc)x$.  This should remind you of the rule for multiplying complex numbers, and help to take care of showing that the mapping behaves well under multiplication.
A bit of intuition The polynomial $x^2+1$ is equivalent to the $0$-polynomial, since they differ by a multiple of $x^2+1$.  So in $\mathbb{Z}[x]/(x^2+1)$, "$x^2+1$" behaves like $0$, so "$x^2$" behaves like "$-1$". Thus the square of "$x$" is "$-1$".   
More formally,
$$[x+(x^2+1)]^2 =x^2+(x^2+1) =-1+(x^2+1)$$
Note: There is another mapping that would give an isomorphism, namely the one that takes $a+bx +(x^2+1)$ to $a-bi$.
A: When you want to show that a quotient is isomorphic to a given object (ring, group, semigroup, etc), it is usually simplest to get the Isomorphism Theorem to do your work for you. Instead of trying to define an isomorphism from $\mathbb{Z}[x]/\langle x^2+1\rangle$ to $\mathbb{Z}[i]$, which will usually require you to show the map is well-defined, try to find a surjective map from $\mathbb{Z}[x]$ to $\mathbb{Z}[i]$ whose kernel is exactly $\langle x^2+1\rangle$. Then the Isomorphism Theorem guarantees the existence of an isomorphism
$$\frac{\mathbb{Z}[x]}{\langle x^2+1\rangle} = \frac{\mathbb{Z}[x]}{\mathrm{ker}(\phi)} \cong \mathbb{Z}[i].$$
Now, to define a map from $\mathbb{Z}[x]$ to $\mathbb{Z}[i]$, it is enough to specify what happens to the coefficients and what happens to $x$. There is an obvious thing to do with the coefficients (just let them be). Is there an obvious thing you can map $x$ to? I think there is. Then check what the kernel of this map, and let the Isomorphism Theorem do all the hard work. After all, that's why we proved it in the first place.

Well, apparently that's not the case here, as the Isomorphism Theorems have not been proven yet in your class. 
Still: it's usually annoying to define a map from a quotient to a ring; because the elements of the quotient are equivalence classes, and that usually means that you need to show that your definition of map does not depend on the representative. It's much easier to map into a quotient. So instead of trying to find an isomorphism from $\mathbb{Z}[x]/\langle x^2+1\rangle$ to $\mathbb{Z}[i]$, it might be easier to find a map $\varphi$ from $\mathbb{Z}[i]$ to $\mathbb{Z}[x]/\langle x^2+1\rangle$.
Given an element $a+bi\in\mathbb{Z}[i]$, with $a,b\in \mathbb{Z}$, where should we map it? We certainly want to map $1$ to $1 + \langle x^2+1\rangle$ (identity to identity). Which means we want to map $a$ to $a+\langle x^2+1\rangle$. Which means that the only thing we need to do is figure out what to do with $i$. If we map $i$ to $p(x)+\langle x^2+1\rangle$, then this will completely determine our homomorphism, since
$$\begin{align*}
\varphi(a+bi) &= \varphi(a) + \varphi(b)\varphi(i)\\
 &= a+\langle x^2+1\rangle + \left(b+\langle x^2+1\rangle\right)\left(p(x)+\langle x^2+1\rangle\right)\\
 &= a + bp(x)\langle x^2+1\rangle.\end{align*}$$
Okay, what should $\varphi(i)$ be? Since $\varphi(i)^2 = \varphi(i^2) = \varphi(-1) = -1+\langle x^2+1\rangle$, we need $\varphi(i)$ to be the congruence class of a polynomial $p(x)\in\mathbb{Z}[x]$ such that $p^2(x)\equiv -1\pmod{\langle x^2+1\rangle}$. Is there some simple choice that might work? Again, I think there is; check to see that it actually works.
