Publications

Permanent URI for this collectionhttps://repositorio.grial.eu/handle/123456789/34

Browse

Search Results

Now showing 1 - 3 of 3
  • Thumbnail Image
    Item
    Teaching and Learning Tools for Introductory Programming in University Courses
    (IEEE, 2021-09-23) Figueiredo, J.; García-Peñalvo, F. J.
    Difficulties in teaching and learning introductory programming have been studied over the years. The students' difficulties lead to failure, lack of motivation, and abandonment of courses. The problem is more significant in computer courses, where learning programming is essential. Programming is difficult and requires a lot of work from teachers and students. Programming is a process of transforming a mental plan into a computer program. The main goal of teaching programming is for students to develop their skills to create computer programs that solve real problems. There are several factors that can be at the origin of the problem, such as the abstract concepts that programming implies; the skills needed to solve problems; the mental skills needed to decompose problems; many of the students never had the opportunity to practice computational thinking or programming; students must know the syntax, semantics, and structure of a new unnatural language in a short period of time. In this work, we present a set of strategies, included in an application, with the objective of helping teachers and students. Early identification of potential problems and prompt response is critical to preventing student failure and reducing dropout rates. This work also describes a predictive machine learning (neural network) model of student failure based on the student profile, which is built over the course of programming lessons by continuously monitoring and evaluating student activities.
  • Thumbnail Image
    Item
    Teaching and learning strategies of programming for university courses
    (ACM, 2019-10-16) Figueiredo, J.; García-Peñalvo, F. J.
    It is consensual to consider teaching and learning programming difficult. A lot of work, dedication, and motivation are required for teachers and students. Since the first programming languages have emerged, the problem of teaching and learning programming is studied and investigated. The theme is very serious, not only for the important concepts underlying the course but also for the lack of motivation, failure, and abandonment that such frustration may imply in the student. Immediate response and constant monitoring of students' activities and problems are important. With this work, it is our goal to improve student achievement in courses where programming is essential. We want each student to be able to improve and deepen their programming skills, performing a set of exercises appropriate and worked for each student and situation. We intend to build a dynamic learning model of constant evaluation, build the profile of the student. The student profile will be analyzed by our predictive model, which in case of prediction of failure, the student will have more careful attention. Predict the student's failure with anticipation and act with specific activities, giving the student the possibility of training and practicing the activities with difficulties. With this model, we try to improve the skills of each student in programming.
  • Thumbnail Image
    Item
    Predicting Student Failure in an Introductory Programming Course with Multiple Back-Propagation
    (ACM, 2019-10-16) Figueiredo, J.; Lopes, N.; García-Peñalvo, F. J.
    One of the most challenging tasks in computer science and similar courses consists of both teaching and learning computer programming. Usually this requires a great deal of work, dedication, and motivation from both teachers and students. Accordingly, ever since the first programming languages emerged, the problems inherent to programming teaching and learning have been studied and investigated. The theme is very serious, not only for the important concepts underlying computer science courses but also for reducing the lack of motivation, failure, and abandonment that result from students frustration. Therefore, early identification of potential problems and immediate response is a fundamental aspect to avoid student’s failure and reduce dropout rates. In this paper, we propose a machine-learning (neural network) predictive model of student failure based on the student profile, which is built throughout programming classes by continuously monitoring and evaluating student activities. The resulting model allows teachers to early identify students that are more likely to fail, allowing them to devote more time to those students and try novel strategies to improve their programming skills.