DS1 started with Swimbabes at around 12 weeks, he was two a couple of weeks ago. We moved to Puddleducks when he was around 23 months and DS2 (nearly 17 weeks now) started at the same time, so around 11 weeks or so.
Much prefer Puddleducks so far as they incorporate a lot of personal safety and life saving techniques into their courses at appropriate stages (e.g. last week the lesson was done in pyjamas so the kids get used to the weight of clothing in water as they're unlikely to fall in when just in their swimming kit). I prefer courses like these as they don't use armbands as, for me, they give a false sense of security to children in the water.
So far, DS1 can jump in off the side (has been doing this for months) or off a large float. He can turn when he comes up from a 'swim' underwater to reach for the side or a person. He can hold on to the side and monkey along and can pull himself out. He can 'swim' a good distance underwater (developmentally they won't have the strength to swim properly on the surface until around two and a half or three) and can 'swim' using arms and legs with the assistance of a woggle / noodle.
Both boys love the water and DS1 has developed good water confidence (although no fear or common sense obviously, so still needs to be watched like a hawk!).
Essentially, the teaching process so far involves:
Getting them used to having water poured on their face after a suitable warning (name, ready, swim).
Getting them used to being dunked under and pulled a short distance through the water.
Getting them used to being moved through the water on the surface.
Encouraging them to kick and splash to get the arm and leg movements.
Getting them used to moving through the water with minimal support (one hand under head / neck when on back or under chest when on front - depends on age).
Getting them used to submersions and kicking to the surface.
Teaching them to turn / hang on / monkey along etc.
Hope that helps!