An Automatic Code Generation Tool Using Generative Artificial Intelligence for Element Fill-in-the-Blank Problems in a Java Programming Learning Assistant System

Presently, Java is a fundamental object-oriented programming language that can be mastered by any student in information technology or computer science. To assist both teachers and students, we developed the Java Programming Learning Assistant System (JPLAS). It offers several types of practice prob...

Full description

Saved in:
Bibliographic Details
Published in:Electronics (Basel) Vol. 14; no. 11; p. 2261
Main Authors: Zhu, Zihao, Funabiki, Nobuo, Mentari, Mustika, Aung, Soe Thandar, Kao, Wen-Chung, Lee, Yi-Fang
Format: Journal Article
Language:English
Published: Basel MDPI AG 31.05.2025
Subjects:
ISSN:2079-9292, 2079-9292
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract Presently, Java is a fundamental object-oriented programming language that can be mastered by any student in information technology or computer science. To assist both teachers and students, we developed the Java Programming Learning Assistant System (JPLAS). It offers several types of practice problems with different levels and learning goals for step-by-step self-study, where any answer is automatically marked in the system. One challenge for teachers that is addressed with JPLAS is the generation of proper exercise problems that meet learning requirements. We implemented programs for generating new problems from given source codes, as collecting and evaluating suitable codes remains time-consuming. In this paper, we present an automatic code generation tool using generative AI to solve this challenge. Prompt engineering is used to help generate an appropriate source code, and the quality is controlled by optimizing the prompt based on the outputs. For applications in JPLAS, we implement a web application system to automatically generate an element fill-in-the-blank problem (EFP) in JPLAS. For evaluation, we select the element fill-in-the-blank problem (EFP) as the target type in JPLAS and generate several instances using this tool. The results confirm the validity and effectiveness of the proposed method.
AbstractList Presently, Java is a fundamental object-oriented programming language that can be mastered by any student in information technology or computer science. To assist both teachers and students, we developed the Java Programming Learning Assistant System (JPLAS). It offers several types of practice problems with different levels and learning goals for step-by-step self-study, where any answer is automatically marked in the system. One challenge for teachers that is addressed with JPLAS is the generation of proper exercise problems that meet learning requirements. We implemented programs for generating new problems from given source codes, as collecting and evaluating suitable codes remains time-consuming. In this paper, we present an automatic code generation tool using generative AI to solve this challenge. Prompt engineering is used to help generate an appropriate source code, and the quality is controlled by optimizing the prompt based on the outputs. For applications in JPLAS, we implement a web application system to automatically generate an element fill-in-the-blank problem (EFP) in JPLAS. For evaluation, we select the element fill-in-the-blank problem (EFP) as the target type in JPLAS and generate several instances using this tool. The results confirm the validity and effectiveness of the proposed method.
Audience Academic
Author Kao, Wen-Chung
Mentari, Mustika
Lee, Yi-Fang
Funabiki, Nobuo
Aung, Soe Thandar
Zhu, Zihao
Author_xml – sequence: 1
  givenname: Zihao
  surname: Zhu
  fullname: Zhu, Zihao
– sequence: 2
  givenname: Nobuo
  surname: Funabiki
  fullname: Funabiki, Nobuo
– sequence: 3
  givenname: Mustika
  surname: Mentari
  fullname: Mentari, Mustika
– sequence: 4
  givenname: Soe Thandar
  surname: Aung
  fullname: Aung, Soe Thandar
– sequence: 5
  givenname: Wen-Chung
  surname: Kao
  fullname: Kao, Wen-Chung
– sequence: 6
  givenname: Yi-Fang
  surname: Lee
  fullname: Lee, Yi-Fang
BookMark eNptUctOAzEMjBBIPL-ASyTOC3nsNpvjUkEBVQKJ9rzKBqcEsgkkKRKfw5-SqghxwD7YHo_HhzlEuz54QOiUknPOJbkABzrH4K1OtKaUsQndQQeMCFlJJtnun34fnaT0QkpIyltODtBX53G3zmFU2Wo8DU-AZ-AhljF4vAjB4WWyfvWLfgDuYrbGaqscvvUZnLMr8BqwCRFfORjBZ3xtnausr_IzVJdO-Vf8EMNQlglbjxW-Ux9qA62iGseN_hxU9JumS8mmrIrG42fKMB6jPaNcgpOfeoSW11eL6U01v5_dTrt5pXkjcjWhlIIBMmGGNnoQhPO6YIPhUg1EmmYghrWDbqERqiZaUKAtgRoUM0QOkh-hs63uWwzva0i5fwnr6MvLnjMqBJsQTgvrfMtaKQe99SbkqHTJJxitLsYYW_CurRtKhCCiHPDtgY4hpQimf4t2VPGzp6Tf-Nf_4x__BjnulIM
Cites_doi 10.1111/bjet.12685
10.18653/v1/2024.acl-long.176
10.15344/2456-4451/2017/116
10.1145/2490822
10.1109/ACCESS.2020.2988510
10.1109/TE.2018.2864133
10.61969/jai.1337500
10.1145/2676723.2677258
10.1080/08886504.1997.10782199
10.1145/1330598.1330691
ContentType Journal Article
Copyright COPYRIGHT 2025 MDPI AG
2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Copyright_xml – notice: COPYRIGHT 2025 MDPI AG
– notice: 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
DBID AAYXX
CITATION
7SP
8FD
8FE
8FG
ABUWG
AFKRA
ARAPS
AZQEC
BENPR
BGLVJ
CCPQU
DWQXO
HCIFZ
L7M
P5Z
P62
PHGZM
PHGZT
PIMPY
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
DOI 10.3390/electronics14112261
DatabaseName CrossRef
Electronics & Communications Abstracts
Technology Research Database
ProQuest SciTech Collection
ProQuest Technology Collection
ProQuest Central (Alumni Edition)
ProQuest Central UK/Ireland
Advanced Technologies & Computer Science Collection
ProQuest Central Essentials - QC
ProQuest Central
Technology Collection
ProQuest One Community College
ProQuest Central Korea
SciTech Premium Collection
Advanced Technologies Database with Aerospace
Advanced Technologies & Aerospace Database
ProQuest Advanced Technologies & Aerospace Collection
Proquest Central Premium
ProQuest One Academic (New)
Publicly Available Content Database
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Applied & Life Sciences
ProQuest One Academic (retired)
ProQuest One Academic UKI Edition
DatabaseTitle CrossRef
Publicly Available Content Database
Advanced Technologies & Aerospace Collection
Technology Collection
Technology Research Database
ProQuest One Academic Middle East (New)
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Essentials
ProQuest One Academic Eastern Edition
Electronics & Communications Abstracts
ProQuest Central (Alumni Edition)
SciTech Premium Collection
ProQuest One Community College
ProQuest Technology Collection
ProQuest SciTech Collection
ProQuest Central
Advanced Technologies & Aerospace Database
ProQuest One Applied & Life Sciences
ProQuest One Academic UKI Edition
ProQuest Central Korea
ProQuest Central (New)
ProQuest One Academic
Advanced Technologies Database with Aerospace
ProQuest One Academic (New)
DatabaseTitleList CrossRef
Publicly Available Content Database

Database_xml – sequence: 1
  dbid: PIMPY
  name: Publicly Available Content Database
  url: http://search.proquest.com/publiccontent
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
Education
Computer Science
EISSN 2079-9292
ExternalDocumentID A845107707
10_3390_electronics14112261
GroupedDBID 5VS
8FE
8FG
AAYXX
ADMLS
AFFHD
AFKRA
ALMA_UNASSIGNED_HOLDINGS
ARAPS
BENPR
BGLVJ
CCPQU
CITATION
HCIFZ
IAO
ITC
KQ8
MODMG
M~E
OK1
P62
PHGZM
PHGZT
PIMPY
PQGLB
PROAC
7SP
8FD
ABUWG
AZQEC
DWQXO
L7M
PKEHL
PQEST
PQQKQ
PQUKI
ID FETCH-LOGICAL-c357t-6111efe062f15cb70334611bf39ab09f5b0f28bc8e57a40c71e180e4ea2f09b93
IEDL.DBID BENPR
ISICitedReferencesCount 0
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001505914700001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 2079-9292
IngestDate Fri Jul 25 09:29:12 EDT 2025
Tue Nov 04 18:17:47 EST 2025
Sat Nov 29 07:14:19 EST 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 11
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c357t-6111efe062f15cb70334611bf39ab09f5b0f28bc8e57a40c71e180e4ea2f09b93
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
OpenAccessLink https://www.proquest.com/docview/3217726031?pq-origsite=%requestingapplication%
PQID 3217726031
PQPubID 2032404
ParticipantIDs proquest_journals_3217726031
gale_infotracacademiconefile_A845107707
crossref_primary_10_3390_electronics14112261
PublicationCentury 2000
PublicationDate 2025-05-31
PublicationDateYYYYMMDD 2025-05-31
PublicationDate_xml – month: 05
  year: 2025
  text: 2025-05-31
  day: 31
PublicationDecade 2020
PublicationPlace Basel
PublicationPlace_xml – name: Basel
PublicationTitle Electronics (Basel)
PublicationYear 2025
Publisher MDPI AG
Publisher_xml – name: MDPI AG
References Olsson (ref_20) 2015; 13
ref_36
ref_13
ref_35
ref_12
ref_34
ref_11
ref_33
Ishihara (ref_2) 2017; 2
ref_10
ref_32
Vaswani (ref_38) 2017; 30
McGill (ref_14) 1997; 29
ref_30
ref_39
ref_16
Lindberg (ref_19) 2019; 50
ref_15
ref_37
Sorva (ref_17) 2013; 13
Chen (ref_22) 2020; 8
ref_25
ref_24
Ansah (ref_23) 2023; 7
ref_21
ref_40
ref_1
Wint (ref_31) 2021; 17
Funabiki (ref_4) 2017; 44
Medeiros (ref_18) 2019; 62
ref_29
Aung (ref_3) 2021; 12
ref_28
ref_27
ref_26
ref_9
ref_8
ref_5
ref_7
ref_6
References_xml – ident: ref_7
– ident: ref_9
– ident: ref_30
– volume: 44
  start-page: 247
  year: 2017
  ident: ref_4
  article-title: A Graph-Based Blank Element Selection Algorithm for Fill-in-Blank Problems in Java Programming Learning Assistant System
  publication-title: IAENG Int. J. Comput. Sci.
– ident: ref_5
– ident: ref_32
– volume: 50
  start-page: 1979
  year: 2019
  ident: ref_19
  article-title: Gamifying Programming Education in K–12: A Review of Programming Curricula in Seven Countries and Programming Games
  publication-title: Br. J. Educ. Technol.
  doi: 10.1111/bjet.12685
– ident: ref_24
– ident: ref_28
  doi: 10.18653/v1/2024.acl-long.176
– ident: ref_26
– ident: ref_34
– ident: ref_11
– volume: 2
  start-page: 116
  year: 2017
  ident: ref_2
  article-title: A software architecture for Java programming learning assistant system
  publication-title: Int. J. Comput. Softw. Eng.
  doi: 10.15344/2456-4451/2017/116
– ident: ref_39
– ident: ref_40
– ident: ref_37
– ident: ref_1
– ident: ref_35
– volume: 13
  start-page: 15
  year: 2013
  ident: ref_17
  article-title: A Review of Generic Program Visualization Systems for Introductory Programming Education
  publication-title: Acm Trans. Comput. Educ.
  doi: 10.1145/2490822
– ident: ref_21
– volume: 8
  start-page: 75264
  year: 2020
  ident: ref_22
  article-title: Artificial Intelligence in Education: A Review
  publication-title: IEEE Access
  doi: 10.1109/ACCESS.2020.2988510
– volume: 62
  start-page: 77
  year: 2019
  ident: ref_18
  article-title: A Systematic Literature Review on Teaching and Learning Introductory Programming in Higher Education
  publication-title: IEEE Trans. Educ.
  doi: 10.1109/TE.2018.2864133
– volume: 7
  start-page: 52
  year: 2023
  ident: ref_23
  article-title: Education in the Era of Generative Artificial Intelligence (AI): Understanding the Potential Benefits of ChatGPT in Promoting Teaching and Learning
  publication-title: J. AI
  doi: 10.61969/jai.1337500
– ident: ref_15
  doi: 10.1145/2676723.2677258
– volume: 12
  start-page: 342
  year: 2021
  ident: ref_3
  article-title: A Proposal of Grammar-Concept Understanding Problem in Java Programming Learning Assistant System
  publication-title: J. Adv. Inf. Technol.
– ident: ref_6
– ident: ref_8
– ident: ref_25
– volume: 29
  start-page: 276
  year: 1997
  ident: ref_14
  article-title: A Conceptual Framework for Analyzing Students’ Knowledge of Programming
  publication-title: J. Res. Comput. Educ.
  doi: 10.1080/08886504.1997.10782199
– ident: ref_29
– ident: ref_33
– ident: ref_27
– ident: ref_12
– ident: ref_16
  doi: 10.1145/1330598.1330691
– ident: ref_10
– volume: 13
  start-page: 452
  year: 2015
  ident: ref_20
  article-title: Visualisation and Gamification of E-Learning and Programming Education
  publication-title: Electron. J. E-Learn.
– volume: 30
  start-page: 5998
  year: 2017
  ident: ref_38
  article-title: Attention is all you need
  publication-title: Adv. Neural Inf. Process. Syst.
– ident: ref_13
– ident: ref_36
– volume: 17
  start-page: 140
  year: 2021
  ident: ref_31
  article-title: A proposal of recommendation function for element fill-in-Blank problems in Java programming learning assistant system
  publication-title: Int. J. Web Inf. Syst.
SSID ssj0000913830
Score 2.3205147
Snippet Presently, Java is a fundamental object-oriented programming language that can be mastered by any student in information technology or computer science. To...
SourceID proquest
gale
crossref
SourceType Aggregation Database
Index Database
StartPage 2261
SubjectTerms Applications programs
Artificial intelligence
Chatbots
Computational linguistics
Computer science
Curricula
Design
Education
Embedded systems
Gamification
Generative artificial intelligence
Java
Language processing
Learning
Learning disabilities
Methods
Motivation
Natural language interfaces
Object oriented programming
Object-oriented languages
Personalized learning
Problem solving
Programming languages
Prompt engineering
Sciences education
Source code
Student participation
Syntax
Teachers
Teaching methods
Trends
Visualization
Title An Automatic Code Generation Tool Using Generative Artificial Intelligence for Element Fill-in-the-Blank Problems in a Java Programming Learning Assistant System
URI https://www.proquest.com/docview/3217726031
Volume 14
WOSCitedRecordID wos001505914700001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2079-9292
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0000913830
  issn: 2079-9292
  databaseCode: M~E
  dateStart: 20120101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
– providerCode: PRVPQU
  databaseName: Advanced Technologies & Aerospace Database
  customDbUrl:
  eissn: 2079-9292
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0000913830
  issn: 2079-9292
  databaseCode: P5Z
  dateStart: 20120301
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/hightechjournals
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ProQuest Central
  customDbUrl:
  eissn: 2079-9292
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0000913830
  issn: 2079-9292
  databaseCode: BENPR
  dateStart: 20120301
  isFulltext: true
  titleUrlDefault: https://www.proquest.com/central
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: Publicly Available Content Database
  customDbUrl:
  eissn: 2079-9292
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0000913830
  issn: 2079-9292
  databaseCode: PIMPY
  dateStart: 20120301
  isFulltext: true
  titleUrlDefault: http://search.proquest.com/publiccontent
  providerName: ProQuest
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1NT9wwEB3B0kM5tJS26raAfKjEhQg7H2vnhBa0q1KVVYSgor1EjuOgVbcJbMIe-S_8U2YSLx8S6qUXHybRJNKMx2Pn5T2ArwPpWxsNYi8XypKEWeRpyS0OmQkKJXPTgjF__pCTibq4iBN34FY7WOWyJraFOq8MnZHvB9g7S580kQ-urj1SjaKvq05CYxXWiKks7MHa4WiSnD6cshDrpQp4RzcU4P5-_1FdphYhNhv-QDxbkl4uzO1qM377v--5AW9cn8mGXWK8gxVbbpJEs4NzbML6EybC93A3LNnwpqlaAld2VOWWdYTUdDM7q6oZa8EFD9aFbX13_BPs-AmxJ8M2mI06VDobT2czb1p62GZ6hzNd_mFJp2BTs2nJNPuuF5pMhBH7S_4d3-slw7yh1hZ9dKTqH-B8PDo7-uY59QbPBJFscE8qhC0sH_iFiEyGlSUI0ZYVQawzHhdRxgtfZUbZSOqQGymsUNyGVvsFj7M4-Ai9sirtJ2BZjl2VzYVUkQ1z3ygliLSmoCTDmmP6sLcMYHrVkXSkuLmheKcvxLsPuxTklKZwM9dGuz8R8GFEhpUOVYiVSkou-7C1DHLq5nadPkb4878vf4HXPqkFt1iDLeg18xu7Da_MopnW8x2XqjuwenI7wjGJfqMtOT5Jft0DcOn6zw
linkProvider ProQuest
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1Nb9QwEB1VWyTogY8CYqGADyAuRLWdZO0cEFpKV126Xe1hQeUUHMdBqy5J2aSL-Dn8AX4jM_loi1Rx64FLDpPIkZzn8bMzfg_gxUBJ58JB5KVCO7IwCz2juMNLYv1Mq9TWxZifJmo61cfH0WwDfndnYaisssuJdaJOC0t75Ls-cmclyRP57el3j1yj6O9qZ6HRwOLQ_fyBS7byzfg9ft-XUo7253sHXusq4Fk_VBWulYRwmeMDmYnQJoh4P8BYkvmRSXiUhQnPpE6sdqEyAbdKOKG5C5yRGY8SEl_ClL8ZINh1DzZn46PZ5_NdHVLZ1D5v5I18P-K7F242pQiQ3MiB-GsKvHoiqGe30Z3_rV_uwu2WR7NhA_x7sOHybbKgbstVtmHrktLiffg1zNnwrCpqgVq2V6SONYLb9DCbF8WS1cUT59G1q9tu9DXY-JJwKUOaz_abqns2WiyX3iL3kEZ775YmP2GzxqGnZIucGfbBrA2FqAbuG7Xf6tl-ZTguiLpjG41o_AP4eC399RB6eZG7R8CSFFmjS4XSoQtSabUWJMqT0SBCmNk-vO4AE582IiQxLt4IX_EV-OrDKwJVTCmqWhlr2pMW-DIS-4qHOsBMrBRXfdjpQBW3uauMLxD1-N-3n8PNg_nRJJ6Mp4dP4JYkZ-S6rmIHetXqzD2FG3ZdLcrVs3aYMPhy3Qj8AzEWU5E
linkToPdf http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1Nb9QwELWqghAc-ChULBTwAcSFaG0nWTsHhJa2K5ZWqz0UVHEJjjNBK5akbNJF_Bz-Br-OmThpi1Rx64FLDk7kSM6b8dh5fo-x5yOtAOJREuTSAFmYxYHVAvCSubAwOnctGfPjoZ7NzPFxMt9gv_uzMESr7HNim6jzytEe-TDE2lkr8kQeFh0tYr43eXPyPSAHKfrT2ttpeIgcwM8fuHyrX0_38Fu_UGqyf7T7LugcBgIXxrrBdZOUUIAYqULGLkP0hxG2ZUWY2EwkRZyJQpnMGYi1jYTTEqQREIFVhUgyEmLC9H9N4xqTomsefzrb3yG9TRMKL3QUhokYnvva1DLCMkeN5F-T4eVTQjvPTe78zyN0l93uqms-9uFwj21AuUXG1B2JZYvduqC_eJ_9Gpd8fNpUrWwt361y4F6Gmx7mR1W15C2l4qx1DW3fXnWDTy_ImXIs_vm-5-LzyWK5DBZlgMV18HZpy6987n17ar4oueXv7dpSEzHjvlH_ncrtF47RQgU99uGl5B-wD1cyXttss6xKeMh4lmMtCbnUJoYoV84YSVI9BYUWZlo3YK968KQnXpokxSUdYS29BGsD9pIAllLialbW2e78Bb6MJMDSsYkwP2st9IDt9ABLu4xWp-foevTv28_YDYRdejidHTxmNxXZJbdkix222axO4Qm77tbNol49beOFs89XDb8_Pqla9A
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=An+Automatic+Code+Generation+Tool+Using+Generative+Artificial+Intelligence+for+Element+Fill-in-the-Blank+Problems+in+a+Java+Programming+Learning+Assistant+System&rft.jtitle=Electronics+%28Basel%29&rft.au=Zhu%2C+Zihao&rft.au=Funabiki%2C+Nobuo&rft.au=Mentari%2C+Mustika&rft.au=Aung%2C+Soe+Thandar&rft.date=2025-05-31&rft.pub=MDPI+AG&rft.issn=2079-9292&rft.eissn=2079-9292&rft.volume=14&rft.issue=11&rft_id=info:doi/10.3390%2Felectronics14112261&rft.externalDocID=A845107707
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2079-9292&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2079-9292&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2079-9292&client=summon