I've heard of a couple different ways to teach your dog to walk. All of the above suggestions are good ones. I've also heard that whenever they pull you, you stop in your tracks and wait until they stop tugging. When they do, you can call them back to you or just proceed your walk. The moment they start pulling again though, stop again. This method takes time, and your walk may end up being 230948 hours long, but it can work too. You're just trying to teach them that they are not going anywhere until they learn not to pull. I would combine this with having them walk beside or behind you (call them back or gently tug) ..and never in front of you.
Good luck!
__________________ ..::``*Pamela*``::..  mama to Luigi |