This is excellent: I recently worked through this class (at my own pace: you can register for past offerings). I made things a little harder than necessary by eschewing the provided framework code and writing everything myself, in go.
I found SPIM super-annoying, but managed to resist the temptation to build a better MIPS emulator. :-)
Highly recommend: writing a (very simple) compiler is no longer a black-art-seeming thing to me.