Naja, meistens nicht.
Normalerweise werden AVRs über die SPI Schnittstelle programmiert ( mal von den Ausnahmen wie dem ATmega128 abgesehen ).
Man kann allerdings auch einen Bootloader in den AVR programmieren und dann die Programme über die serielle Schnittstelle laden...

I2C Bus kann man ganz gut für Erweiterungen brauchen, da es dafür ne ganze Menge an Bausteinen gibt und man nur zwei Leitungen ( theoretisch sinds drei mit Masse ) braucht und so net so viel Kabel verlegen muss. Allerdings ist die Reichweite eingeschränkt...

MfG Kjion