iSnap: Towards Intelligent Tutoring in Novice Programming Environments

@article{Price2017iSnapTI,
  title={iSnap: Towards Intelligent Tutoring in Novice Programming Environments},
  author={Thomas W. Price and Yihuan Dong and Dragan Lipovac},
  journal={Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education},
  year={2017}
}
Programming environments intentionally designed to support novices have become increasingly popular, and growing research supports their efficacy. While these environments offer features to engage students and reduce the burden of syntax errors, they currently offer little support to students who get stuck and need expert assistance. Intelligent Tutoring Systems (ITSs) are computer systems designed to play this role, helping and guiding students to achieve better learning outcomes. We present… 

Figures from this paper

Position paper: Block-based programming should offer intelligent support for learners
TLDR
It is argued that block-based programming environments should also include intelligent, adaptive support for students, similar to human tutoring, which has been shown to improve performance and learning outcomes.
Automated Data-Driven Hint Generation in Intelligent Tutoring Systems for Code-Writing: On the Road of Future Research
TLDR
The goal in this paper is to review and classify analysis techniques that are requested to generate data-driven hints in ITSs for programming, and to identify the possible future directions in this research field.
You Really Need Help: Exploring Expert Reasons for Intervention During Block-based Programming Assignments
TLDR
This work studied human tutors’ reasons for providing interventions during two introductory programming assignments in a block-based environment and sheds light on when and why students might need programming interventions.
Exploring Novice Programmers' Hint Requests in an Intelligent Block-Based Coding Environment
TLDR
Insight is provided into student help-seeking behavior in computer science education, informing CS educators and system designers on how best to develop support strategies.
Avoiding Help Avoidance: Using Interface Design Changes to Promote Unsolicited Hint Usage in an Intelligent Tutor
TLDR
Encouraging evidence is provided that hint presentation can significantly impact how students use them and using Assertions can be an effective way to address help avoidance is provided.
Guiding Next-Step Hint Generation Using Automated Tests
TLDR
Catnip is presented, the first nextstep hint generation approach for Scratch, which extends existing data-driven hint generation approaches with automated testing and allows the hints to be better individualized for the chosen solution path.
The Impact of Adding Textual Explanations to Next-step Hints in a Novice Programming Environment
Automated hints, a powerful feature of many programming environments, have been shown to improve students' performance and learning. New methods for generating these hints use historical data,
Factors Influencing Students' Help-Seeking Behavior while Programming with Human and Computer Tutors
TLDR
This work explores how and why students seek and avoid help when programming, and how this process differs when the help is provided by a human or a computer, through a qualitative analysis of 15 students' interviews.
Hint Generation Under Uncertainty: The Effect of Hint Quality on Help-Seeking Behavior
TLDR
It is argued that hint quality, especially when using data-driven hint generation techniques, is inherently uncertain, and the quality of the first few hints on an assignment is positively associated with future hint use on the same assignment.
Improving Comprehension: Intelligent Tutoring System Explaining the Domain Rules When Students Break Them
TLDR
An intelligent tutoring system is designed and developed, CompPrehension, which aims to improve the comprehension level of Bloom’s taxonomy, and two subject domain models are developed, capable of automatic problem classification and determining the knowledge required to solve them and so the pedagogical conditions to use the problem without human participation.
...
...

References

SHOWING 1-10 OF 21 REFERENCES
Generating Data-driven Hints for Open-ended Programming
TLDR
A new data-driven algorithm is presented, based on the Hint Factory, to generate hints for open-ended programming assignments, that can provide hints that successfully lead students to solutions from any state, help students achieve assignment objectives, and align with the student’s future solution.
Data-Driven Hint Generation in Vast Solution Spaces: a Self-Improving Python Programming Tutor
TLDR
The results show that ITAP is capable of producing hints for almost any given state after being given only a single reference solution, and that it can improve its performance by collecting data over time.
Ask-Elle: an Adaptable Programming Tutor for Haskell Giving Automated Feedback
TLDR
The design of a tutor that combines the incremental development of different solutions in various forms to a programming exercise with automated feedback and teacher-specified programming exercises, solutions, and properties is designed.
Experimental Evaluation of Automatic Hint Generation for a Logic Tutor
TLDR
This work augmented the Deep Thought logic tutor with a Hint Factory that generates data-driven, context-specific hints for an existing computer aided instructional tool, and shows that hints help students persist in a deductive logic proofs tutor.
J-Latte: a Constraint-Based Tutor for Java
We present J-LATTE, a constraint-based intelligent tutoring system that teaches a subset of the Java programming language. J-LATTE supports two modes: concept mode, in which the student designs the
Cognitive Computer Tutors: Solving the Two-Sigma Problem
TLDR
Examination of the achievement effect size of two types of student-adapted instruction in a cognitive programming tutor suggests that cognitive tutors have closed the gap with and arguably surpass human tutors.
Comparing Textual and Block Interfaces in a Novice Programming Environment
TLDR
It is found that while the interface did not seem to affect users' attitudes or perceived difficulty, students using the block interface spent less time off task and completed more of the activity's goals in less time.
Authoring Intelligent Tutoring Systems: An analysis of the state of the art
TLDR
An in-depth summary and analysis of the research and development state of the art for intelligent tutoring system (ITS) authoring systems and the major unknowns and bottlenecks to having widespread use of ITS authoring tools.
Locus of feedback control in computer-based tutoring: impact on learning rate, achievement and attitudes
TLDR
Examination of four feedback conditions in the ACT Programming Tutor suggests that students will need explicit guidance to benefit from learning opportunities that arise when they have greater control over tutorial assistance.
Learning computer science concepts with scratch
TLDR
New learning materials for middle-school students that were designed according to the constructionist philosophy of Scratch showed that in general students could successfully learn important concepts of computer science, although there were some problems with initialization, variables and concurrency.
...
...