Menu Selection vs. Typing: Effects on Learning in an Intelligent Programming Tutor