I have done research with novice tutors myself and am aware of expert tutors' use of strategies and their interactions with (and the contributions of) tutees. I am aware that many current ITS are modeled after the behaviour of human tutors. However, how this actually works, how they select problems, how they model the tutees' understanding, how they choose the appropriate feedback, etc. is beyond me. I guess this is a big question as I assume that this involves natural language processing and generation as well as very sophisticated analysis of the tutees' actions and messages.
Where can I start in understanding the artificial intelligence involved? I am moderately comfortable with math and have done some basic programming (mostly Python). I would be very grateful for suggestions from the community.