DIGITAL LIBRARY
PRACTICAL CLASSES IN COMPUTER PROGRAMMING FOR A ROBOTICS ENGINEER
University of Alicante (SPAIN)
About this paper:
Appears in: INTED2017 Proceedings
Publication year: 2017
Pages: 2486-2490
ISBN: 978-84-617-8491-2
ISSN: 2340-1079
doi: 10.21125/inted.2017.0699
Conference name: 11th International Technology, Education and Development Conference
Dates: 6-8 March, 2017
Location: Valencia, Spain
Abstract:
In 2015, a new degree has been implemented at University of Alicante, degree of robotics. It is the first degree about robotics in Spain and one of the first in the world. Although there are several similar degrees related with robotics, this one consists in a mixture between industrial engineering and computer science. The implementation of this degree has several challenges to be addressed.

Objectives:
The main objective of this paper is to present the practical contents of a programming subject for the degree of robotics. Although programming is a well-known subject (it has a lot of implementations), we have tried to adapt the contents to the characteristics of this new degree.

Methodology:
We have tried to focus the practical contents of the subject into several items which would help to understand others concepts in the degree. We first begin with the description of the theoretical part of the subject: we decided to focus on mixing theoretical programming concepts with a given programming language. We adopted C as the programming language to use, as it is the most important language for a engineer working with robots. The theory contents of this subject are equal to the ones in a first computer science course, which are: data types; conditionals, loop structures, modular programming, functions, parameters, recursion, structured data, arrays, memory management, input/output, ordering methods.

For the practical part, we propose to use two different projects. The first one is taught using a guided schema and introduces students to programming through the development of a simple navigation algorithm. Students learn to implement (the theoretical concepts has been previously seen) loops, conditionals, standard input and output and so on, the basics of the programming skills.

But in the second one we propose a computer vision project, introducing the students into the computer vision world. It is worth to say that there is a Computer Vision subject in the third course. In this practice we work with images, similar to how a robot would. We programed an application to load and manipulate images. The program loaded a bmp image from disk and performed different actions with the image from the user input commands from a menu. We provide a basic working program able to read and write bmp images. This part must be completely developed by the students. Thus, the student is first guided by the teachers and then must be able to complete the task with independency.

Conclusions:
We have presented the structure of a programming subject in which we have focused to adapt the content to the new robotics degree. The proposed practicals could serve as a new approach to teach programming for a non-computer science students.

References:
[1] Kernighan; Dennis Ritchie (March 1988). The C Programming Language (2nd ed.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110362-8.
[2] Cazorla, M.; Gomez-Donoso, F.; Viejo, D.; Martinez-Gomez, J. COMPUTER SCIENCE FOR A ROBOTICS DEGREE. INTED 2016. Valencia, 2016
[3] https://en.wikipedia.org/wiki/ANSI_C
Keywords:
Programming, practical classes, robotics degree.