Programación módulo de Programación para la Inteligencia Artificial
1. 21-22
CURSO DE ESPECIALIZACIÓN EN
INTELIGENCIA ARTIFICIAL Y BIG DATA
PROGRAMACIÓN
DIDÁCTICA
ASIGNATURA
PROGRAMACIÓN PARA LA
INTELIGENCIA ARTIFICIAL
CÓDIGO 5073
2. PRESENTACIÓN Y CONTEXTUALIZACIÓN
REQUISITOS Y/O RECOMENDACIONES PARA CURSAR ESTA
ASIGNATURA
MARCO REGULATORIO
COMPETENCIAS QUE ADQUIERE EL ESTUDIANTE
RESULTADOS DE APRENDIZAJE Y CRITERIOS DE EVALUACIÓN
CONTENIDOS
METODOLOGÍA
SISTEMA DE EVALUACIÓN
BIBLIOGRAFÍA BÁSICA
BIBLIOGRAFÍA COMPLEMENTARIA
RECURSOS DE APOYO Y WEBGRAFÍA
21-22
PROGRAMACIÓN PARA LA
INTELIGENCIA ARTIFICIAL
CÓDIGO 5073
ÍNDICE
ANEXO 1: PROPUESTA DE CONTENIDOS EXTENDIDO
3. •
•
•
•
PRESENTACIÓN Y CONTEXTUALIZACIÓN
La asignatura "Programación para la inteligencia artificial" presenta de manera práctica los
principales lenguajes y librerías de programación utilizados en el ámbito de la inteligencia
artificial y su aplicación en la implementación de técnicas efectivas que abordan los distintos
retos y áreas de aplicación en la actualidad en la industria y el ámbito empresarial. Se estudiarán
arquitecturas como las redes neuronales convolucionales, las redes neuronales recurrentes, los
modelos basados en atención y los modelos contextuales, aplicadas a la resolución de
problemas realistas como el del Procesamiento del Lenguaje Natural o la Visión por computador.
El estudiante se familiarizará con los distintos lenguajes y formas de implementación y se iniciará
en el uso de las principales librerías a partir de ejercicios prácticos enfocados al diseño,
implementación, entrenamiento y evaluación de las arquitecturas propuestas, para desarrollar
habilidades que le permitan seleccionar las más adecuadas para cada determinado problema e
diseñar soluciones basadas en ellas evaluando su convergencia con las diferentes tecnologías y
estándares de la industria.
REQUISITOS Y/O RECOMENDACIONES PARA CURSAR ESTA
ASIGNATURA
Para cursar este módulo se recomienda tener los siguientes conocimientos previos:
Conocimientos básicos de álgebra y cálculo
Conocimientos básicos de estadística o nociones de aprendizaje automático
Capacidad de lectura fluida en inglés
Conocimientos de programación, a ser posible Python (las prácticas se harán en Python)
Serán suficiente los conocimientos adquiridos durante el CFGS, aunque sería deseable si
hubiera cursado previamente asignaturas con contenido de programación en Python o R.
MARCO LEGISLATIVO
Nombre de la asignatura PROGRAMACION PARA LA INTELIGENCIA ARTIFICIAL
Código 5073
Curso académico 2021/2022
Título en que se imparte CURSO ESPECIALIZACIÓN EN INTELIGENCIA ARTIFICIAL Y BIG DATA
Docente 2021-22 JOSÉ ALBERTO GARCÍA GUTIÉRREZ
Nº ETCS 12
Horas 110.0
Nivel de formación FORMACIÓN PROFESIONAL DE GRADO SUPERIOR
Familia profesional INFORMÁTICA / TELECOMUNICACIONES
3 CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL PROGRAMACION 21-22
La presente PD está fundamentada en el Real Decreto 279/2021, de 20 de abril, por el que se
establece el Curso de especialización en Inteligencia Artificial y Big Data y se fijan los
aspectos básicos del currículo. El Real Decreto 1147/2011, de 29 de julio, por el que se
establece la ordenación general de la formación profesional del sistema educativo, regula en
su artículo 27 los cursos de especialización de formación profesional e indica los requisitos y
condiciones a que deben ajustarse dichos cursos de especialización. Así, este real decreto,
conforme a lo previsto en el Real Decreto 1147/2011, de 29 de julio, establece y regula, en los
aspectos y elementos básicos antes indicados, el curso de especialización de formación
profesional del sistema educativo en Inteligencia Artificial y Big Data.
4. El citado texto establece a su vez que la competencia general de este curso de especialización
consiste en programar y aplicar sistemas inteligentes que optimizan la gestión de la información y
la explotación de datos masivos, garantizando el acceso a los datos de forma segura y cumpliendo
los criterios de accesibilidad, usabilidad y calidad exigidas en los estándares establecidos, así
como los principios éticos y legales. Otras competencias generales del ciclo incluyen:
- Desarrollar e implementar sistemas de Inteligencia Artificial que faciliten la toma de
decisiones ágiles dentro de un negocio gestionando y explotando datos masivos.
- Aplicar Inteligencia Artificial en funcionalidades, procesos y sistemas de decisión
empresariales.
- Gestionar los distintos tipos de Inteligencia Artificial para la consecución de transformación y
cambio en las empresas.
- Aplicar sistemas de Inteligencia Artificial para identificar nuevas formas de interacción en los
negocios que mejoren la productividad.
Por su parte entre los objetivos generales del ciclo destacamos los siguientes:
- Caracterizar las interacciones en los negocios de las empresas y organizaciones para
aplicar sistemas de Inteligencia artificial que incremente la productividad.
- Caracterizar sistemas de la Inteligencia Artificial para implantar funcionalidades, procesos y
sistemas de decisiones.
- Aplicar herramientas de inteligencia artificial para optimizar el desarrollo de los procesos
autónomos.
La formación del módulo contribuye a alcanzar los objetivos generales a), b), c), d),
e), j), k), m), n), ñ), o) y p) así como las competencias profesionales y sociales a), b), c), d),
e), j), k), m), n), ñ), o), p), q), r) y s) del curso de especialización (RD 279/2021).
COMPETENCIAS QUE ADQUIERE EL ESTUDIANTE
COMPETENCIAS
COMPETENCIAS GENERALES
CPG1 - Adquirir capacidad de abstracción, análisis, síntesis y relación de ideas.
CPG2 - Adquirir capacidad crítica y de decisión
CPG3 - Adquirir capacidad de estudio y autoaprendizaje
CPG4 - Adquirir capacidad creativa y de investigación en entornos colaborativos y abiertos
COMPETENCIAS ESPECÍFICAS
CE1 - Adquirir capacidad de comprender y manejar de forma básica los aspectos más
importantes relacionados con los lenguajes de programación y sistemas informáticos, en
especial, en la implementación y el despliegue de sistemas de información empresariales
basados en inteligencia artificial cuando existen grandes volúmenes de datos.
CE3 - Adquirir capacidad de estudio de los sistemas y aproximaciones existentes para
distinguir las aproximaciones más efectivas.
CE4 - Adquirir capacidad para detectar carencias en el estado actual de la ciencia de
datos y las distintas soluciones existentes a los retos de la inteligencia artificial.
CE5 - Adquirir capacidad para proponer nuevas aproximaciones que den solución a las
carencias detectadas y mejoren la productividad de las empresas.
CE6 - Adquirir capacidad de especificar, diseñar, implementar y evaluar tanto cualitativa
como cuantitativamente los modelos y sistemas propuestos.
CE7 - Adquirir capacidad para proponer y medir el rendimiento de modelos con metodología
4 CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL CÓDIGO 5073
5. adecuada como para poder extraer conclusiones y proponer nuevas líneas de actuación.
RESULTADOS DE APRENDIZAJE Y CRITERIOS EVALUACIÓN
1. Caracteriza lenguajes de programación valorando su idoneidad en el desarrollo de
Inteligencia Artificial.
Criterios de evaluación: a) Se ha identificado la estructura de un programa informático. b)
Se han valorado características en los lenguajes de programación adecuadas al
tipo de aplicaciones a implementar. c) Se ha determinado el lenguaje de programación más
apropiado para el desarrollo de la aplicación. d) Se han valorado características de los
lenguajes de programación para el desarrollo de Inteligencia Artificial. e) Se ha determinado
el lenguaje de programación más apropiado para el desarrollo de la aplicación de
Inteligencia Artificial. f) Se han caracterizado lenguajes de marcado destacando la
información que contienen sus etiquetas.
2. Desarrolla aplicaciones de Inteligencia artificial utilizando entornos de modelado.
Criterios de evaluación: a) Se han evaluado plataformas de Inteligencia Artificial. b) Se han
caracterizado entornos de modelo de aplicaciones de Inteligencia Artificial. c) Se ha definido
el modelo que se quiere implementar según el problema planteado. d) Se ha implementado
la aplicación de Inteligencia Artificial. e) Se han evaluado los resultados obtenidos.
3. Evalúa las mejoras en los negocios integrando convergencia tecnológica.
Criterios de evaluación: a) Se han identificado las ventajas que ofrece unificar procesos,
servicios, herramientas, métodos y sectores. b) Se han identificado sistemas que facilitan la
conexión tecnológica. c) Se han evaluado las características de dichos sistemas. d) Se ha
evaluado como la convergencia tecnológica aporta seguridad en los negocios.
4. Evalúa modelos de automatización industrial y de negocio relacionándolos con los
resultados esperados por las empresas.
Criterios de evaluación: a) Se han identificado las nuevas estrategias corporativas y
modelos de negocio en las empresas. b) Se ha definido la relación entre empresas y
clientes y su efecto en la forma en que las empresas organizan y gestionan sus activos y
recursos. c) Se han evaluado modelos de automatización para los nuevos requerimientos
industriales y de negocio. d) Se ha evaluado la conveniencia de cada modelo para
conseguir los resultados esperados por las empresas.
CONTENIDOS
1. Caracterización de lenguajes de programación:
– Programa informático. Etapas. Lenguajes de programación.
– Principales características en un lenguaje de programación para IA. Bibliotecas.
2. Rendimiento en ejecución. Herramientas. Soporte.
– Principales Lenguajes de programación para Inteligencia Artificial: Python, R, Java..
– Lenguajes de marcado. Información de sus etiquetas.
3. Desarrollo de aplicaciones de IA:
– Plataformas de IA: Librerías. Servicios.
– Entornos de modelado de IA:
• Herramientas de modelado. Librerías, algoritmos y modelos predefinidos,
recolección de datos, manipulación de datos, Evaluación de resultados.
• Modelado de redes neuronales. Módulos predefinidos. Ejemplos
(TensorFlow, Keras).
• Herramientas de generación de código para crear software con
comportamiento inteligente.
4. Evaluación de la Convergencia tecnológica
5 CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL CÓDIGO 5073
6. 1.
2.
3.
5. Evaluación de modelos de automatización industrial y de negocio
Para mayor detalle consulte el Anexo 1 donde se incluye el desarrollo de los bloques de
contenido.
METODOLOGÍA
El enfoque de la docencia será eminentemente práctico, presentando los contenidos teóricos
De forma aplicada y transversal y tratando de conseguir la implicación continua de los estudiantes.
El material docente incluye un resumen de los contenidos de cada tema y distintos tipos de
actividades relacionadas con la consulta bibliográfica, la realización de ejercicios prácticos y,
en ocasiones, la utilización de herramientas asociadas a las tecnologías y técnicas
presentadas en el curso. Junto a las actividades y enlaces con fuentes de información
externas, existe material didáctico propio preparado por el equipo docente con ejercicios que
organizan las actividades prácticas del alumno.
Tratándose de un curso orientado a la empleabilidad, las actividades de aprendizaje se
estructuran alrededor del estado del arte en cada uno de los temas del curso y a su inmediata
aplicación en los distintos ámbitos tecnológicos y industriales. Se utilizarán los recursos del centro
aunque se animará al alumno a hacer uso de sus propios recursos a lo largo del curso. Así mismo
se propondrá a los alumnos actividades de ampliación y material extra fomentando la curiosidad y
la participación del alumno en charlas, seminarios y jornadas referidas a los contenidos del curso.
El plan de trabajo marcará unas pautas adecuadas para que el alumno alcance los objetivos
al final del curso. Incluye una descripción ordenada y secuenciada de los contenidos de cada
tema y orientaciones sobre las actividades a realizar, tanto de estudio teórico como práctico.
Los ejercicios prácticos correspondientes a cada tema, así como la práctica final, son para
apoyo y refuerzo del aprendizaje, y su realización es obligatoria para superar la asignatura.
Las actividades pueden ser de los siguientes tipos:
L: Lectura y estudio del material correspondiente
P: Ejercicios prácticos de entrega obligatoria (exige una entrega en el aula virtual)
PF: Tarea escrita relacionada con un examen o práctica final obligatoria (entrega física)
SISTEMA DE EVALUACIÓN
TIPO DE PRIMERA PRUEBA
Tipo de instrumento Prueba escrita o supuestos prácticos
TIPO DE SEGUNDA PRUEBA
Tipo de instrumento Prueba escrita o supuestos prácticos
CARACTERÍSTICAS DE LA PRUEBA Y/O LOS TRABAJOS
Requiere Presencialidad La asistencia es esencial para la evaluación.
Instrumentos de evaluación
6 CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL CÓDIGO 5073
7. PRUEBAS DE EVALUACIÓN CONTINUA (PEC)
Descripción
En esta asignatura se realiza una evaluación continua a través de la elaboración de
prácticas obligatorias por tema (hasta un 60% de la nota final) y una Práctica
Obligatoria final (hasta un 30% de la nota final), cuyo aprobado es requisito
indispensable para superar la asignatura.
Criterios de evaluación
Para cada tarea se valorará principalmente:
Completitud: se tratan todos los puntos importantes de la tarea.
Corrección: el trabajo realizado no contiene incorrecciones.
Ponderación de la PEC en la nota final 90%, la asignatura se evalúa principalmente
mediante estos trabajos.
Fechas de entrega Las fechas aproximadas de entrega de cada
tarea se encuentran indicadas en el plan de
trabajo de la asignatura.
OTRAS ACTIVIDADES EVALUABLES
Descripción
Se considerarán otras actividades evaluables VOLUNTARIAS como la participación
activa en los foros, las actividades optativas y los debates propuestos por el equipo
docente a lo largo del curso.
Criterios de evaluación
Ponderación en la nota final 10% de la nota final
Fecha aproximada de entrega A lo largo del curso
¿CÓMO SE OBTIENE LA NOTA FINAL?
7 CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL CÓDIGO 5073
La calificación final máxima será de 10 puntos. Para calcular la nota final del alumno en la
asignatura se sumarán las notas obtenidas en las prácticas obligatorias de cada unidad y
La asistencia a clase es obligatoria y constituirá un elemento imprescindible la evaluación.
el examen o la Práctica Obligatoria final con los siguientes pesos:
8. •
•
BIBLIOGRAFÍA BÁSICA
La bibliografía básica será proporcionada al estudiante dentro del curso virtual, estará
compuesta por materiales teórico-prácticos realizados por el equipo docente.
Gran parte de la bibliografía, así como los recursos proporcionados al estudiante en el curso
virtual pueden estar únicamente en inglés, debido a la novedad de algunos de los contenidos
propuestos en la asignatura. El profesor procurará material traducido a aquel alumno que lo solicite.
BIBLIOGRAFÍA COMPLEMENTARIA
ISBN(13):9781838550295
Título:INTRODUCTION TO DEEP LEARNING (June 2019)
Autor/es:Karthiek Reddy Bokka ; Monicah Wambugu ; Tanuj Jain ; Shubhangi Hora ;
Editorial:Springer
La bibliografía complementaria de la asignatura se puede encontrar en la sección de "Libros
electrónicos" del Moodle de la asignatura, desde donde se tiene acceso a gran cantidad de
recursos online, y otro material adicional, así como a las transparencias de clase y los ejemplos
que se vallan presentando a los alumnos.
RECURSOS DE APOYO Y WEBGRAFÍA
Los/as estudiantes dispondrán de los siguientes recursos de apoyo al estudio:
Guía de la asignatura. Incluye el plan de trabajo y orientaciones para su desarrollo. Esta
guía será accesible desde el curso virtual.
Curso virtual. A través de esta plataforma los/as estudiantes tienen la posibilidad de
consultar información de la asignatura, realizar consultas al Equipo Docente a través de los
foros correspondientes o del tutor, consultar e intercambiar información con el resto de los
compañeros/as.
Prácticas obligatorias por cada tema –– 60%
Examen o Práctica Obligatoria final –– 40%
Otras actividades –– 10%
Para superar la evaluación por parciales, el alumno debe alcanzar todos los resultados de
aprendizaje marcados en un grado suficiente. Los resultados de aprendizaje no superados en
las evaluaciones parciales serán evaluados en la evaluación final.
Evaluación final del módulo:
Para superar el módulo, el alumno debe alcanzar todos los resultados de aprendizaje marcados
en un grado suficiente.
La calificación final será la media ponderada de todos los criterios de evaluación
trabajados durante el curso.
8 CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL CÓDIGO 5073
9. •
•
Documentación de la asignatura. El equipo docente publicará recursos adicionales que
faciliten o profundicen los contenidos desarrollados en la asignatura, además de los
contenidos ya ofrecidos.
Biblioteca. El estudiante tendrá acceso tanto a la biblioteca del Centro educativo, así como a
diversos recursos en el Moodle del centro, donde podrá encontrar un entorno adecuado para
el estudio, así como de distinta bibliografía que podrá serle de utilidad durante el proceso de
aprendizaje.
ANEXO 1. CONTENIDOS EXTENDIDO
BLOQUE 1: Exploratorio, caracterización de lo que debe ser un lenguaje para IA
Paradigmas de desarrollo
Caracterización de lenguajes de programación.
Introducción a los lenguajes de modelado.
Complejidad del software. Métricas.
Gestión de proyectos de software.
Implementación de soluciones de Machine Learning en Java.
- Deeplearning4java, Encog y otros Frameworks para Java.
- Implementación de algunos algoritmos clásicos de IA: algoritmos genéticos, programación evolutiva, metaheurísticas,
redes neuronales clásicas, mapas autoorganizados, redes Hopfield para el reconocimiento de patrones.
BLOQUE 2: Desarrollo de aplicaciones para IA
Soluciones de aprendizaje automático utilizando R / Rstudio
-Vectores, listas, dataframes, matrices
-Cargando datos Readr / pipes de Tidyverse
-Manejo de datos y transformaciones: Mutar,filtrar,y agrupar con Dplyr.
-Ordenaciones, pivotaciones, y proyecciones con Tidyr
-Análisis exploratorio, estadístico y medidas de dispersión
-Uso de Stringr para manipulación textos, nociones de webscraching con Rvest
-Filtrado de atributos, nociones de correlación y covarianza.
-Abordaje de la alta dimensionalidad: Análisis componentes principales (PCA) y Análisis discriminantes lineales (LDA)
-Tipos de Gráficos. Gráficos con Ggplot2 y Seaborn
-Implementación de algoritmos de estratificación y clustering en R: algoritmos de mixtura, K-Means y K-Nearest
Neighbors.
-Soluciones de regresión y clasificación en R: lineal/no lineal, arboles clasificación, bayesianos, máquinas de soporte de
vectores.
BLOQUE 3: Evaluación de modelos y convergencia tecnológica
- Plataformas de IA: Colab, Jupiter, Servicios de Amazon AWS
- Entornos de modelado para IA (Knime)
- Despliegue de modelos en Azure Cognitive Services
Soluciones de inteligencia artificial en Cloud con Python / Jupyter
- Librerias para calculo numérico: Pandas, Numpy,
- Librerias para algebra y estadística: SciPy,
- Técnicas avanzadas de Machine learning en Python con Scikit-learn.
- Métodos de ensamblado: Boosting, bagging y Random Forest.
- Visualización avanzada de datos: Matplotlib, Seaborn, Bokeh (interactivos)
- Sistemas de convergencia electrónica: Blockchain, IoT, Cloud, entre otros.
BLOQUE 4: Evaluación de modelos de automatización industrial y de negocio
- Modelos de Deep Learning en el ámbito industrial y empresarial
- Implementación de modelos neuronales profundos con Google Tensorflow y Keras
- Evaluación de modelos empresariales. Métricas de rendimiento para la clasificación multiclase.
- Casos de éxito en la industria e implementaciones del mundo real:
- CNN clasificación de imágenes
- CNN reconocimiento de rostros
- LSTM predicción de sentimientos
- Librerías para procesamiento del lenguaje natural (NPL): Spacy, NLTK, Whoosh, Gensim.
- Librerías en tratamiento de imagen y visión por computador: OpenCV
- Modelos avanzados y estado del arte de las redes neuronales profundas: Pytorch
- Modelos preentrenados para visión artificial: VGG, Inceptionv3
- Modelos preentranados para NLP: ELMO, Transformer (BERT, alBERT), GPT-2
- Líneas de investigación abiertas en IA: Modelos y tendencias.
9 CURSO 2021/22
PROGRAMACIÓN PARA LA INTELIGENCIA ARTIFICIAL CÓDIGO 5073