The heel command takes time and a LOT of repetition. With the dog on a lead, pull him from a position behind or beside you so that his head rubs against the outside of your knee/leg. When his head rubs against your knee/leg say the command HEEL. Do this over and over again. If you walk yourself or your dog it is a great time to teach heel, and all obedience for that matter. If you want him to heel on either side, then teach him that way now. If you want him to only heel to a certain side, make sure you are consistent from the beginning.
As for the water, many dogs don't take to it straight away. Usually the best way is for you to get in the water too. If the dog is standing on the bank, get out in the water and splash a bumper around while coaxing the dog out for it. If he is crazy enough about retrieving then he won't be able to stand it and he will pile in and get it. Go out as deep as you need to so that he will have to swim to get the bumper. The most important thing is to keep your cool and not get pissed off and throw him in. If he doesn't respond to you just splashing the bumper around in the water, you might have to get down right animated and be 'over the top' on praising and encouragement. One way or another you will be able to coax that dog out into the water of his own accord.
After he figures out that he can swim, you won't be able to keep him out of the water.
"I'll start spending less time with my dog and more with my wife when she starts fetching ducks for me"