for 3 weeks i would stay on the east and just do the 3 islands.
samui = big, touristy, have a quick look
phangan = smaller, party island, lots of nice beaches up north
tao = cheap to learn diving, very small island, friendly and chilled
they are all one hour (approx) away from each other by boat
bangkok for a few days shopping
if you go to full moon party (which have become a bit commercial now) go the next morning to the backyard club. its at the top of a mountain and starts the morning after full moon party and goes on all day and night
like anywhere that you go, use common sense.
always be polite and friendly
and last but most important, have a good time