JavaTutorBot: An Interactive Learning Chatbot with Generative AI for Programming
摘要
This study introduces JavaTutorBot, a chatbot designed to support students' self-managed learning in Java programming courses. Leveraging generative AI, the chatbot engages learners through interactive dialogues, focusing on question-answering to enhance understanding by solving a programming problem. Specifically, JavaTutorBot has been developed to guide students through writing basic Java programs, covering essential topics such as variables, data types, arithmetic operations, and the structure of a Java program. JavaTutorBot functions by providing personalized, adaptive feedback, which allows it to tailor responses based on individual student needs and progress. The chatbot's interface is user-friendly, featuring a chat area for real-time interactions, a work area for hands-on exercises, and an input area for typing queries. It integrates various multi-modal elements to make complex programming concepts easier to understand. Additionally, the chatbot includes a Java editor and online compiler, enabling students to write and compile code within the chatbot interface, facilitating hands-on practice and immediate application of learned concepts. During a pilot evaluation in the May 2024 semester, two focus group discussions, consisting of ten and eight students respectively from an Object-Oriented Programming course, assessed the chatbot's effectiveness. The evaluation focused on perceived benefits, user experience, impact on concept understanding, and enhancement of programming skills. Results indicated that students found the chatbot highly beneficial for immediate assistance, concept clarification, and maintaining engagement. The structured guidance and personalized support were particularly praised, highlighting the chatbot's potential as a self-managed learning tool. This research underscores the effectiveness of generative AI-driven chatbots in enhancing educational experiences, particularly in technical subjects like programming.