Version control systems’ usage is a highly demanded skill in information and communication technology professionals. Thus, their usage should be encouraged by educational institutions. This work demonstrates that it is possible to assess if a student can pass a computer science-related subject by monitoring its interaction with a version control system. This paper proposes a methodology that compares the performance of several machine learning models so as to select the appropriate predicting model for the assessment of the students’ achievements. To fit predicting models, three subjects of the Degree in Computer Science at the University of León are considered to obtain the dataset: computer organization, computer programming, and operating systems extension. The common aspect of these subjects is their assignments, which are based on developing one or several programs with programming languages such as C or Java. To monitor the practical assignments and individual performance, a Git repository is employed allowing students to store source code, documentation, and supporting control versions. According to the presented experience, there is a huge correlation between the level of interaction for each student and the achieved grades.
Different Machine Learning techniques to detect software vulnerabilities have emerged in scientific and industrial scenarios. Different actors in these scenarios aim to develop algorithms for predicting security threats without requiring human intervention. However, these algorithms require data-driven engines based on the processing of huge amounts of data, known as datasets. This paper introduces the SonarCloud Vulnerable Code Prospector for C (SVCP4C). This tool aims to collect vulnerable source code from open source repositories linked to SonarCloud, an online tool that performs static analysis and tags the potentially vulnerable code. The tool provides a set of tagged files suitable for extracting features and creating training datasets for Machine Learning algorithms. This study presents a descriptive analysis of these files and overviews current status of C vulnerabilities, specifically buffer overflow, in the reviewed public repositories.
Using 3D computer simulations for training surgeons is not new, but neither is the use of e-learning for improving students knowledge acquisition. What we propose is to use 3D computer simulations in such a versatile way that those simulations could act as learning objects designed directly by those who own the experience we want to be transmitted. In order to achieve this goal, it is necessary to create a model in charge of communicating learning objects and simulators. This model ensures that, on the one hand, the simulation offers an interface to the learning process stable enough not to be affected by every small change. On the other hand, the model also ensures that the simulation offers a mechanism for adopting changes in the learning process. The key to solve this contradiction is to take the complex behavior of the simulation objects out of their control, leaving in them just very basic behaviors. This paper presents the problem and the design proposed to solve it in a more detailed way.
The contribution described in this paper is encompassed in the development of haptic simulators as e-learning tools. The application field chosen for a proof of concept is surgery. A complete surgery is not a simple task and involves different skills to be combined in the right way and in the right order. Existing simulators in surgery field are focused on one specific task to train one particular skill, such as needle insertion or suturing. They are usually developed as stand-alone applications based on frameworks that manage the synchronization of the graphic and haptic parts, integrate physics engines and offer support for the most common haptic devices available in the market. But there are no standardized APIs that let developers easily increase the complexity of the simulators, neither let them include expertise knowledge. In order to solve this problem, we have previously defined a model for representing surgery procedures. This architecture encapsulates the surgeon expertise in order to use simulators as teaching/learning tools. In this work, HCore is presented as the middle layer of this architecture. Our goal is to offer a simplified interface as a step forward rapid haptic simulators development and, at the same time, provide independency from the particular game engine used in the lower layer.