1,991 research outputs found

    A Proposal of Code Completion Problem for Java Programming Learning Assistant System

    Get PDF
    To enhance Java programming educations in schools, we have developed a Web-based Java Programming Learning Assistant System (JPLAS) that provides a variety of programming assignments to cover different learning stages. For the first stage, JPLAS offers the element fill-in-blank problem where students study the grammar and code reading through filling the blank elements, composed of reserved words, identifiers, and control symbols, in a high-quality code. Unfortunately, it has been observed that students can fill the blanks without reading the code carefully, because the choice is limited for each blank. In this paper, we propose a code completion problem as a generalization of the element fill-in-blank problem. To solve the drawback, it does not explicitly show blank locations in the code, which expects students to carefully read the code to understand the grammar and code structure. The correctness of the answer is verified through string matching of each statement with the filled elements and the corresponding correct one. Besides, to encourage students to study readable code writing, the correct statement satisfies the coding rules including the spaces. For evaluations, we generated six code completion and element fill-in-blank problems respectively, and asked ten students in two universities to solve them. Their solution results show that the code completion problem is much harder than the element fill-in-blank problem, and requires far deeper code reading and understanding of coding rules

    A proposal of recommendation function for element fill-in-Blank problems in java programming learning assistant system

    Get PDF
    Purpose To advance Java programming educations, the authors have developed a Web-based Java programming learning assistant system (JPLAS). It offers the element fill-in-blank problem (EFP) for novice students to study Java grammar and basic programming skills by filling in the missing elements in a source code. An EFP instance can be generated by selecting an appropriate code, and applying the blank element selection algorithm. As it is expected to cover broad grammar topics, a number of EFP instances have been generated. This paper aims to propose a recommendation function to guide a student solving the proper EFP instances among them. Design/methodology/approach This function considers the difficulty level of the EFP instance and the grammar topics that have been correctly answered by the student, and is implemented at the offline answering function of JPLAS using JavaScript so that students can use it even without the Internet connections. Findings To evaluate the effectiveness of the proposal, 85 EFP instances are prepared to cover various grammar topics, and are assigned to a total of 92 students in two universities in Myanmar and Indonesia to solve them using the recommendation function. Their solution results confirmed the effectiveness of the proposal. Originality/value The concept of the difficulty level for an EFP instance is newly defined for the proper recommendation, and the accuracy in terms of the average numbers of answer submission times among the students is verified

    A design-aware test code approach for code writing problem in Java programming learning assistant system

    Get PDF
    To advance Java programming educations, we have developed the web-based Java programming learning assistant system (JPLAS) that provides the code writing problem. This problem asks a student to write a source code for a given assignment, where the correctness is verified by running the test code on JUnit. In this paper, we propose a design-aware test code approach for the code writing problem. The design-aware test code tests any important method in the model source code that has the advisable design for the assignment. Thus, by writing a code that can pass it, a student is expected to implement the code with the proper classes/methods in the model code. In evaluations of the proposal, all the students could complete highly qualitative codes for five graph algorithms using the design-aware test codes, where the code quality metrics were measured by metrics plugin for Eclipse

    A software architecture for Java programming learning assistant system

    Get PDF
    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

    Design an Object-Oriented Home Inspection Application for a Portable Device

    Get PDF
    Recent advancements in the personal digital assistant (PDA) Windows application programming methodology made it easier to develop PDA applications. The release of the Microsoft® Visual Studio 2005 .NET incorporated handheld programming support while the Microsoft® Mobile® 5.0 operating system dramatically improved the PDA\u27s operation and hardware configuration. This paper researches and analyzes object-oriented languages, relational database and dynamic report generation technologies for the PDA as they apply to the development of a professional home inspection application. The focus of this paper is on the implementation of the most advanced PDA technologies for a high-end database PDA application design

    MOBILE ASSISTANT APPLICATION ON NEGERI SEMBILAN DIALECT

    Get PDF
    Amongst the states in Malaysia there are a few states that have their own dialect and one of the states that are using their own dialect is the Negeri Sembilan state. For generations the people of Negeri Sembilan have been using the dialect but due to modernism that is undergoing in Malaysia the youngster of the state are changing their preference to use the main stream dialect rather than Negeri Sembilan dialect. As such, this creates a problem to understand the dialect due to the descending numbers of Negeri Sembilan dialect users. The dialect will someday become extinct if not preserve. This project intends to develop a system to help people learn the Negeri Sembilan dialect. It will contain commonly use Malaysian language but in the spelling of Negeri Sembilan dialect. Furthermore the application will pronounce words for the users to help them in the pronunciation of the dialect. The project aims to help the younger generation of the Negeri Sembilan to rekindle their usage of the dialect in everyday conversation and also for the people of Malaysia to learn the beauty of the Negeri Sembilan dialect

    Code generation based on inference and controlled natural language input

    Get PDF
    Over time the level of abstraction embodied in programming languages has continued to grow. Paradoxically, most programming languages still require programmers to conform to the language\u27s rigid constructs. These constructs have been implemented in the name of efficiency for the computer. However, the continual increase in computing power allows us to consider techniques not so limited. To this end, we have created CABERNET, a Controlled Natural Language (CNL) based approach to program creation. CABERNET allows programmers to use a simple outline-based syntax. This syntax enables increased programmer efficiency. CNLs have previously been used to document requirements. We have taken this approach beyond the typical application of creating requirements documents to creating functional programs. Using heuristics and inference to analyze and determine the programmer\u27s intent, the CABERNET toolchain can create functional mobile applications. This approach allows programs to align with how humans think rather than how computers process information. Using customizable templates, a CABERNET application can be processed to run on multiple run-time environments. Since processing a CABERNET program file results in a native application program, performance is maintained. This research explores whether a CNL-based programming tool can provide a readable, flexible, extensible, and easy-to-learn development methodology. To answer this question, we compared sample applications created in Swift, SwiftUI, and a prototype of the CABERNET toolchain. The CABERNET implementations were consistently shorter than those produced in the other two languages. In addition, users surveyed consistently found the CABERNET samples easier to understand
    corecore