My personal experience has always proven that socialization, exercise, discipline (obedience), and reward are the keys to success. You can read all kinds of ways to train your dog, but I have found that consistency of a cue and the amount of time spent on training along with a positive atmosphere have always been the best way. For example, all my dogs know that when I make an "L" with my hand it means to sit. They also respond to word commands as well. However, hand signals help when I am talking with someone and do not wish to interrupt them with a command to my dog. On that note, you need to be sure your dog is always watching you for a command. Food/toys are a great way to start training. You can teach the main commands (come, heel, sit, stay, lay down, up, down) with the use of treats. As a puppy, your sessions should not be longer than 10 minutes of commands and consist more of play and exercise. Exercise first. It helps to get the edge of before you try to get them focused on learning their commands. I have never use a clicker basically because I just don't want to have to keep up with one. My dogs go with me to various places, and I only use a leash because its the law in some areas. My dogs listen to me. They know to "stay in the yard", "go home", the basic commands, and many other commands because during their entire life I tell them what to do throughout the day not just during a session. You need to think of your training as a way to let them know what you want when you are in a situation. This includes riding in the car, socializing with people and animals, being in public, being in the house, being outside the house, etc. Dogs like boundaries. They like to know what is expected of them. There are several ways to teach commands. My personal favorite is treats but eventually my goal is to have them do the commands (by three years of age) without reward simply because it is what is expected of them as a pack member.