Study programme competencies |
Code
|
Study programme competences / results
|
A2 |
Capacidad para resolver problemas de inteligencia artificial que precisen algoritmos, aplicando correctamente metodologías de desarrollo software y diseño centrado en usuario/a. |
A3 |
Capacidad para comprender y dominar los conceptos básicos de lógica, gramáticas y lenguajes formales para analizar y mejorar las soluciones basadas en inteligencia artificial. |
B2 |
Que el alumnado sepa aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posea las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio. |
B3 |
Que el alumnado tenga la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética. |
B4 |
Que el alumnado pueda transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado. |
B5 |
Que el alumnado haya desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía. |
B6 |
Capacidad para concebir, redactar, organizar, planificar, y desarrollar modelos, aplicaciones y servicios en el ámbito de la inteligencia artificial, identificando objetivos, prioridades, plazos recursos y riesgos, y controlando los procesos establecidos. |
B7 |
Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. |
B8 |
Capacidad para diseñar y crear modelos y soluciones de calidad basadas en Inteligencia Artificial que sean eficientes, robustas, transparentes y responsables. |
B9 |
Capacidad para seleccionar y justificar los métodos y técnicas adecuadas para resolver un problema concreto, o para desarrollar y proponer nuevos métodos basados en inteligencia artificial. |
C2 |
Capacidad de trabajo en equipo, en entornos interdisciplinares y gestionando conflictos. |
C3 |
Capacidad para crear nuevos modelos y soluciones de forma autónoma y creativa, adaptándose a nuevas situaciones. Iniciativa y espíritu emprendedor. |
C6 |
Capacidad para integrar aspectos jurídicos, sociales, ambientales y económicos inherentes a la inteligencia artificial, analizando sus impactos, y comprometiéndose con la búsqueda de soluciones compatibles con un desarrollo sostenible. |
Learning aims |
Learning outcomes |
Study programme competences / results |
Coñecer e comprender a importancia dos obxectivos da programación. Coñecer os aspectos xerais sobre as linguaxes e paradigmas da programación. Coñecer pseudocódigo e a sintaxe da linguaxe Phyton utilizado para describir algoritmos e programas. Coñecer os pasos para a realización dun programa e os seus principais compoñentes. Coñecer os tipos de datos básicos usando a Linguaxe Phyton. Coñecer as estruturas de control da programación estruturada e as diferenzas entre elas. Coñecer todos os aspectos relacionados coa realización de funcións. Levar a cabo o proceso que permite, desde a abstracción, implementar código de alta calidade. Aplicar programación modular para resolver problemas específicos no ámbito de IA. Comprender a sintaxe e semántica da linguaxe de programación. |
A2 A3
|
B2 B3 B5 B7 B8 B9
|
C3 C6
|
Ser capaz de realizar el seguimiento de un algoritmo (en pseudocódigo) o programa (en Lenguaje Phyton ), explicar qué realiza, y encontrar posibles errores. Ser capaz de resolver pequeños algoritmos y programas. A partir del planteamiento de un problema de pequeña-mediana envergadura saber realizar el programa para resolverlo: teniendo en cuenta los objetivos de la programación estructurada. Realizar la descomposición adecuada implementando las funciones y procedimientos necesarios correctamente. Emplear un estilo de programación apropiado: saber hacer buen uso de identificadores, comentarios justos, saber establecer precondiciones y postcondiciones, saber realizar un buen diseño de las interfaces de procedimientos y funciones, saber elegir y utilizar los tipos y estructuras de datos adecuados, saber elegir y utilizar las estructuras de control convenientes. Saber hacer buen conocimiento de la parte del lenguaje que se explique. Adquirir competencias para resolver problemas de forma metodológica y práctica. Identificar y tener la capacidad para seleccionar en un entorno práctico las principales librerías, coger experiencia en la utilización de librerías, que será fundamental en el desarrollo de la profesión donde se necesite programación para la IA y Ciencia de Datos. Analizar las alternativas para afrontar un problema e identificar qué aspectos pueden abordarse, habilidad muy importante en la IA. Manejar técnicas y herramientas de prueba para asegurar la calidad de los resultados |
A2 A3
|
B2 B3 B4 B5 B6 B7 B8 B9
|
C2 C3
|
Contents |
Topic |
Sub-topic |
1 CONCEPTOS BÁSICOS. PARADIGMA IMPERATIVO |
1.1 Algoritmos
1.1.1 Representación de algoritmos
1.2 Programas
1.2.1 Tipos de programas
1.3 Linguaxes de programación
1.3.1 Unha visión histórica
1.3.2 Clasificación dás linguaxes
1.3.3 Instrucións máis importantes
1.3.4 Propiedades das linguaxes
1.4 Tradutores
1.5. Descripción das linguaxes
1.6 Estrutura dun programa
1.7 Elementos dun programa
1.7.1 Símbolos predefinidos
1.7.2 Símbolos especiais
1.7.3 Identificadores
1.7.4 Etiquetas
1.7.5 Comentarios
1.7.6 Directivas
1.7.7 Constantes
1.7.8 Números
1.7.9 Cadeas de caracteres
1.7.10 Variables: Declaración e inicialización
1.8 Saída e Entrada
1.8.1 Sentenzas de saída
1.8.2 Sentenzas de entrada
1.9 Tipos de datos e operadores
1.9.1 Tipos de datos
1.9.2 Operadores
1.9.3 Expresións
1.10 Importar e usar librerías
1.11 Depuración de programas |
2 SENTENZAS DE CONTROL |
2.1 Secuencial
2.2 Condicional
2.2.1 A sentenza condicional simple
2.2.2 A sentenza condicional múltiple
2.3 Repetitiva
2.3.1 Introdución
2.3.2 Variables asociadas aos bucles
2.3.3 Funcionamento dos diferentes tipos de bucles
2.3.4 Bucle While
2.3.5 Bucle FOR
2.3.6 Equivalencia entre bucles
2.3.7 Erros nos bucles
2.3.8 Deseño de bucles |
3 ARQUITECTURA DUN PROGRAMA |
3.1 Funcións
3.1.1 Tipos de funcions
3.1.2 Función como argumentos
3.3 Recursividade
3.3.1 Natureza da recursividade
3.3.2 Recursión infinita |
4 ESTRUCTURAS SIMPLES DE DATOS |
4.1 Lista e Tuplas
4.1.1 Tipo de datos
4.1.2 Operacións con Listas e Tuplas
4.2 Diccionarios
4.3 Cadeas de caracteres
4.3.1 Cadeas de lonxitude variable
|
5 ENTRADA / SAÍDA |
5.1 Ficheiros
5.2 Tipos de ficheiros |
6 TESTEO E PROBAS DE PROGRAMAS |
6.1 Depuración de programas
6.2 Detección de erros
6.2.1 En tempo de compilación
6.2.2 En tempo de execución |
Planning |
Methodologies / tests |
Competencies / Results |
Teaching hours (in-person & virtual) |
Student’s personal work hours |
Total hours |
Laboratory practice |
A2 A3 B2 B3 B4 B5 B6 B7 B8 B9 C2 C3 C6 |
28 |
60 |
88 |
Objective test |
A2 A3 B4 B5 B6 B7 B8 B9 |
2 |
2 |
4 |
Guest lecture / keynote speech |
A2 A3 B2 B3 B5 B7 B8 B9 C3 C6 |
28 |
28 |
56 |
|
Personalized attention |
|
2 |
0 |
2 |
|
(*)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 |
Nas sesións de prácticas o alumno diseñará o pseudocódigo do problema a resolver (papel ou ordenador) para despois codificalo en Linguaxe Phyton, compilalo, executalo e comprobar o seu nivel de corrección.
Os enunciados dos programas proporcionarase coa suficiente antelación para que os alumnos poidan aproveitar mellor o seu tempo.
É misión do profesor supervisar o código xerado polo alumno para resolver dúbidas, corrixir malos estilos de programación e corrixir erros, contando con que o profesor non é un compilador que busca erros. |
Objective test |
Para evaluar el aprendizaje, se realizará una prueba escrita que constará de varios ejercicios a realizar en lenguaje de programación Python. Se realizará en las fechas establecidas por la Xunta de Facultade. |
Guest lecture / keynote speech |
Nas sesións de teoría, o profesor describe os obxectivos e os contidos da materia, para dar unha visión particular do tema para tratar e relacionalo con outros dentro da materia
Despois desenvólvese o tema correspondente na forma de sesión maxistral, axudándose das ferramentas técnicas dispoñibles, facendo fincapé en certas cuestións nas que o alumno debe profundar no seu autoaprendizaje.
O obxectivo é que o alumno aprenda a algoritmizar, utilizar as estruturas básicas de datos e resolver sinxelos problemas de programación. Utilizarase como linguaxe de codificación Phyton
As sesión maxistrais poden ser presenciais ou a través de plataformas informáticas como TEAMS (en casos excepcionais). Tamén se poden incluír vídeos explicativos de diferentes partes dos contidos teóricos
|
Personalized attention |
Methodologies
|
Guest lecture / keynote speech |
Laboratory practice |
Objective test |
|
Description |
Tanto nas sesións maxistrais como nos laboratorios de prácticas levará unha atención personalizada do alumno, en distintos niveis segundo sexa o tipo de clase, detectando o nivel de asimilación e comprensión dos temas explicados e as prácticas requiridas a implantar.
Nas sesións de práctica é onde se pode chegar máis ao alumno para coñecer as lagoas que ten, e indicarlle o camiño para cubrilas.
Os alumnos que teñan matrícula a tempo parcial deben, ao comezo do curso, falar co/os profesores encargados do seu grupo. |
|
Assessment |
Methodologies
|
Competencies / Results |
Description
|
Qualification
|
Laboratory practice |
A2 A3 B2 B3 B4 B5 B6 B7 B8 B9 C2 C3 C6 |
Durante as últimas semanas con prácticas do curso realizarase unha proba no laboratorio usando ordenadores que terá un valor máximo de 4 puntos sobre a nota total do curso. Será necesario que o programa para realizar polo alumno no laboratorio compile e execute de forma correcta e completa. |
40 |
Objective test |
A2 A3 B4 B5 B6 B7 B8 B9 |
O EXAME FINAL, tanto na primeira convocatoria (xaneiro) como na segunda oportunidade (xuño/xullo) constará de varias preguntas ou exercicios que o alumno terá que desenvolver en código Phyton, e terá un valor de 6 puntos. |
60 |
|
Assessment comments |
A nota final virá dada pola nota obtida por AVALIACIÓN CONTINUA e a obtida no EXAME FINAL. O Exame Final constará de varias preguntas e problemas a codificar na linguaxe de programación empregada nas sesións prácticas. Para os alumnos que teñan matrícula a tempo parcial a asistencia as clases non é obligatoria, pero sí a asistencia a proba no laboratorio na data establecida para a evaluación da parte práctica de laboratorio. Durante a realización das probas, en calquera de ambas oportunidades, agás que se indique o contrario, está prohibido o uso de calquera dispositivo con acceso a Internet. Se durante a realización da proba, hai indicios do uso non autorizado deses dispositivos, o estudante será expulsado da aula, e procederase segundo a Ley 3/2022, de 24 de febrero, de convivencia universitaria e o regulamento disciplinar do estudantado da UDC. A realización fraudulenta das probas e/ou actividades implicará directamente a cualificación de suspenso ("0") na materia na convocatoria correspondente, invalidando calquera cualificación obtida en tódalas actividades de cara á seguinte oportunidade, de existir, dentro do mesmo curso académico. Considérase fraudulenta a realización das actividades, propostas a ser completadas presencialmente na aula, que se fagan dende fora da aula, procedendo segundo a Ley 3/2022, de 24 de febrero, de convivencia universitaria e o regulamento disciplinar do estudantado da UDC.
|
Sources of information |
Basic
|
Arturo Montejo Ráez, Salud María Jiménez Zafra (2019). Curso de Programación Python. Editorial Anaya
Mark Lutz (2013). Learning Python. Quinta edición . O’Reilly Media Inc
Alberto Cuevas Alvarez (2016). Python 3. Curso Práctico. Editorial RA-MA
Charles Russell Severance (2016). Python for Everybody: Exploring Data in Python 3. Open Textbook Library
Charles Russell Severance (Autor), Fernando Tardio Muniz (Traductor) (2015). Python para informaticos: Explorando la informacion. |
|
Complementary
|
John V. Guttag (2013). Introduction to Computation and Programming Using Python. The MIT Press
Mark Summerfield (2010). Python 3. Editorial Anaya
Sébastien Chazallet (2016). Python 3. Los fundamentos del lenguaje - 2ª edición. Ediciones-ENI
Raúl González Duque (2008). Python para todos. |
|
Recommendations |
Subjects that it is recommended to have taken before |
|
Subjects that are recommended to be taken simultaneously |
Introduction to Computers/614G03012 |
|
Subjects that continue the syllabus |
|
Other comments |
O alumno debe ter en conta que debe realizar un labor autodidacta moi importante, seguindo o seguinte esquema: Ler, atender, comprender, preguntar, estudar e practicar: - Ler: Lea o tema para tratar antes de asistir ás sesións teóricas. É MOI IMPORTANTE! - Atender: Atenda en clase, non só estea de corpo presente. - Comprender: Comprenda o que se lle di nas sesións de teoría, e se non pregunte. - Preguntar: Pregunte todo o que non comprenda, non quede con dúbidas. - Estudar: Estude despois das sesións, para reter o comprendido. - Practicar: Faga moitos programas, os que se lle pidan, suxiran, e outros pola súa conta, tanto en papel como no computador.
Programación é unha materia que non se pode aprender estudando en dous días. O alumno debe ir madurando os conceptos, facer sobre o papel e na máquina moitos programas, aprendendo tamén dos erros ao realizalos. É unha materia que, por medio do sistema de avaliación continua, pódese aprobar sen máis que seguir, de forma activa, o ritmo das distintas sesións teóricas e prácticas. Debe facer caso ás indicacións particulares de reforzo de estudo que lle sinale o profesor.
Perspectiva de xénero: tal e como se recolle nas competencias transversais do título (C4), fomentarase o desenvolvemento dunha cidadanía crítica, aberta e respectuosa coa diversidade na nosa sociedade, salientando a igualdade de dereitos do alumnado sen discriminación por cuestión de xénero ou condición sexual. Empregarase unha linguaxe inclusiva no material e no desenvolvemento das sesións. Traballarase para identificar e modificar prexuizos e actitudes sexistas e influirase na contorna para modificalos e fomentar valores de respecto e igualdade. |
|