Publications
Permanent URI for this collectionhttps://repositorio.grial.eu/handle/123456789/34
Browse
4 results
Search Results
Item The role of basic mathematics concepts in programming teaching and learning(ACM, 2019-10-16) Martínez-Valdés, J. A.; García-Peñalvo, F. J.; Velázquez-Iturbide, J. A.App Inventor is an online tool to create apps for mobile devices with Android operating system. With this tool, teachers can develop applications and video games that help students to learn fundamental concepts of mathematics through programming. The implementation of the integer division algorithm firstly in App Inventor, and later in C++ using successive subtractions required a detailed explanation of this algorithm. We have implemented an algorithm that uses the integer division theorem in response to a problem detected among mathematics teachers interested in teaching programming. This study involved 19 participants in 4 institutions in Palmira and Medellín (Colombia). The results indicated that the programming languages such as C++, Java and Python presented the erroneous results in the integer division when the divisor is a negative number, a similar situation to that was observed among the participants who presented quotients and incorrect residues in most cases. Using App Inventor in a programming course with teachers Maths allowed us to enrich the application with a video game for the student’ self-evaluation in relation to the appropriation of the algorithm of the division of integer numbers.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.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.Item Estrategias de enseñanza y aprendizaje de la programación en cursos universitarios(Grupo GRIAL, 2018-06-08) Figueiredo, F.; García-Peñalvo, F. J.Las dificultades de la enseñanza y del aprendizaje de la programación son un tema preocupante para los alumnos y los profesores. Este tema ha sido objeto de numerosos trabajos de investigación a lo largo de los años, desde la aparición de los primeros lenguajes de programación. El fracaso en el aprendizaje de la programación es tema de preocupación en cualquier área y nivel de ense-ñanza, pero especialmente preocupante en la enseñanza superior y en los cursos en el área de Computer Science (CS). Las unidades curriculares de introducción a la programación son normalmente en el primer año de los cursos y, paralela-mente, a las dificultades de ser una nueva fase en la vida del alumno, las dificul-tades en el aprendizaje de la programación pueden convertirse en un factor de desmotivación y de desinterés por el curso. Varios factores pueden estar en el origen de este problema, tales como: la capacidad de abstracción, la construcción mental del raciocinio necesario para la resolución de los problemas, Computa-tional Thinking, o la utilización de métodos de enseñanza inadecuados. Nuestra principal motivación para el desarrollo de este trabajo consiste en com-prender dónde están las dificultades reales, qué factores más influyen en su pro-ceso de aprendizaje, sus razones, cómo podemos ayudar a superarlas, qué herra-mientas, qué métodos o tecnologías podemos utilizar para reducir los problemas en la enseñanza y el aprendizaje inicial de la programación.