This slides describes the process involved in programming Arduino Bootloader on Atmega328 controller. A standalone Atmega328 chip can be programmed to function as an Arduino using this method. Can also be used to reflash bootloader on existing arduino.