Giving a basis for the column space of A 
Let $A = \begin{bmatrix}3&3&3\\3&5&1\\-2&4&-8\\-2&-4&0\\4&9&-1\end{bmatrix}$
Give a basis for the column space of A

So what I've done so far is put it in RREF (which was a task itself) and got
$\begin{bmatrix}1&0&2\\0&1&-1\\0&0&0\\0&0&0\\0&0&0\end{bmatrix}$, but I'm not sure what to do next to give the "basis" of the column space of A
 A: 
Fact. Let $A$ be a matrix. The nonzero rows of $\DeclareMathOperator{rref}{rref}\rref(A^\top)$ form a basis of the column space of $A$.

In our case we have
$$
A=
\left[\begin{array}{rrr}
3 & 3 & 3 \\
3 & 5 & 1 \\
-2 & 4 & -8 \\
-2 & -4 & 0 \\
4 & 9 & -1
\end{array}\right]
$$
Row-reducing $A^\top$ gives
$$
\rref(A^\top)=
\left[\begin{array}{rrrrr}
1 & 0 & -\frac{11}{3} & \frac{1}{3} & -\frac{7}{6} \\
0 & 1 & 3 & -1 & \frac{5}{2} \\
0 & 0 & 0 & 0 & 0
\end{array}\right]
$$
The fact above implies that
\begin{align*}
\langle1, 0, -{11}/{3}, {1}/{3}, -{7}/{6} \rangle
&&
\langle0,1, 3, -1, 5/2 \rangle
\end{align*}
forms a basis of the column space of $A$.
A: The columns corresponding to the pivots of your original matrix will be a basis for the column space.
A: The column space is the span of the column vectors of $A$, The original matrix. As got it--thanks commented, row reduction does not preserve the column space.
So the column space is: 
$\mathrm{span}\bigg(\begin{bmatrix} 3 \\ 3 \\ -2 \\ -2 \\ 4 \end{bmatrix}, \begin{bmatrix} 3 \\ 5 \\ 4 \\ -4 \\ 9 \end{bmatrix}, \begin{bmatrix} 3 \\ 1 \\ -8 \\ 0 \\ -1 \end{bmatrix}\bigg)$.
To find an actual basis for the column space, we need to reduce this list to a linearly independent list, if it is not already.
In fact, you can show that these three vectors are not linearly independent. Particularly, the third can be written as a linear combination of the first two.
Since the first two are linearly independent (which you should verify), we can write $\bigg(\begin{bmatrix} 3 \\ 3 \\ -2 \\ -2 \\ 4 \end{bmatrix}, \begin{bmatrix} 3 \\ 5 \\ 4 \\ -4 \\ 9 \end{bmatrix}\bigg)$ as a basis for the column space.
A: Using row operations preserves the row space, but destroys the column space. Instead, what you want to do is to use column operations to put the matrix in column reduced echelon form. The resulting matrix will have the same column space, and the nonzero columns will be a basis.

It's maybe too strong to say row operations destroy the column space — instead they can be thought of as performing a change of coordinates. That is why the method of the other answers work: in the new coordinates, it's easy to find a maximal linearly independent set of columns — i.e. a basis. And such a thing is a basis no matter what coordinate representation you use, so the corresponding columns from the original matrix form a basis in the original coordinates.
