Table of Contents
Fetching ...

Learner and Instructor Needs in AI-Supported Programming Learning Tools: Design Implications for Features and Adaptive Control

Zihan Wu, Yicheng Tang, Barbara Ericson

TL;DR

This study investigates how to design AI-supported on-demand programming help that balances learner autonomy with system guidance by engaging both learners and instructors through participatory design. It formalizes a four-model spectrum of learner-system control (L, L-S, S-L, S) and derives design guidelines from PD sessions and a follow-up survey (n=172) to inform feature sets and adaptive control in programming tools. Key contributions include identifying high-signal help features (micro/macro feedback, visualizations, peer insights) and context-aware, customizable control strategies that align with learner self-efficacy and instructor expectations, along with practical guidelines for integrating instructor analytics and support channels. The findings advance human-centered design for AI-assisted programming education, with implications for scalable, adaptive learning environments that balance autonomy and scaffolding across domains beyond programming.

Abstract

AI-supported tools can help learners overcome challenges in programming education by providing adaptive assistance. However, existing research often focuses on individual tools rather than deriving broader design recommendations. A key challenge in designing these systems is balancing learner control with system-driven guidance. To explore user preferences for AI-supported programming learning tools, we conducted a participatory design study with 15 undergraduate novice programmers and 10 instructors to gather insights on their desired help features and control preferences, as well as a follow-up survey with 172 introductory programming students. Our qualitative findings show that learners prefer help that is encouraging, incorporates visual aids, and includes peer-related insights, whereas instructors prioritize scaffolding that reflects learners' progress and reinforces best practices. Both groups favor shared control, though learners generally prefer more autonomy, while instructors lean toward greater system guidance to prevent cognitive overload. Additionally, our interviews revealed individual differences in control preferences. Based on our findings, we propose design guidelines for AI-supported programming tools, particularly regarding user-centered help features and adaptive control mechanisms. Our work contributes to the human-centered design of AI-supported learning environments by informing the development of systems that effectively balance autonomy and guidance, enhancing AI-supported educational tools for programming and beyond.

Learner and Instructor Needs in AI-Supported Programming Learning Tools: Design Implications for Features and Adaptive Control

TL;DR

This study investigates how to design AI-supported on-demand programming help that balances learner autonomy with system guidance by engaging both learners and instructors through participatory design. It formalizes a four-model spectrum of learner-system control (L, L-S, S-L, S) and derives design guidelines from PD sessions and a follow-up survey (n=172) to inform feature sets and adaptive control in programming tools. Key contributions include identifying high-signal help features (micro/macro feedback, visualizations, peer insights) and context-aware, customizable control strategies that align with learner self-efficacy and instructor expectations, along with practical guidelines for integrating instructor analytics and support channels. The findings advance human-centered design for AI-assisted programming education, with implications for scalable, adaptive learning environments that balance autonomy and scaffolding across domains beyond programming.

Abstract

AI-supported tools can help learners overcome challenges in programming education by providing adaptive assistance. However, existing research often focuses on individual tools rather than deriving broader design recommendations. A key challenge in designing these systems is balancing learner control with system-driven guidance. To explore user preferences for AI-supported programming learning tools, we conducted a participatory design study with 15 undergraduate novice programmers and 10 instructors to gather insights on their desired help features and control preferences, as well as a follow-up survey with 172 introductory programming students. Our qualitative findings show that learners prefer help that is encouraging, incorporates visual aids, and includes peer-related insights, whereas instructors prioritize scaffolding that reflects learners' progress and reinforces best practices. Both groups favor shared control, though learners generally prefer more autonomy, while instructors lean toward greater system guidance to prevent cognitive overload. Additionally, our interviews revealed individual differences in control preferences. Based on our findings, we propose design guidelines for AI-supported programming tools, particularly regarding user-centered help features and adaptive control mechanisms. Our work contributes to the human-centered design of AI-supported learning environments by informing the development of systems that effectively balance autonomy and guidance, enhancing AI-supported educational tools for programming and beyond.

Paper Structure

This paper contains 25 sections, 5 figures, 1 table.

Figures (5)

  • Figure 1:
  • Figure 2:
  • Figure 4: Example UIs that implement different learner-system control models.
  • Figure 5: Violin plot of learners' perceived importance of the features.
  • Figure 6: An example implementation of Guideline 1 with low interaction overhead.