You'd think the first would be a given. Doesn't every dog know it's name? Surprisingly, no. Or at least they don't admit it anymore. Lets face it, it's easy to wear out your dog's name. If you're one of those people whose conversations with their dog's go something like this: "Buddy. BBuudddyyy. Hey, Buddy. Buddy, come, Buddy, come here right now!", you've probably got a dog with a worn out name. What do you do? Well, you try to fix it. Maybe you can't, and though this sounds extreme, if you go through the steps below and your dog still doesn't respond, it's time for a new name, at least around the house. I wouldn't change it on vet records, etc., and if someone asks you how "Buddy" is, and you've changed his name to Rex, you can just smile and say "He's great".
First things first. Enough already. It's time to be quiet. For a couple of days, do everything you can to avoid using your dog's name. As a matter of fact, going for a day or two, not talking at all to your dog will get him wondering what's up and starting to look to you for answers. This is a very good thing. This doesn't mean you ignore your dog, give him lots of attention, take him for his walks. Just be quiet about it.
After a couple of days, say his name, and follow it immediately with a treat. Don't use his name for anything but treat time. And don't give him any treats without saying his name. Use a small treat, so you can repeat this 10 or 15 times. If you say "Buddy" and your dog looks up at you, you've achieved your goal. He's admitting he knows his name.
Now it's time to start working. This part is all on you. You say "Buddy (Buddy looks at you, now you know you have his attention), Sit". If he doesn't comply, you go to him and physically help him sit (gently), repeating the command. You should never use a command more than once without going to your dog to make him comply. Don't give your dog a command unless you have his attention. This is a surefire way to wear out his name.
If you have just adopted a dog, I always advise changing the name, and doing it as soon as possible. Your dog is in a new home, with new expectations. Additionally, if your dog had it rough in the old home, the current name may not be associated with good things. Dogs learn a name change quickly. Just follow the directions above. That way you know you're starting fresh.
Once your dog knows it's name, introduce "Watch". This is an excellent command all dogs should know, since it can bring a dog who's intently focused elsewhere back to you. Since my dog's are good about responding to their name, I generally use the Watch command when I'm introducing a new behavior I want them to learn. Teach your dog this command by saying his name. When he turns, hold a treat or toy up by your face, say "Watch", or "Watch Me". When you make eye contact smile and say "Good dog!!". Then give your dog the treat or toss the toy as a reward. As your dog shows you he's learned the command by responding every time, gradually drop the physical reward and simply tell him he's good. If you're walking your dog and he sees another dog or squirrel, use his name and the watch command to break the spell. Once he's looking at you, give another command, such as "Let's go", and walk away. Watch is a bridge you give your dog to let him know something is up and he better be prepared.