As far as the Atmega 328 itself, I think you only need to supply a crystal and reset. Programming without the usual USB port can be done through the FTDI interface (plenty of data on the internet on how to do that with the 328), and you can buy for about $5.00 a little USB to FTDI adapter, and just dowload as usual. But that does require an Atmega 328 with the bootloader installed. Can save a lot of money over buying Arduino UNO's.