There are a lot of helpful tutorials online. I started learning about uC's at a university course, so hopefully other people can chime in with web resources that are good for beginners.
Many people will advise you to start with one of the "hobbyist" microcontroller development boards, such as the popular Arduino platform. They are good for making basic programs and learning how to program the microcontroller, but they won't teach you much about designing the hardware.
This is the book I learned from, but it is very heavy on assembly programming, so that's something to be aware of: http://www.picbook.com/