A few months ago I took a weekly class in the animated program CelAction. I learned a lot from this. In the class we were thought how to create a character, add rigs to it and the principals of animation in in the program as well as having character interact with props. At first we used pre made characters built into the program but we were able to put together our own character in the last few weeks.
My character is park ranger hedgehog called Henrietta, before this I had only sketched her in pencil so creating a lineless version in Photoshop was something very different.
CelAction was an interesting program to work with, at first it looks very imposing and difficult to manage but once I understood it and got to work on some real animation I found it worked really well.