Snapping at a puppy really is not unusual -- what was the puppy doing? Usually an older dog snaps because puppies get rude and annoying. The snapping -- without any intention to harm -- is an older dog's way of teaching manners. It is actually veru useful for growing pups to get this kind of reprimand from adults as it helps them to learn how to behave acceptably as an adult.
I'd very much recommend *immediately* downloading Dr Ian Dunbar's book After You Get Your Puppy from
www.dogstardaily.com. This is an excellent book, one of the best training guides for pups or adults, and he has made it available for free. It will have advice on socialising dogs.
Have you done an obedience class yet? I would actually recommend doing a group obedience class in a rewards based class (eg NOT one that uses corrections, requires choke chains, won;t let you train with a harness, etc). It sounds to me like you have a young, undersocialised dog that hasn't met enough dogs day in, day out to be comfortable with them and is starting instead to show fear aggression. Ian Dunbar spoke about this issue when over here a couple of months ago -- noting that many dogs start to get like this because they may do one class and after that, rarely meet other dogs except in confrontational situations like on a lead on walks -- so they start to get defensive.
IMHO assuming he isn;t actually dangerous to other dogs, the best and most productive way to deal with this is a group class and to get advice from a trainer there, not to get one on one advice in the first instance, especially if he is a young dog that just needs basic fun obedience and to meet more dogs in a non-threatening, happy atmosphere. In the UK I would only be looking for classes from an APDT or CPDT certified trainer or ask if you can come observe part of a class to assess the methods.
www.apdt.com has a drop down menu listing qualified trainers around the world.
It is important to get this addressed immediately as the problem will only become more and more difficult.
Generally most trainers would suggest having a dog like this checked thoroughly to eliminate any medical cause (eg some form of pain) causing the dog to be overly protective and defensive.
Do NOT punish your dog for behaving like this or you will reinforce the fear and aggression.