I just watched most of this lecture series and wanted to share for any other newbs that want to get a better understanding of microcontrollers, SPI, I2C, etc.
This video covers SPI and he also goes through some actual C code that really helped illustrate how the SPI works:
Cornell Microcontroller #27 -- SPIHappy roboteering!