start-ver=1.4 cd-journal=joma no-vol=2 cd-vols= no-issue=1 article-no= start-page=116 end-page= dt-received= dt-revised= dt-accepted= dt-pub-year=2017 dt-pub=20170727 dt-online= en-article= kn-article= en-subject= kn-subject= en-title= kn-title=A software architecture for Java programming learning assistant system en-subtitle= kn-subtitle= en-abstract= kn-abstract= For advancements of Java programming educations, we have developed a Web-based Java Programming Learning System (JPLAS). JPLAS provides four problems with different levels, namely, element fill-inblank problem, value trace problem, statement fill-in-blank problem, and code writing problem, to cover students at different learning stages. Unfortunately, since JPLAS has been implemented by a number of students who studied in our group at different years, the code has become complex and redundant, which makes further extensions of JPLAS extremely hard. In this paper, we propose a software architecture for JPLAS to avoid redundancy. Based on the MVC model, our proposal uses Java for the model (M), HTML/CSS/JavaScript for the view (V), and JSP for the controller (C). Besides, adopting a design pattern, the marking functions of the four problems are implemented uniformly. For evaluations, after JPLAS is implemented with this architecture, the number of code files is compared with that of the previous implementation, and the number of additional files is examined for two new functions. en-copyright= kn-copyright= en-aut-name=IshiharaNobuya en-aut-sei=Ishihara en-aut-mei=Nobuya kn-aut-name= kn-aut-sei= kn-aut-mei= aut-affil-num=1 ORCID= en-aut-name=FunabikiNobuo en-aut-sei=Funabiki en-aut-mei=Nobuo kn-aut-name= kn-aut-sei= kn-aut-mei= aut-affil-num=2 ORCID= en-aut-name=KuribayashiMinoru en-aut-sei=Kuribayashi en-aut-mei=Minoru kn-aut-name= kn-aut-sei= kn-aut-mei= aut-affil-num=3 ORCID= en-aut-name=KaoWen-Chung en-aut-sei=Kao en-aut-mei=Wen-Chung kn-aut-name= kn-aut-sei= kn-aut-mei= aut-affil-num=4 ORCID= affil-num=1 en-affil=Department of Electrical and Communication Engineering, Okayama University kn-affil= affil-num=2 en-affil=Department of Electrical and Communication Engineering, Okayama University kn-affil= affil-num=3 en-affil=Department of Electrical and Communication Engineering, Okayama University kn-affil= affil-num=4 en-affil=Department of Electrical Engineering, National Taiwan Normal University kn-affil= en-keyword=JPLAS kn-keyword=JPLAS en-keyword=Java programming education kn-keyword=Java programming education en-keyword=Web application kn-keyword=Web application en-keyword= MVC model kn-keyword= MVC model en-keyword=Software architecture kn-keyword=Software architecture END