I disagree with the use of the e-collar in this case. If the dog does not know the command in the first place, he will not repsond to the e-collar. The e-collar is for reinforcment of a known command.
I do agree with Robert. However, in my case I use a 30' lead. You can do what I call the body wrap (as Robert described it) or just attach the lead to a prong collar. Seeing that it is cold out, you could probably work on this in the basement or the house. To start off, you can probably use a regular leash and collar for this excercise.
Get the dog to heel beside you as you walk around. Continue in one direction. As you see the dog pull ahead of you or start to stray, immediately turn in the other direction and issue the come command. Try this a couple of times and see what happens. He will start paying attention to your every move and heel a little better. He will also see that if he comes when called, he won't hit the end of the leash.
Next, take up half of the 30' lead and the the dog venture out to the end. Let him play around a bit and then issue the come command (only once). In that instant, if you see that he is not responding, give a quick little tug and go the other way. When he gets back to you, lavish him with praise and cookies. Repeat until you no longer need the tug and then move out to 30'.
A quick little word about commands. You may know this already, but I find that people tend to get pissed off or really upset when their dogs don't repond to a command they think the dog knows. As this happens, the voice becomes loaded and your body posture gets defensive. Dogs can sense this and they will stay away. A command should only be issued once and in a normal tone - unless it is an emergency.
Another trick that I have used when a dog will not come. If the dog is off leash and will not respond, let him be for a minute. When you are ready to issue the command, get down on your knees (at the dogs level) and give the command in your most happy sounding voice. Laugh, giggle, make a fool of yourself. The dog should come running in.
Once the dog will come in all conditions and repsond to the command 100% in all environments, you can start overlaying hand signals or a whistle. For me, I move my right hand towards my belly button. When the dog comes in, he will stand in front. If I want him to heel, I pat my left side with my left hand. If he is to sit in front, I raise my right hand to my sternum. If you ever get a chance, check out some obedience trials at your local AKC show. You will be amazed at the control and different techniques used.
Hopefully what I said makes sense. It is easier to do and harder to explain.