My dog jumps on me all of the time. How can I get him to stop?
The method of choice to eliminate such a behavior is a combination of positive reinforcement and negative punishment.
Negative punishment: means that you punish your dog (you do something that will reduce the occurrence of a behavior) by removing something the dog wants.
I this case you have to immediately remove your attention: do not talk/yell to/at the dog, do not push back (as this is rewarding), etc.
Positive reinforcement: means that you rewar the dog (do something that will increase the frequency of occurrence of a behavior) by adding something the dog wants: food, attention, petting, play.
In this case the key point is to teach the dog an appropriate alternative behavior, this can be whatever calm behavior you want: sit and wait, go back to his place, etc. at first you can simply rewar having his 4 feet on the ground.
The best time to teach a dog not to jump is... When he s not jumping. You have to proceed in two distinct phases: specific training and field training: specific training sessions vs. real life situations.
specific training: the main goal is to train your dog what to do (eg. Sit) by reinforcing him. So set him up to succeed. Take some treats and start in a low distraction environment. Try to mimic a situation where your dog would jump on you, stay just below that level, let him sit (for the first try you can cue him to sit) and reward. Progressively increase the "excitement" and reinforce when he s doing the right behavior. If he jumps, that means that YOU failed: punish yourself by ignoring the dog ;) ignore until he sits and then immediately reward.
Progressively you will reward the sit only from time to time (variable schedule reinforcement, once the behavior is learned actually strengthen it and makes it less prone to extinction).
Do such training sessions a few times, keep them short and practice only when you are relaxed.
field training: the difficulty is to apply the same rules as for the training sessions, but in real life situations. You (and others) have to be consistent. The reward here can be petting or playing as you provably won't come back from work with a bunh of treats. Again keep in mind: ignore the bad behavior and reward the appropriate one. Do not rush and say "sit" if he jumps. Ignore and then when he calms down, cue him to sit and reward.
punishment (in its common sense, corresponding to the technical terms negative reinforcement and positive punishment) is unnecessary as methods using only positive reinforcement and negative punishment have been found to be very effective (see for example this statement from the American Veterinary Society of Animal Behavior which summarises the key points and provides additional references)
this method is scientific in the sense that it has been experimentally tested and backed up with facts. On one hand it provides the "keys" for its application to any dog of any breed and of any age. Using these "keys" everyone is free to adapt it to the specificities of its own dog. On the other hand it invalidate the usual argument "it doesn't work with my dog, so I have to go back to aversive methods": it is up to you to make it work for your dog
I described the method without referring to the use of "marker", that is, clicker training. However a clicker can make this very efficient. See for example this YouTube video