Datos Identificativos 2024/25
Asignatura (*) Fundamentos de Programación Código 631G03057
Titulación
Descriptores Ciclo Período Curso Tipo Créditos
Grao 2º cuadrimestre
Cuarto Optativa 4.5
Idioma
Castelán
Modalidade docente Non presencial
Prerrequisitos
Departamento Enxeñaría de Computadores
Coordinación
Vidal Paz, Jose
Correo electrónico
jose.vidal.paz@udc.es
Profesorado
Andión Fernández, José Manuel
Vidal Paz, Jose
Correo electrónico
jose.manuel.andion@udc.es
jose.vidal.paz@udc.es
Web http://moodle.udc.es
Descrición xeral Nesta asignatura estudiaráse unha linguaxe de programación con aplicación directa á programación de microcontroladores. Traballarase cun editor de código avanzado facendo uso dun xestor de versions como GitHub, aprenderáse a facer uso de librerías de distintos sensores e deseñar librerías propias para o control dun vehículo autónomo.

Competencias / Resultados do título
Código Competencias / Resultados do título

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias / Resultados do título
Coñecer os pasos para realizar un programa e as suas principais compoñentes A22
B2
B5
B7
B9
B13
B15
B16
C3
Coñecer e saber utilizar as estructuras de control da programación estructurada A22
B2
B5
B7
B9
B13
B15
B16
C3
Coñecer e saber utilizar distintas organizacións de datos A22
B2
B5
B7
B9
B13
B15
B16
C3
Construir programas correctos, ben organizados, documentados e eficientes A22
B2
B5
B7
B9
B13
B15
B16
C3
Saber manexar software de control de versións A22
B2
B5
B7
B9
B13
B15
B16
C3
Aplicar os coñecementos adquiridos no desenvolvemento e depuración de aplicacións que se executen en sistemas programables de control automático, formando parte da Operational Technology a bordo. A22
B2
B5
B7
B9
B13
B15
B16
C3

Contidos
Temas Subtemas
1. INTRODUCCIÓN 1.1. MICROCONTROLADORES
1.2. LINGUAXES DE PROGRAMACIÓN
2. TIPOS, OPERADORES E EXPRESIÓNS 2.1. TIPOS DE DATOS
2.2. OPERADORES
2.3. EXPRESIÓNS
3. ESTRUTURAS DE CONTROL 3.1. SECUENCIAL
3.2. ALTERNATIVA
3.3. REPETITIVA
4. FUNCIÓNS 4.1. VALOR DE RETORNO
4.2. ARGUMENTOS
4.3. INICIALIZACIÓN
4.4. RECURSIVIDADE
5. ESTRUTURAS DE DATOS 5.1. ARRAYS
5.2. PUNTEIROS
5.3. ESTRUTURAS
6. DESEÑO DE ALGORITMOS 6.1. PROGRAMACIÓN PROCEDIMENTAL VS PROGRAMACIÓN ORIENTADA A OBXECTOS
6.2. CLASES E OBXECTOS
6.3. ATRIBUTOS E MÉTODOS
6.4. HERDANZA E XERARQUÍA DE CLASES
6.5. POLIMORFISMO, FUNCTION OVERLOADING E FUNCTION OVERRIDING
6.6. NOVAS TENDENCIAS: JAVA, SWIFT
7. PRINCIPIOS DE ENXEÑARÍA DO SOFTWARE 7.1. LINGUAXE UNIFICADA DE MODELADO (UML)
7.2. MODULARIEDADE E REUTIZACIÓN DE CÓDIGO (LIBRARÍAS)
7.3. PATRÓNS DE DESEÑO
8. CONTROL DE VERSIÓNS 8.1. GIT
8.2. GITHUB
9. PROGRAMACIÓN DE APLICACIÓNS PARA A RESOLUCIÓN DE PROBLEMAS NO ÁMBITO DA OPERATIONAL TECHNOLOGY MARIÑA

Planificación
Metodoloxías / probas Competencias / Resultados Horas lectivas (presenciais e virtuais) Horas traballo autónomo Horas totais
Traballos tutelados A22 B2 B5 B7 B9 B13 B15 B16 C3 14 56 70
Sesión maxistral A22 B13 B16 21 21 42
Prácticas de laboratorio A22 B2 B7 B13 B15 C3 7 21 28
 
Atención personalizada 10 0 10
 
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado

Metodoloxías
Metodoloxías Descrición
Traballos tutelados Proporase a realización dun traballo tutelado relacionado co seu ámbito profesional no que o alumnado deberá integrar os coñecementos adquiridos non só nesta materia, senón tamén noutras materias da titulación.
Este traballo levarase a cabo de forma autónoma, co apoio do profesorado. Para elo se lle proporcionará o equipo hardware necesario que deberá programar para conseguir o seu correcto funcionamento. O traballo defenderase presencialmente ou a través de Teams, e entregarase facendo uso de ferramentas como o Campus Virtual e Github.
Sesión maxistral O profesor fará unha descripción dos contidos de cada tema, relacionándoos cos conceptos adquiridos previamente. Despois desenrolará os contidos teóricos utilizando transparencias e exemplos prácticos. Estas sesión poderán desenvolverse usando Teams e o Campus Virtual.
Prácticas de laboratorio Proporanse una serie de exercicios para que o alumno aprenda a desenrolar sinxelos algoritmos cos que resolver os problemas que se lle indiquen, utilizando para elo as estructuras de control , así coma os tipos e estructuras de datos básicas dunha linguaxe de programación. O alumnado poderá desenvolver estas prácticas tanto de maneira presencial no laboratorio coma de maneira autónoma a distancia. Se lle proporcionará un kit coas compoñentes electrónicas necesarias para as mesmas.
A entrega se fará usando o Campus Virtual, onde deben subir o código do algoritmo e un pequeno vídeo que demostre o funcionamento do programa.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Traballos tutelados
Descrición
A atención personalizada é imprescindible para dirixir ao alumnado na realización do traballo proposto, tratando de aportar solución a os problemas e dúbidas que vaian aparecendo ao longo do desenvolvemento do mesmo, así como para orientar ao alumnado na resolución dos exercicios de programación que lles crearon máis dificultades.

Farase uso dos seguintes medios:

- Correo electrónico: Diariamente. Uso para facer consultas, solicitar encontros virtuais para resolver dúbidas e facer seguimento do traballo tutelado.
- Campus Virtual: Diariamente. Segundo a necesidade do alumnado. Dispoñen dos enunciados dos exercicios prácticos e vídeos de elaboración propia nos que se explica a resolución dos exemplos. Ademáis, tamén dispoñen de enlaces a páxinas web con manuais e titoriais.
- Teams. Diariamente. Segundo a necesidade do alumnado. Utilizarase para o seguimento e apoio do traballo tutelado e as prácticas.

Avaliación
Metodoloxías Competencias / Resultados Descrición Cualificación
Prácticas de laboratorio A22 B2 B7 B13 B15 C3 Resolución e entrega das prácticas de laboratorio 30
Traballos tutelados A22 B2 B5 B7 B9 B13 B15 B16 C3 Realización, exposición e defensa do traballo tutelado proposto 70
 
Observacións avaliación

Todos os aspectos relacionados con “dispensa académica”, “dedicación ao estudo”, “permanencia” e “fraude académica” rexeranse de acordo coa normativa académica vixente da UDC.

Os criterios de avaliación
contemprados no cadro A-III/6 do Código STCW e recollido no Sistema de Garantía
de Calidade teránse en conta á hora de deseñar e realizar a avaliación. 


Fontes de información
Bibliografía básica 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

Bibliografía complementaria 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


Recomendacións
Materias que se recomenda ter cursado previamente
Sistemas Electrónicos de Comunicacións e Axuda á Navegación/631G03050
Redes e Comunicacións/631G03052
Instrumentación e Sensórica/631G03046
Automatismos e Sistemas de Control/631G03038
Electrónica Analóxica/631G03031
Electrónica Dixital/631G03032
Electrónica de Potencia/631G03035

Materias que se recomenda cursar simultaneamente
Sistemas Electrónicos de Adquisición de Datos/631G03058

Materias que continúan o temario

Observacións


(*)A Guía docente é o documento onde se visualiza a proposta académica da UDC. Este documento é público e non se pode modificar, salvo casos excepcionais baixo a revisión do órgano competente dacordo coa normativa vixente que establece o proceso de elaboración de guías