The error means that avrdude is detecting that you have told it to program a different chip than the one that is plugged in.
This is because the atmega328-pu is not supported by default by the Arduino IDE. You can use the hardware setup as described, and then use avrdude from a command line, or try this modification: http://arduino.cc/forum/index.php?topic=58670.0
(to do this, open up file avrdude.conf from the indicated folder in notepad, search for the indicated line and change the hex number).
If you'd like to try avrdude from the command line, check out http://www.ladyada.net/learn/avr/avrdude.html
for a good tutorial about avrdude. When you use avrdude it's command line, you tell it all the information with option tags, ie -p <partno> tells it which chip you're programming. You can add more options to the command, and change settings. You'll need at least these options: -c avrisp, -p <>, -b <>, -P <>, -v, and -U <>for the flash file and any lock or fuse settings. Fuse settings have the potential to brick your chip, get them from a reliable source.
-F is a force option that disables the signature check. You should not use -F unless the chip you've indicated with -p is equivalent to your chip.
Hope that helps, I'm learning too!