Learning computer programming is a challenging process. Among the current approaches for overcoming this challenge, visual programming languages (VPLs), like Scratch, have shown very promising results for beginners. Interestingly, some higher-education institutions have started to use VPLs to introduce basic programming concepts, mainly in CS1 courses. However, an important issue regarding Scratch?s usage in higher education environments is that students may feel unmotivated being confronted by programming exercises that do not fulfill their individual expectations. To try and overcome this barrier, we propose CARAMBA, a Scratch extension including an exercise recommender system. Based on features like \textit{taste} and \textit{complexity}, CARAMBA is able to personalize student learning with Scratch by suitably suggesting exercises for students. An in-depth evaluation was conducted about the effects of our proposal on both the learning of basic concepts of CS1 and the overall performance of students. We adopted an equivalent pretest-posttest design with 88 college students at an Ecuadorian university. Results confirm that recommending exercises in Scratch had a positive effect on students programming learning abilities in terms of success rates. In totality, the success rate achieved by our proposal was over 52%, which is 8% higher than the rate achieved during a previous experience using only Scratch (without recommendation) and 21% higher than the historical results of traditional teaching (without Scratch). Furthermore, we analyzed the degree of exploitation of CARAMBA by students to portray two facts: students actually used CARAMBA and there was a positive correlation between the utilization of CARAMBA and the scores obtained by the students.
Teaching computer programming is a real challenge in the State University of Milagro (UNEMI), located in one of the least-developed zones in Ecuador, a non-WEIRD country (WEIRD stands for Western, Educated, Industrialized, Rich and Democratic). Despite the application of various learning strategies, the historical pass rate does not exceed 43%. To solve this problem, we have relied on visual programming languages, specifically Scratch. Scratch is an open source software to learn programming that has a strong assumption of the benefits of community work. A quasi-experiment conducted with 74 undergraduate students during the first semester of CS showed that: (1) Both groups (control and experimental) are homogeneous in terms of their demographic characteristics, previous academic performance and motivation (expectations) concerning the course; (2) Scratch is strongly accepted by students in the experimental group and concerning the learning process, both groups showed similar levels of satisfaction; (3) the experimental group showed a pass rate four times higher than the control group; (4) in general, student success is associated with having learned programming with Scratch. While limited, our results are an important step in our road to improve the learning of programming in a low social status area of Ecuador.
Many real-world problems have several optima, and the aim of niching optimisation algorithms is to obtain the different global optima, and not only the best solution. One common technique to create niches is the clearing method that removes solutions too close to better ones. Unfortunately, clearing is very sensitive to the niche radius, and its right value depends on the problem (in real-world problems the minimum distance between optima is unknown). In this work we propose a niching algorithm that uses clearing with an adaptive niche radius, that decreases during the run. The proposal uses an external memory that stores current global optima to avoid losing found optima during the clearing process, allowing a non-elitist search. This algorithm applies this clearing method to a mesh of solutions, expanded by the generation of nodes using combination methods between the nodes, their best neighbour, and their nearest current global optima in the population (current global optima are nodes with fitness very similar to current best fitness). The proposal is tested on the competition benchmark proposed in the Special Session Niching Methods for Multimodal Optimization, and compared with other algorithms. The proposal obtains very good results detecting global optima. In comparisons with other algorithm, this proposal obtains the best results, proving to be a very competitive niching algorithm.
Robust optimization over time (ROOT) is a relatively recent topic in the field of dynamic evolutionary optimization (EDO). The goal of ROOT problems is to find the optimal solution for several environments at the same time. Although significant contributions to ROOT have been published in the past, it is not clear to what extent progress has been made in terms of the type of problem addressed. In particular, we believe that there is confusion regarding what it actually means to solve a ROOT problem. To overcome these limitations, the objective of this paper is twofold. On the one hand, to provide a characterization framework of ROOT problems in terms of their most relevant features, and on the other hand, to organize existing contributions according to it. As a result, from an initial set of 186 studies, the characterization framework was applied to 35 of them, allowing to identification of some important gaps and proposing new research opportunities. We have also experimentally addressed the effect of available information on ROOT problems, concluding that there is indeed a significant impact on the performance of the algorithm and that the proposed classification is appropriate to characterize the complexity of ROOT problems. To help identify further research opportunities, we have implemented an interactive dashboard with the results of the review conducted, which is available online.
About Me
[SuSy requires text in the author biography field to submit edited manuscript]
[SuSy requires text in the author biography field to submit edited manuscript]