A generative CAI tutor for computer science concepts