1) Dogs do not speak English, therefore if you think of the old pantomime game and SHOW your dog what you want rather than TELL him what you want, he will learn much faster.
2) Never train your dog for more than five minutes at a time. You can work your dog for five minutes, take a minute break and work again for up to three, five minute sessions. You can give your dog as many groups of five minute sessions as you can work into a day, or you can give him five minutes at a time throughout the day. But never train a dog for more than five minutes. After your dog KNOWS what to do, he can work for much longer periods. But learning is very stressful and should be short and sweet.
3) Never expect your dog to learn context and concepts. Context is trying to demonstrate the difference between two words such as red and read. Concepts involve trying to teach your dog that the same word has many different meanings.
4) Never try to teach your dog complex behaviors all at once. Break them down into small pieces. For example, if your dog does not understand that when you give him the command to 'fetch' you want him to go get something and bring it back, break it up into small pieces. Teach your dog: a) take an object; b) hold the object; c) give the object to you; d) carry the object; e) walk a few steps to get the object; f) go further to get the object; g) carry the object toward you; and h) present the object to you.