I'm technically not supposed to tell you what EV training is, because you can find good information on this site. It's against the rules for you to ask something that can be looked up here, and it's against the rules for me to answer a question that breaks a rule.
However, I can answer the part about bottle caps.
In exchange for a Bottle Cap, he will train one of the player's Pokémon, so long as it has reached level 100. A regular Bottle Cap can increase one of a Pokémon's IVs to 31 (the maximum value), while a Gold Bottle Cap will increase all of a Pokémon's IVs to 31.
source
A list of bottle cap locations can be found here.