A low-level approach to improve programming learning

  • PDF / 1,582,015 Bytes
  • 15 Pages / 595.276 x 790.866 pts Page_size
  • 59 Downloads / 209 Views

DOWNLOAD

REPORT


LONG PAPER

A low‑level approach to improve programming learning Francisco J. Gallego‑Durán1   · Rosana Satorre‑Cuerda1 · Patricia Compañ‑Rosique1 · Carlos J. Villagrá‑Arnedo1 · Rafael Molina‑Carmona1 · Faraón Llorens‑Largo1

© Springer-Verlag GmbH Germany, part of Springer Nature 2020

Abstract Learning to program is becoming a universally desired ability. Discovering better ways to teach programming and improving existing ones is essential to increase its accessibility. At present, most teaching approaches focus on high-level languages and constructs to ease understanding. However, understanding problems seem to persist making the learning process slow and painful. Moreover, mental models developed by students present gaps and misunderstandings that limit their maximum achievable abilities. This paper presents a new approach to teach students bottom-up, starting from machine code and assembler programming. This approach has been tested on first-year university students for two consecutive years. Experimental groups attended a 16 h course the week before their first term at the university. Then, their performance was comparatively measured against the control group through their marks on the introductory Programming 1 subject. Several potential confounding factors were also considered. Results suggested that such a small intervention could have positive, though limited, influence in their programming abilities. The experimental setup is detailed, and all data gathered are included for reproducibility. Keywords  Learning to program · Teaching programming · Universal education access · Computational abilities

1 Introduction Computer programming is an increasingly demanded ability. Some practitioners even consider a future in which digital illiterates would be those not knowing how to program computers. In fact, computer programming is far from being a universally accessible ability. Learning to program takes a * Francisco J. Gallego‑Durán [email protected] Rosana Satorre‑Cuerda [email protected] Patricia Compañ‑Rosique [email protected] Carlos J. Villagrá‑Arnedo [email protected] Rafael Molina‑Carmona [email protected] Faraón Llorens‑Largo [email protected] 1



Smart Learning Group, Cátedra Santander‑UA de Transformación Digital, Universidad de Alicante, San Vicente del Raspeig, Alicante, Spain

considerable amount of time and effort and often requires previous abilities like abstract thinking. There are many ongoing efforts to help learners to acquire computer programming abilities. In fact, the whole new theme of Computational Thinking arises from this perspective. It is an effort to early teach students required computer programming abilities in a multidisciplinary, transferable way. This is recognizing the growing importance of these abilities, and also the need for properly teaching them. During the past decades, teaching computer programming has mostly been performed at universities. The teaching model has evolved along with the evolution of computing itself. At first, Modula-2, C and Pascal were the pref