Intention-based diagnosis of errors in novice programs
Intention-based diagnosis of errors in novice programs
Three years' experience with gateway labs
ITiCSE '96 Proceedings of the 1st conference on Integrating technology into computer science education
PILOT: an interactive tool for learning and grading
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Dynamically generating problems on static scope
Proceedings of the 5th annual SIGCSE/SIGCUE ITiCSEconference on Innovation and technology in computer science education
Automated feedback on programs means students need less help from teachers
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Learning the interaction between pointers and scope in C++
Proceedings of the 6th annual conference on Innovation and technology in computer science education
A problem generator to learn expression: evaluation in CSI, and its effectiveness
CCSC '01 Proceedings of the sixth annual CCSC northeastern conference on The journal of computing in small colleges
A tutoring system for parameter passing in programming languages
Proceedings of the 7th annual conference on Innovation and technology in computer science education
Identifying and correcting Java programming errors for introductory computer science students
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
ITS '02 Proceedings of the 6th International Conference on Intelligent Tutoring Systems
Adaptive Visualization Component of a Distributed Web-Based Adaptive Educational System
ITS '02 Proceedings of the 6th International Conference on Intelligent Tutoring Systems
CMeRun: program logic debugging courseware for CS1/CS2 students
Proceedings of the 35th SIGCSE technical symposium on Computer science education
A tutor on scope for the programming languages course
Proceedings of the 35th SIGCSE technical symposium on Computer science education
A visual and interactive automata theory course with JFLAP 4.0
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Results from the evaluation of the effectiveness of an online tutor on expression evaluation
Proceedings of the 36th SIGCSE technical symposium on Computer science education
A tutor on subprogram implementation
Journal of Computing Sciences in Colleges
Facilitating problem-solving on nested selection statements using C/C++
FIE '00 Proceedings of the 30th Annual Frontiers in Education - Volume 01
Preface to the special issue on automated assessment of programming assignments
Journal on Educational Resources in Computing (JERIC)
Individualized exercises for self-assessment of programming knowledge: An evaluation of QuizPACK
Journal on Educational Resources in Computing (JERIC)
A General Framework for Overlay Visualization
Electronic Notes in Theoretical Computer Science (ENTCS)
Adaptation in the Context of Explanatory Visualization
EC-TEL '08 Proceedings of the 3rd European conference on Technology Enhanced Learning: Times of Convergence: Technologies Across Learning Contexts
The quality of a PeerWise MCQ repository
Proceedings of the Twelfth Australasian Conference on Computing Education - Volume 103
International Journal of Advanced Intelligence Paradigms
First experiences with tutor for recursive algorithm time efficiency analysis
Journal of Computing Sciences in Colleges
Codeassessor: an interactive, web-based tool for introductory programming
Journal of Computing Sciences in Colleges
An open platform for managing short programming exercises
Proceedings of the ninth annual international ACM conference on International computing education research
Improving automatic code assessment
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
Researchers and educators have been developing tutors to help students learn by solving problems. The tutors vary in their ability to generate problems, generate answers, grade student answers, and provide feedback. At one end of the spectrum are tutors that depend on hand-coded problems, answers, and feedback. These tutors can be expected to be pedagogically effective, since all the problem-solving content is carefully hand-crafted by a teacher. However, their repertoire is limited. At the other end of the spectrum are tutors that can automatically generate problems, answers, and feedback. They have an unlimited repertoire, but it is not clear that they are effective in helping students learn. Most extant tutors lie somewhere along this spectrum.In this article we examine the feasibility of developing a tutor that can automatically generate problems, generate answers, grade student answers, and provide feedback. We investigate whether such a tutor can help students learn. For our study, we considered a tutor for our Programming Languages course, which covers static and dynamic scope (i.e., static scope of variables and procedures, dynamic scope of variables, and static and dynamic referencing environment of procedures in the context of a language that permits nested procedure definitions). The tutor generates simple and complex problems on each of these five topics, solves the problems, grades the students' answers, and provides feedback about incorrect and missed answers. Our evaluation over two semesters shows that the feedback provided by the tutor helps improve student learning.