All of the foods BoxerMommie mentioned are great foods for puppies (as she said, breed doesn't matter so long as it's a high quality food, it is good for the dog you have). Definitely switch off the Science Diet asap but do a gradual transition as going from SD garbage to something that's actually good for your dog can cause some digestive upset (as happens anytime you switch brands straight over with no transition).
Take about two weeks of mixing the two foods together (75% of the old, 24% of the new to start and gradually weaning your pom off of the old and onto the new).
As far as the yams go, definitely limit how many you give and feed them as a snack as was already suggested. If you really want to add something healthy to the food, once a week you can add some of the canned food from whatever good brand you choose (because like kibble, not all canned foods are created equal and you want to make sure you're adding something quality not just garbage/empty calories). This adds moisture and variety to the dog's diet. You can also add some plain scrambled eggs, or plain cooked meat to your dog's food and just feed less of the kibble when you do that, to make up for the added calories.
As BoxerMommie said, you can also go home cooked or [better yet] raw. This way you know exactly what your dog is getting and you don't have to worry as much about quality control that way.