1,197 research outputs found

    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

    Automating the synthesis of recommender systems for modelling languages

    Full text link
    We are witnessing an increasing interest in building recommender systems (RSs) for all sorts of Software Engineering activities. Modelling is no exception to this trend, as modelling environments are being enriched with RSs that help building models by providing recommendations based on previous solutions to similar problems in the same domain. However, building a RS from scratch requires considerable effort and specialized knowledge. To alleviate this problem, we propose an automated approach to the generation of RSs for modelling languages. Our approach is model-based, and we provide a domain-specific language called Droid to configure every aspect of the RS (like the type and features of the recommended items, the recommendation method, and the evaluation metrics). The RS so configured can be deployed as a service, and we offer out-of-the-box integration of this service with the EMF tree editor. To assess the usefulness of our proposal, we present a case study on the integration of a generated RS with a modelling chatbot, and report on an offline experiment measuring the precision and completeness of the recommendationsThis project has received funding from the EU Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 813884, the Spanish Ministry of Science (RTI2018-095255-B-I00) and the R&D programme of Madrid (P2018/TCS-4314

    The Effects Of Applying Authentic Learning Strategies To Develop Computational Thinking Skills In Computer Literacy Students

    Get PDF
    This study attempts to determine if authentic learning strategies can be used to acquire knowledge of and increase motivation for computational thinking. Over 600 students enrolled in a computer literacy course participated in this study which involved completing a pretest, posttest and motivation survey. The students were divided into an experimental and control group based on class meeting day. The experimental group was given access to an authentic learning tool called COTHAULE. COTHAULE, which is an acronym that stands for Computational Thinking Authentic Learning Environment, is a website that was developed using a variety of technologies. The intellection behind COTHAULE was to take every-day experiences that could pertain to life in a college campus environment and merge them with computational thinking concepts and the learning objectives of a common computer literacy course. Examples of experiences were formed into five case studies each containing seven scenarios that read like a conversation taking place between students. The basic functionality of the tool was to load a video clip into the website for the student to watch for each scenario then present the student with an authentic learning activity and problem to solve. The authentic learning activities involved such topics as searching, sorting and filtering tables using software such as Microsoft Word and Excel and translating the activities into computational thinking concepts. A control group received a set of traditional textbook style online learning materials. A pretest and posttest was used to measure learning for each group. The study concluded that although there was a significant increase in learning between the pretest and posttest for both groups, there was no significant difference in learning by one group over the other group. The study also concluded that the motivation of the control group was significantly greater than the experimental group. There were some gaps in the COTHAULE tool as it compares to the expectations of an authentic learning environment and should be revisited. Improvements to the overall design of COTHAULE should also be considered

    Collaborative framework in computer aided innovation 2.0 : Application to process system engineering

    Get PDF
    In economy nowadays, the act of innovation is in general social; it requires the management of knowledge, and the techniques and methodologies to drive it. Innovation is not the product of one isolated intelligence, instead, it is the result of a multi-disciplinary workgroup lead by a process or a methodology. The conceptual design, which is found in the first stages of the innovation process, represents one of the most important challenges in industry nowadays. One of the main challenges faced by chemical industries related to the conceptual design phase is to provide the means in the form of methods and computational tools, for solving problems systematically, at the same time that benefiting from the collective efforts of individual intelligences involved. Hence, the main objective of this work is to provide a solution to improve the creative capacity of a team involved in the innovation process, in particular the preliminary (critical) phase of conceptual design. Consequently, it is important to understand the techniques, methods and tools that best support the generation of novel ideas and creative solutions. In addition, it is necessary to study the contribution of information and communication technologies as the mean to support collaboration. Web technologies are considered as complementary tools to implement methods and techniques in collaborative design, and particularly in the conceptual design stage. These technologies allow setting up distributed collaborative environments to bring together the resources and the experts who can relate the existing pieces of knowledge to new contexts. It is the synergy created in this kind of environment, which allow producing valuable concepts and ideas in the form of Collective Intelligence. Nevertheless in most existing solutions for collective intelligence or crowdsourcing environments, they do not report the use of a particular methodology to improve the participants' creativity. The solution in this work describes a social network service that enables users to cooperatively solve problems oriented (but not limited) to the phase of conceptual design. In this work we propose that the use of Collective Intelligence in combination with the model TRIZ-CBR could lead the creative efforts in a team to develop innovative solutions. With this work we are looking for connecting experts from one particular field, TRIZ practitioners and stakeholders with the objective to solve problems in collaboration unlashing the collective intelligence to improve creativity. This work uses the basis of the concept named "Open CAI 2.0" to propose a solution in the form of a theoretical framework. The contributions seek to move the development of the field in Computer Aided Innovation a step forward

    Toward Productivity Improvements in Programming Languages Through Behavioral Analytics

    Full text link
    Computer science knowledge and skills have become foundational for success in virtually every professional field. As such, productivity in programming and computer science education is of paramount economic and strategic importance for innovation, employment and economic growth. Much of the research around productivity and computer science education has centered around improving notoriously difficult compiler error messages, with a noted surge in new studies in the last decade. In developing an original research plan for this area, this dissertation begins with an examination of the Case for New Instrumentation, draw- ing inspiration from automated data mining innovations and corporate marketing techniques in behavioral analytics as a model for understanding and prediction of human behavior. This paper then develops and explores techniques for automated measurement of programmer behavior based on token level lexical analysis of computer code. The techniques are applied in two empirical studies on parallel programming tasks with 88 and 91 student participants from the University of Nevada, Las Vegas as well as 108,110 programs from a database code repository. In the first study, through a re-analysis of previously captured data, the token accuracy mapping technique provided direct insight into the root cause for observed performance differences comparing thread-based vs. process-oriented parallel programming paradigms. In the second study com- paring two approaches to GPU programming at different levels of abstraction, we found that students who completed programming tasks in the CUDA paradigm (considered a lower level abstraction) performed at least equal to or better than students using the Thrust library (a higher level of abstraction) across four different abstraction tests. The code repository of programs with compiler errors was gathered from an online programming interface on curriculum pages available in the Quorum language (quorumlanguage.com) for Code.org’s Hour of Code, Quorum’s Common Core-mapped curriculum, activities from Girls Who Code and curriculum for Skynet Junior Scholars for a National Science Foundation funded grant entitled Inno- vators Developing Accessible Tools for Astronomy (IDATA). A key contribution of this research project is the development of a novel approach to compiler error categorization and hint generation based on token patterns called the Token Signature Technique. Token Signature analysis occurs as a post-processing step after a compilation pass with an ANTLR LL* parser triggers and categorizes an error. In this project, we use this technique to i.) further categorize and measure the root causes of the most common compiler errors in the Quorum database and then ii.) serve as an analysis tool for the development of a rules engine for enhancing compiler errors and providing live hint suggestions to programmers. The observed error patterns both in the overall error code categories in the Quorum database and in the specific token signatures within each error code category show error concentration patterns similar to other compiler error studies of the Java and Python programming languages, suggesting a potentially high impact of automated error messages and hints based on this technique. The automated nature of token signature analysis also lends itself to future development with sophisticated data mining technologies in the areas of machine learning, search, artificial intelligence, databases and statistics

    Improving Introductory Computer Science Education with DRaCO

    Get PDF
    Today, many introductory computer science courses rely heavily on a specific programming language to convey fundamental programming concepts. For beginning students, the cognitive capacity required to operate with the syntactic forms of this language may overwhelm their ability to formulate a solution to a program. We recognize that the introductory computer science courses can be more effective if they convey fundamental concepts without requiring the students to focus on the syntax of a programming language. To achieve this, we propose a new teaching method based on the Design Recipe and Code Outlining (DRaCO) processes. Our new pedagogy capitalizes on the algorithmic intuitions of novice students and provides a tool for students to externalize their intuitions using techniques they are already familiar with, rather than with the syntax of a specific programming language. We validate the effectiveness of our new pedagogy by integrating it into an existing CS1 course at California Polytechnic State University, San Luis Obispo. We find that the our newly proposed pedagogy shows strong potential to improve students’ ability to program
    corecore