{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,21]],"date-time":"2026-05-21T15:05:08Z","timestamp":1779375908570,"version":"3.53.1"},"reference-count":25,"publisher":"MDPI AG","issue":"5","license":[{"start":{"date-parts":[[2026,5,21]],"date-time":"2026-05-21T00:00:00Z","timestamp":1779321600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Information"],"abstract":"<jats:p>Nowadays, Python is very popular as the first programming language for novices, including high school students, to learn due to its short code features with rich libraries. Thus, it is important to provide a learning environment supporting studies starting from the fundamentals, since students have no knowledge on how a program runs on a computer. Previously, we have developed a web-based programming learning assistant system (PLAS) to allow the self-study of major programming languages, including Python, by university students. It offers several types of exercise problems that have different learning goals and levels for step-by-step study. Any student answer is automatically marked at the answer interface for quick feedback. However, PLAS has not implemented functions to assist the learning needs of high school-level students. In this paper, we propose a novice-friendly answer interface for a Python programming learning assistant system (PyPLAS) that introduces a code behavior visualization and an AI assistant with learning logs. The visualization allows learners to observe the changes in variable states and the control flow. The assistant provides multi-level hints during learning and reflective feedback after it by analyzing the logs based on engagement, reasoning strategies, learning pace, and tool usage. For evaluation, we implemented the proposed interface using Python Flask for the web platform and Ollama as a locally deployed AI model. A pilot application was conducted with high school students solving introductory Python exercises in PyPLAS. The results showed high task completion, positive questionnaire responses toward embedded visualization and interface usability, and teacher-observed usefulness of the four-dimensional learning analytics for interpreting learner behaviors. These findings provide preliminary evidence for the feasibility and practical value of the proposed interface, while larger controlled studies are required to validate its instructional effectiveness.<\/jats:p>","DOI":"10.3390\/info17050509","type":"journal-article","created":{"date-parts":[[2026,5,21]],"date-time":"2026-05-21T13:53:24Z","timestamp":1779371604000},"page":"509","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["A Novice-Friendly Answer Interface with Code Behavior Visualization and AI Assistant for a Python Programming Learning Assistant System"],"prefix":"10.3390","volume":"17","author":[{"ORCID":"https:\/\/orcid.org\/0009-0005-9608-3537","authenticated-orcid":false,"given":"Zhida","family":"Fu","sequence":"first","affiliation":[{"name":"Department of Information and Communication Systems, Okayama University, Okayama 700-8530, Japan"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3234-3473","authenticated-orcid":false,"given":"Nobuo","family":"Funabiki","sequence":"additional","affiliation":[{"name":"Department of Information and Communication Systems, Okayama University, Okayama 700-8530, Japan"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Zihao","family":"Zhu","sequence":"additional","affiliation":[{"name":"Department of Information and Communication Systems, Okayama University, Okayama 700-8530, Japan"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0004-1931-113X","authenticated-orcid":false,"given":"Yue","family":"Zhang","sequence":"additional","affiliation":[{"name":"Department of Information and Communication Systems, Okayama University, Okayama 700-8530, Japan"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Wen-Chung","family":"Kao","sequence":"additional","affiliation":[{"name":"Department of Electrical Engineering, National Taiwan Normal University, Taipei 106308, Taiwan"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yi-Fang","family":"Lee","sequence":"additional","affiliation":[{"name":"Department of Industrial Education, National Taiwan Normal University, Taipei 106308, Taiwan"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Pi-Kuang","family":"Tseng","sequence":"additional","affiliation":[{"name":"Department of Industrial Education, National Taiwan Normal University, Taipei 106308, Taiwan"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2026,5,21]]},"reference":[{"key":"ref_1","unstructured":"(2026, May 17). Top Programming Languages. Available online: https:\/\/spectrum.ieee.org\/top-programming-languages-2025."},{"key":"ref_2","unstructured":"Python Software Foundation (2026, March 01). Python Official Website. Available online: https:\/\/www.python.org\/."},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Aung, S.T., Funabiki, N., Lu, X., Wai, K.H., Jing, Y., and Kao, W.-C. (2024, January 8\u201311). An implementation of Java programming assistant system in university course. Proceedings of the International Conference on Computers in Education, Taichung, Taiwan.","DOI":"10.1109\/ICCE-Taiwan62264.2024.10674115"},{"key":"ref_4","first-page":"198","article-title":"A study of grammar-concept understanding problem in C programming learning assistant system","volume":"10","author":"Lu","year":"2022","journal-title":"ITE Trans. Media Technol. Appl."},{"key":"ref_5","unstructured":"Pallets (2026, March 01). Flask Documentation. Available online: https:\/\/flask.palletsprojects.com\/."},{"key":"ref_6","unstructured":"Ollama (2026, March 01). Available online: https:\/\/ollama.com\/."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Guo, P.J. (2013, January 6\u20139). Online Python Tutor: Embeddable web-based program visualization for CS education. Proceedings of the 44th ACM Technical Symposium on Computer Science Education, Denver, CO, USA.","DOI":"10.1145\/2445196.2445368"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"van der Werf, V., Aivaloglou, E., Hermans, F., and Specht, M. (2021, January 22\u201323). What does this Python code do? An exploratory analysis of novice students\u2019 code explanations. Proceedings of the 10th Computer Science Education Research Conference, Virtual.","DOI":"10.1145\/3507923.3507956"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Feeley, M., and Melancon, O. (2022). Teaching programming to novices using the codeBoot online environment. arXiv.","DOI":"10.4204\/EPTCS.363.3"},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Paiva, J.C., Queir\u00f3s, R., Leal, J.P., Swacha, J., and Miernik, F. (2022). Managing gamified programming courses with the FGPE platform. Information, 13.","DOI":"10.3390\/info13020045"},{"key":"ref_11","unstructured":"(2026, May 17). zyBooks (formerly Coding Rooms). Available online: https:\/\/www.codingrooms.com\/."},{"key":"ref_12","unstructured":"Suriyaarachchi, H., Denny, P., and Nanayakkara, S. (March, January 26). Investigating the use of productive failure as a design paradigm for learning introductory Python programming. Proceedings of the ACM Technical Symposium on Computer Science Education, Pittsburgh, PA, USA."},{"key":"ref_13","first-page":"30","article-title":"Penetrating the fog: Analytics in learning and education","volume":"46","author":"Siemens","year":"2011","journal-title":"EDUCAUSE Rev."},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"e1230","DOI":"10.1002\/widm.1230","article-title":"A survey on educational process mining","volume":"8","author":"Cerezo","year":"2018","journal-title":"Wiley Interdiscip. Rev. Data Min. Knowl. Discov."},{"key":"ref_15","unstructured":"Fowler, M. (2026, March 01). Event Sourcing. Available online: https:\/\/martinfowler.com\/eaaDev\/EventSourcing.html."},{"key":"ref_16","unstructured":"Khanmigo (2026, March 01). AI-Powered Tutor and Teaching Assistant. Available online: https:\/\/www.khanmigo.ai\/."},{"key":"ref_17","unstructured":"GitHub Copilot (2026, March 01). Your AI Pair Programmer. Available online: https:\/\/github.com\/features\/copilot."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Gasiba, T.E., Iosif, A.-C., Kessba, I., Amburi, S., Lechner, U., and Pinto-Albuquerque, M. (2024). May the source be with you: On ChatGPT, cybersecurity, and secure coding. Information, 15.","DOI":"10.3390\/info15090572"},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"16","DOI":"10.1186\/s40594-025-00537-3","article-title":"The impact of AI-assisted pair programming on student motivation, programming anxiety, collaborative learning, and programming performance: A comparative study with traditional pair programming and individual approaches","volume":"12","author":"Fan","year":"2025","journal-title":"Int. J. STEM Educ."},{"key":"ref_20","first-page":"49","article-title":"AI chatbots in programming education: Guiding success or encouraging plagiarism","volume":"4","author":"Sidan","year":"2024","journal-title":"Discov. Artif. Intell."},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"923","DOI":"10.1007\/s11423-016-9477-y","article-title":"Student perceptions of privacy principles for learning analytics","volume":"64","author":"Ifenthaler","year":"2016","journal-title":"Educ. Technol. Res. Dev."},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Shi, N. (2021). Improving undergraduate novice programmer comprehension through case-based teaching with roles of variables to provide scaffolding. Information, 12.","DOI":"10.3390\/info12100424"},{"key":"ref_23","unstructured":"Hui, B., Yang, J., Cui, Z., Yang, J., Liu, D., Zhang, L., Liu, T., Zhang, J., Yu, B., and Lu, K. (2024). Qwen2.5-Coder Technical Report. arXiv."},{"key":"ref_24","first-page":"287","article-title":"Value trace problems with assisting references for Python programming self-study","volume":"17","author":"Funabiki","year":"2021","journal-title":"Int. J. Web Inf. Syst."},{"key":"ref_25","unstructured":"Docker (2026, March 01). Docker Official Website. Available online: https:\/\/www.docker.com\/."}],"container-title":["Information"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2078-2489\/17\/5\/509\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,21]],"date-time":"2026-05-21T14:06:58Z","timestamp":1779372418000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2078-2489\/17\/5\/509"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,5,21]]},"references-count":25,"journal-issue":{"issue":"5","published-online":{"date-parts":[[2026,5]]}},"alternative-id":["info17050509"],"URL":"https:\/\/doi.org\/10.3390\/info17050509","relation":{},"ISSN":["2078-2489"],"issn-type":[{"value":"2078-2489","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,5,21]]}}}