If you're just starting out I'd recommend Alan Becker's video on the 12 principles of animation, and if you're looking for software, I started with Blender! It's great for frame-by-frame, and it can be wrangled to do tweening. Now I use Moho, which is phenomenal, but it isn't free like Blender.