DIGITAL LIBRARY
A PROPOSED APPROACH TO TEACHING INTRODUCTORY PROGRAMMING. EXPERIENCES FOR NON-SPECIALISTS IN COMPUTER SCIENCE
1 Universidad de Alicante (SPAIN)
2 Universidad Miguel Hernández (SPAIN)
About this paper:
Appears in: EDULEARN22 Proceedings
Publication year: 2022
Pages: 2301-2309
ISBN: 978-84-09-42484-9
ISSN: 2340-1117
doi: 10.21125/edulearn.2022.0599
Conference name: 14th International Conference on Education and New Learning Technologies
Dates: 4-6 July, 2022
Location: Palma, Spain
Abstract:
In this paper we propose a methodology to teaching Computer Programming to undergraduate students for which this is not a basic or major subject. The motivation for this work has been the fact that a large number of students refer to learning Computer Programming as an arduous and difficult task, presenting some fear in addressing these issues. In introductory courses most students do not have any prior programming knowledge and we have found that most of them have difficulties formalizing the resolution of problems that are usually specified in natural language, in order to later propose the solution in a logical and formal way. This formalization is an important challenge for a high percentage of our students due to its complexity. As a consequence of these difficulties, we propose a general methodology for the acquisition of the necessary skills or abilities of abstraction in the formalization and resolution of problems. These skills are essential for the future jobs of the students in the degrees and levels that is the object of our experience. Thus, for example, in the field of Electrical and Mechanical Engineering, students need to analyze the specifications of a real problem that involves a programming block, even though this is not a main competence in the professional practice of these engineers.

The teaching methodologies described in this paper have been applied in teaching situations for courses in Electrical and Mechanical Engineering degrees. The methodology uses gamification techniques (among others) to teach Computer Programming. The students are divided in small groups and are given a list of assignments (programming tasks) in increasing level of difficulty. The solutions are submitted one by one, and are tested and graded. The tasks are inspired by real engineering problems and the students who obtain a more efficient and effective solution are the ones who obtain higher grades. The efficiency of the solutions obtained by the students is measured using metrics defined before the start of the tasks resolution. We have found that this gamified structure offers the opportunity for an increasing level of students' personal engagement and motivation.

Data collection has been be done using questionnaires, laboratory assignments, exams and surveys. The students involved in the experience are from the courses “Industrial Automation” in the Electrical Engineering Degree and “Systems Theory” in the Mechanical Engineering Degree (Miguel Hernández University). The approximate number of students who have participated in the experiences has been around 120.

As a main result of our research and experiences, we found that we have obtained an improvement in the teaching of Computer Programming for courses and degrees in which it may be difficult to motivate students in this subject. The effects of this impact have been that students can assimilate in a more effective way the knowledge of these subjects, and we have found that it can help to improve the negative perception that computer programming is difficult to learn. Moreover, these methodologies can be easily adapted to different teaching paradigms and courses.
Keywords:
Introductory computer programming, Industrial automation teaching, gamification techniques, problems specification and formalization.