You can mine with both CPU & GPU, but make sure your CPU has AES-NI otherwise it really isn't worth it. Most modern CPUs have it I believe (past ~5 years?)
For CPU mining, I like to use Claymore's CryptoNote CPU miner v3.4 Beta, you can google for it; there is a BitcoinTalk thread for it.
For GPU mining, determine if you have an Nvidia GPU or an ATI GPU, they use different miners.
For ATI cards you are stuck with Claymore's miner which is good, but closed-source.
For Nvidia I think most use Tsiv's miner, but we are trying to crowdfund a better miner.
Gingeropolous has a guide for mining with Nvidia GPU's found here: https://bitcointalk.org/index.php?topic=653467.msg12169552#msg12169552
For finding a pool try to go with a smaller-medium pool, but not too small IMO. somewhere around 200-500kh would be a good pool to join. This will help you to get payments that aren't sporadic from being on too small a pool, and it will help to spread the hashes away from the larger pools.
Hope this helps and good luck mining.