I found this video very easy to follow and understood the proof. https://www.youtube.com/watch?v=mEEM_dLWY0g
However, I am still having trouble understanding the proof presented to me in my csmath course. Here is a picture of the proof presented to me in class.

The part that really confuses me is when it says d_i = {1 if d_ii = 0, 0 otherwise, I also don't understand what the last two statements, and how they lead to a contradiction. Why is dk,n = dn ? I am very confused, thanks for your help.
Since you understood the video, let me just explain how the proof from class is really the same thing. In the video, the infinite decimals in the list are $$.a_1a_2a_3\ldots\\.b_1b_2b_3\ldots\\.c_1c_2c_3\ldots\\ \text{etc}$$ In the class proof, they are written as $$.d_{00}d_{01}d_{02}\ldots\\.d_{10}d_{11}d_{12}\ldots\\.d_{20}d_{21}d_{22}\ldots\\ \text{etc}$$ So $a_1=d_{00}$, $a_2=d_{01}$, etc.; $b_1=d_{10}$, $b_2=d_{11}$, etc.; and so on for the rest of the list.
The video proof writes $.x_1x_2x_3\ldots$ for the decimal constructed by the diagonal process, the one not on the list. The class proof writes this as $.d_0d_1d_2\ldots$. So $x_1=d_0$, $x_2=d_1$, etc.
In the video, the key point is that $x_1\neq a_1$, $x_2\neq b_2$, $x_3\neq a_3$, etc. The class proof expresses the same thing as $d_0\neq d_{00}$, $d_1\neq d_{11}$, $d_2\neq d_{22}$, etc.
The video simply says that $.x_1x_2x_3\ldots$ differs from $.a_1a_2a_3\dots$ in the first place, differs from $.b_1b_2b_3\dots$ in the second place, etc. The class version expresses this more generally and symbolically. The $k$-th decimal in the list is $$.d_{k0}d_{k1}d_{k2}\ldots$$ Now if $.d_0d_1d_2\ldots$ appeared on the list, it would have to be the $k$-th decimal for some $k$. In other words, we would have to have $d_n=d_{kn}$ for all $n$ (and this value of $k$). But $.d_0d_1d_2\ldots$ differs from $.d_{k0}d_{k1}d_{k2}\ldots$ in the $k$-th place by construction: in other words, $d_k\neq d_{kk}$ by the definition of $.d_0d_1d_2\ldots$.
There are advantages to both notation choices. You found the video easier to understand, so that says something. On the other hand, you could be persnickety and ask the video guy what comes after the 26th decimal on the list, $.z_1z_2z_3\ldots$. This is an over-fussy objection, since it's clear what he means, but it explains why some people prefer to use two subscripts instead.
More significantly, the diagonal sequence in the video proof is written $.a_1b_2c_3\ldots$; in the class proof, it's written $.d_{00}d_{11}d_{22}\ldots$. With the latter notation, we have an easy way to write the $n$-th element of the diagonal sequence: $d_{nn}$.