Identifying Data 2022/23
Subject (*) Programming Fundamentals Code 631G02561
Study programme
Grao en Tecnoloxías Mariñas
Descriptors Cycle Period Year Type Credits
Graduate 1st four-month period
Fourth Optional 6
Language
Spanish
Galician
Teaching method Face-to-face
Prerequisites
Department Enxeñaría de Computadores
Coordinador
Vidal Paz, Jose
E-mail
jose.vidal.paz@udc.es
Lecturers
E-mail
Web http://moodle.udc.es/
General description

Study programme competencies
Code Study programme competences
A2 CE2 - Capacidade para a dirección, organización e operación das actividades obxecto das instalacións marítimas no ámbito da súa especialidade.
A13 CE13 - Levar a cabo automatizacións de procesos e instalacións marítimas.
A14 CE14 - Avaliación cualitativa e cuantitativa de datos e resultados, así como a representación e interpretación matemáticas de resultados obtidos experimentalmente.
A15 CE15 - Manexar correctamente a información procedente da instrumentación e sintonizar controladores, no ámbito da súa especialidade.
A16 CE16 - Ensamblar e realizar tarefas básicas de mantemento e reparación de equipos informáticos. Instalar e manexar sistemas operativos e aplicacións informáticas. Instalar e realizar as tarefas básicas de xestión de redes de ordenadores, no ámbito da súa especialidade.
A17 CE17 - Modelizar situacións e resolver problemas con técnicas ou ferramentas físico-matemáticas.
A18 CE18 - Redacción e interpretación de documentación técnica.
A20 CE20 - Ser capaz de identificar, analizar e aplicar os coñecementos adquiridos nas distintas materias do Grao, a unha situación determinada formulando a solución técnica máis axeitada dende o punto de vista económico, ambiental e de seguridade.
A67 CE57 - Facer funcionar os ordenadores e redes informáticas a bordo dos buques
A69 CE59 - Manter e reparar os sistemas de control automático da máquina propulsora principal e das máquinas auxiliares
B2 CT2 - Resolver problemas de forma efectiva.
B5 CT5 - Traballar de forma colaboradora.
B8 CT8 - Versatilidade.
B9 CT9 - Capacidade para a aprendizaxe de novos métodos e teorías, que lle doten dunha gran versatilidade para adaptarse a novas situacións.
C3 C3 - Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.
C5 C5 - Entender a importancia da cultura emprendedora e coñecer os medios ao alcance das persoas emprendedoras.
C7 C7 - Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida.
C9 CB1 - Demostrar que posúen e comprenden coñecementos na área de estudo que parte da base da educación secundaria xeneral, e que inclúe coñecementos procedentes da vanguardia do seu campo de estudo
C10 CB2 - Aplicar os coñecementos no seu traballo ou vocación dunha forma profesional e poseer competencias demostrables por medio da elaboración e defensa de argumentos e resolución de problemas dentro da área dos seus estudos
C11 CB3 - Ter a capacidade de reunir e interpretar datos relevantes para emitir xuicios que inclúan unha reflexión sobre temas relevantes de índole social, científica ou ética
C12 CB4 - Poder transmitir información, ideas, problemas e solucións a un público tanto especializado como non especializado.
C13 CB5 - Ter desenvolvido aquelas habilidades de aprendizaxe necesarias para emprender estudos posteriores con un alto grao de autonomía.

Learning aims
Learning outcomes Study programme competences
Using a structured programming language A13
A15
B8
B9
C3
Knowing the steps to build a program and its main components A13
A17
Knowing the control structures of the structured programming and the differences among them A13
Knowing how to develop programs to solve small- and medium-size problems A2
A13
A16
A17
A20
B2
B5
B8
B9
C3
C9
C10
C11
C13
Building correct, well-organized and documented programs A13
A16
A17
A18
A67
C3
C11
C12
Acquiring good habits linked to programming A18
B5
B8
B9
C3
C5
C7
C11
C12
C13
Knowing the different ways to organise data: variables, constants, arrays, structs, pointers. A13
A14
Ser capaz de depurar e reprogramar sistemas de control automático A67
A69

Contents
Topic Sub-topic
1. INTRODUCTION 1.1. MICROCONTROLLERS
1.2. PROGRAMMING LANGUAGE
2. TYPES AND EXPRESSIONS 2.1. DATA TYPES
2.2. OPERATORS
2.3. EXPRESSIONS
3. CONTROL FLOW 3.1. SEQUENTIAL
3.2. ALTERNATIVE
3.3. REPETITIVE
4. FUNCTIONS 4.1. RETURN VALUE
4.2. ARGUMENTS
4.3. INITIALIZATION
4.4. RECURSIVITY
5. DATA STRUCTURES 5.1. ARRAYS
5.2. POINTERS
5.3. STRUCTS
6. OBJECT ORIENTED PROGRAMMING 6.1. OBJECTS, ATRIBUTES AND METHODS
6.2. CLASSES AND INHERITANCE
6.3. POLYMORPHISM
7. LIBRARIES 7.1. SPECIFIC LIBRARIES FOR MICROCONTROLLERS
8. CONTROL POR MICROCONTROLADOR 8.1. CONTROL DO SISTEMA DE PROPULSIÓN
8.2. CONTROL DOS SISTEMAS AUXILIARES

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Laboratory practice A13 A14 A15 A16 A17 A20 A67 A69 B2 B8 B9 C3 7 14 21
Supervised projects A2 A13 A14 A15 A16 A18 A20 A67 A69 B2 B5 B8 B9 C3 C5 C7 C9 C10 C11 C12 C13 14 28 42
Guest lecture / keynote speech A17 B9 C5 C7 21 21 42
 
Personalized attention 45 0 45
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Laboratory practice A series of exercises will be proposed so that the student learns to develop simple algorithms. Thus, the student will be able to solve the problems that arise to him, using for this the control structures and basic data types of a programming language.
Supervised projects A supervised project, related to his professional field, will be proposed. It will allow the student to integrate the knowledge acquired not only in this subject, but also in other subjects of the degree.
Guest lecture / keynote speech The lecturer will describe the contents of each topic, relating them to the concepts previously acquired. Then he will develop the theoretical contents using slides and practical examples.

Personalized attention
Methodologies
Guest lecture / keynote speech
Laboratory practice
Supervised projects
Description
In the laboratory practice sessions, the students will be advised in the resolution of the proposed exercises.

Students will also be advised during the development of the supervised project that has to be carried out throughout the course.

In the lectures, the professor will resolve the doubts that arise so that the student can assimilate the concepts studied and relate them correctly to those seen in previous topics.

Assessment
Methodologies Competencies Description Qualification
Laboratory practice A13 A14 A15 A16 A17 A20 A67 A69 B2 B8 B9 C3 Resolution and submission of the laboratory exercises. 45
Supervised projects A2 A13 A14 A15 A16 A18 A20 A67 A69 B2 B5 B8 B9 C3 C5 C7 C9 C10 C11 C12 C13 Realization, presentation and defense of the supervised project. 55
 
Assessment comments

The evaluation criteria present in table A-III/6 of the STCW Code, and included in the Quality Assurance System, will be taken into account when designing and carrying out the evaluation.


Sources of information
Basic Torrente Artero, O. (2016). El Mundo Genuino-Arduino. Curso Práctico de Formación. RC Libros
García Carballeira, F.; Calderón Mateos, A.; Carretero Pérez, J.; Fernández Muñoz, J. y Pérez Menor, (2003). Problemas Resueltos de Programación en Lenguaje C. Thomson
Antonakos, J.L. y Mansfield Jr., K.C. (2004). Programación Estructurada en C. Prentice Hall

Complementary Ganazhapa, B.O. (2016). Arduino. Guía Práctica. RC Libros
Kernighan, B.W. y Ritchie, D.M. (1991). El Lenguaje de Programación C. Prentice Hall
Banzi, M. y Shiloh, M. (2016). Introducción a Arduino. Anaya
Stroustrup, B. (2013). The C++ Programming Language. Pearson


Recommendations
Subjects that it is recommended to have taken before
Regulation and Control Fundamentals/631G02257
Digital Electronics/631G02364
Power and Analogue Electronics/631G02363
Networks and Communications/631G02366
Sensors and Instrumentation/631G02369

Subjects that are recommended to be taken simultaneously
Electronic Communication Systems and Navigation Aids/631G02457
Electronic Systems for Data Acquisition/631G02562

Subjects that continue the syllabus

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.