DIGITAL LIBRARY
USING ARDUINO TO ENHANCE COMPUTER PROGRAMMING COURSES IN SCIENCE AND ENGINEERING
1 University of Granada (SPAIN)
2 Universidad Nacional de Educación a Distancia (SPAIN)
About this paper:
Appears in: EDULEARN13 Proceedings
Publication year: 2013
Pages: 5127-5133
ISBN: 978-84-616-3822-2
ISSN: 2340-1117
Conference name: 5th International Conference on Education and New Learning Technologies
Dates: 1-3 July, 2013
Location: Barcelona, Spain
Abstract:
Engineers and scientists increasingly rely on computers for their work. As a consequence, most science and engineering degrees have introduced a computer programming course in their curricula. However, lecturers face a complex task when teaching this subject: students consider the subject to be unrelated to their core interests and often feel uncomfortable when learning to program for the first time.

A non-traditional approach might help students to overcome their difficulties. Several studies have proposed use of the physical computing paradigm. This paradigm takes the computational concepts “out of the screen” and into the real world so that the student can interact with them.

The present study had two aims: to design and implement several computer programming learning modules that apply the physical computing paradigm and to evaluate these modules when taught to science students.
We designed various learning modules for lectures and for laboratory sessions. These materials complemented the traditional teaching methodology instead of replacing it. The modules covered the teaching of a compiled language, C/C++, and an interpreted language, Matlab.

The creation of the learning modules involved design of electronic circuits and writing of software code. We selected the Arduino board as the hardware platform for the electronic component. Arduino – thanks to its open-source nature –is supported by a vast user community who share their ideas, projects and solutions. Additionally, the creators of Arduino designed a very easy to use board: their main targets were artists and designers.

The effectiveness of the Arduino modules was assessed by comparing two programming courses: in one the teacher used traditional methods; in the other he complemented these with the Arduino modules. Traditional lectures were enhanced using the Arduino demonstrations. At the end of the course students performed a laboratory session working with the Arduino platform.
We found that the training modules enhanced the students learning. Seventy four percent of the students attained a good programming level, a 32% increase compared to the traditional course. Sixty four percent of the class felt confident programming by themselves, a 21% gain.

Students expressed their satisfaction when working with the Arduino platform when asked. Over 95% of student found the laboratory sessions interesting and over 85% enjoyed the lecture demonstrations.

We built several teaching modules to introduce the physical computing paradigm in computer programming courses. The Arduino platform provided the foundations for the modules electronic component. The present work focuses on C/C++ and Matlab but in the future we will extend the study to other programming languages.

We evaluated the modules in a programming course for Biology students and found that they were highly effective: more students learned to program and more students enjoyed programming.

Teaching computer programming to science and engineering students is a challenge: students find the subject unrelated to their core interests and feel uncomfortable learning to program. The physical computing paradigm involves the student more effectively in the learning process.
Keywords:
Arduino, Physical Computing, Scientific Computing, Computer Sciences.