Before working out, make sure you're doing dynamic stretching (stretching with movement). Static stretching (stretching and holding a position) should only be done after a workout, or at least after a sufficient warm up, or you risk injury by straining cold muscles.
A few dynamic stretches I like are:
-Kick your right leg (knee straight) to your left hand, then left leg/right hand. Move forward as you do this so that you're walking/marching with straight legs. Be careful not to hurt yourself by kicking too high-- the point is just to get warmed up/loosened up. (I generally do 10 each leg)
-Stand facing a wall, about an arm's length away. Swing your right leg across your body toward your left, then back and away from your body so that it's extended toward your right. Then switch. (I do 10 each leg of these also)
-For your calves/shins, try ankle rotations, but slow them down and really focus on feeling the stretch. This is also good for loosening your joints. On that note, hip circles, knee circles, arm rotations, elbow, etc. are all great for warming up.
After your workout, try the static stretches that another poster listed above. Those are all great. Another to try, especially for your calves is to put the ball of your foot against a wall, so that your foot is being pulled toward your shin. Move your body closer to the wall (hips, not just upper body, or your won't feel much of a stretch), and you should feel it in your calves.
I'm very prone to injury, so I do a lot of stretching. Hope that helps!