AVRDUDE is an excellent program for programming a AVR Atmega series microcontroller. In order to program any microcontroller you need to have a *.hex file which contain the instructions for the microcontroller. Apart from the software you need to have a hardware connection between your PC and the microcontroller which acts as an interface to write the *.hex file into the memory of the microcontroller, from where it run the instuctions in the specified *.hex file. USBasp is an awesome programmer found at cheap cost on almost all online stores these days. So you need a programmer like USBasp, some basic circuit for the ATmega and a PC with AVRDUDE and *.hex file to start the programming the microcontroller.