Why amino acids (Zwitterion) become either negative or positive at low and high pH solutions?
Firstly a note about terminology. The word "terminus" is reserved for the N- or C-termini of a polypeptide chain. For a free amino acid, you should refer to the carboxyl and amino groups as the $\alpha$-$\ce{COOH}$ and $\alpha$-$\ce{NH2}$ groups respectively.

Anyway, the -$\ce{COOH}$ group is acidic; above a certain pH, typically around 2, it can be deprotonated to form a negatively charged -$\ce{COO-}$ group. On the other hand, the -$\ce{NH2}$ group is basic; below a certain pH, typically around 9, it can be protonated to form a positively charged -$\ce{NH3+}$ group. I made a short table describing the protonation states of the two groups.

$$\begin{array}{c|c|c|c}
\textbf{pH} &amp; \textbf{Carboxyl group exists as} &amp; \textbf{Amino group exists as} &amp; \textbf{Net charge} \\
\hline
&lt;2 &amp; \ce{-COOH}\text{ (neutral)} &amp; \ce{-NH3+}\text{ (positively charged)} &amp; +1 \\
&gt;2 &amp; \ce{-COO^-}\text{ (negatively charged)} &amp; \ce{-NH3+}\text{ (positively charged)} &amp; 0 \\
&gt;9 &amp; \ce{-COO^-}\text{ (negatively charged)} &amp; \ce{-NH2}\text{ (neutral)} &amp; -1 \\
\end{array}
$$

For more information you can read Wikipedia or any biochemistry textbook - the first few chapters will often be devoted to discussing chemistry like this.