- Conceptos básicos. Definición de algoritmo.
- Metodología para la solución de problemas
- Entidades primitivas para el diseño de instrucciones
- Programación estructurada. Métodos para la elaboración de algoritmos
- Técnicas para la formulación de algoritmos
- Estructuras algorítmicas básicas
- Arrays. Operaciones
- Cadenas de caracteres. Definición, función, manipulación.
- Módulos
- Confección de algoritmos básicos.
- Análisis de algoritmos.
- Manejo de memoria
- Estructuras lineales estáticas y dinámicas:
- Recursividad.
- Estructuras no lineales estáticas y dinámicas
- Algoritmos de ordenación.
- Métodos de búsqueda.
- Tipos abstractos de datos.
- El entorno de desarrollo de programación.
- Lenguaje estructurado
- Herramientas de depuración.
- La reutilización del software.
- Herramientas de control de versiones.
- Evolución de las interfaces en el software de gestión.
- Características de las Interfaces, interacción hombre-máquina.
- Interface gráficas de usuario
- Normalización y estándares
- User Access), CDE (Common Desktop Environment), etc.
- Guías de estilos.
- Normas CUA (Common User Access)
- Arquitectura y herramientas para el desarrollo de GUI:
- Diseño y desarrollo de interfaces de gestión:
- Evaluación del diseño
- Interfaces gráficas de usuario
- Herramientas para el desarrollo de interfaces gráficas de usuario
- Técnicas de usabilidad.
- Rendimiento de interfaces.
- Notación Húngara.
- Estructura de un programa GUI
- El procedimiento de ventana
- Menús.
- Fichero de recursos.
- Los cajas de diálogo
- Controles básicos.
- El Interfaz de dispositivos gráficos (GDI)
- El cliente del SGBD. Usuarios y privilegios.
- El lenguaje SQL.
- Objetos de la base de datos.
- Integridad y seguridad de los datos
- Sentencias del lenguaje estructurado para operar sobre las bases de datos.
- APIs de acceso a bases de datos.
- Integración de los objetos de la base de datos en el lenguaje de programación estructurado.
- Conexiones para el acceso a datos
- Realización de consultas SQL desde un programa estructurado
- Creación y eliminación de bases de datos.
- Creación y eliminación de tablas.
- Manipulación de datos contenidos en una base de datos:
- Objetos de Acceso a Datos (DAO)
- Herramientas de acceso a datos proporcionadas por el entorno de programación.
- Fundamentos y objetivos de las pruebas.
- Tipos de errores y coste de corrección.
- Planificación de las pruebas
- Proceso de pruebas. Las pruebas en las distintas fases.
- Tipos de pruebas
- Herramientas.
- Normas de calidad del software
- Documentación de pruebas
- Funciones y características.
- Empaquetamiento, instalación y despliegue
- Herramientas de documentación: características.
- Herramientas para generación de ayudas.
- Documentación de una aplicación, características, tipos
- Concepto de base de datos relacional.
- Ejemplificación.
- Concepto de modelos de datos. Funciones y sublenguajes (DDL y DML).
- Clasificación los diferentes tipos de modelos de datos de acuerdo al nivel abstracción
- Enumeración de las reglas de Codd para un sistema relacional.
- Concepto de Relaciones y sus propiedades.
- Concepto de Claves en el modelo relacional.
- Nociones de álgebra relacional.
- Nociones de Cálculo relacional de tuplas para poder resolver ejercicios prácticos básicos.
- Nociones de Calculo relacional de dominios.
- Teoría de la normalización y sus objetivos
- Proceso de realización de diagramas de entidad-relación y saberlo aplicar.
- Elementos
- Diagrama entidad relación entendidos como elementos para resolver las carencias de los diagramas Entidad-Relación simples.
- Elementos
- Desarrollo de diversos supuestos prácticos de modelización mediante diagramas de entidad relación.
- Contextualización del modelo orientado a objeto dentro del modelado UML.
- Comparación del modelo de clases con el modelo-entidad relación.
- Diagrama de objetos como caso especial del diagrama de clases.
- Enumeración de las ventajas e inconvenientes respecto a otros modelos.
- Concepto de fragmentación y sus diferentes tipos
- Enumeración de las reglas de corrección de la fragmentación.
- Enumeración de las reglas de distribución de datos.
- Descripción de los esquemas de asignación y replicación de datos.
- Relación de estos elementos con tablas, vistas e índices.
- Consecuencias practicas de seleccionar los diferentes objetos de almacenamientos.
- Diferentes métodos de fragmentación de la información en especial para bases de datos distribuidas.
- Conceptos básicos, nociones y estándares.
- Lenguaje de definición de datos (DDL SQL) y aplicación en SGBD actuales.
- Discriminación de los elementos existentes en el estándar SQL-92 de otros elementos existentes en bases de datos comerciales.
- Sentencias de creación: CREATE
- Nociones sobre el almacenamiento de objetos en las bases de datos relacionales.
- Nociones sobre almacenamiento y recuperación de XML en las bases de datos relacionales
- Conceptos fundamentales.
- Identificación de los problemas de la concurrencia.
- Actualizaciones perdidas.
- Lecturas no repetibles.
- Lecturas ficticias.
- Nociones sobre Control de la concurrencia
- Conocimiento de las propiedades fundamentales de las transacciones.
- ACID
- Análisis de los niveles de aislamiento
- Serializable.
- - Desarrollo de un supuesto práctico en el que se ponga de manifiesto la relación y las implicaciones entre el modelo lógico de acceso y definición de datos y el modelo físico de almacenamiento de los datos.
- Descripción de los diferentes fallos posibles (tanto físicos como lógicos) que se pueden plantear alrededor de una base de datos.
- Enumeración y descripción de los elementos de recuperación ante fallos lógicos que aportan los principales SGBD estudiados.
- Distinción de los diferentes tipos de soporte utilizados para la salvaguarda de datos y sus ventajas e inconvenientes en un entorno de backup.
- Concepto de RAID y niveles más comúnmente utilizados en las empresas
- Servidores remotos de salvaguarda de datos.
- Diseño y justificación de un plan de salvaguarda y un protocolo de recuperación de datos para un supuesto de entorno empresarial.
- Tipos de salvaguardas de datos
- Definición del concepto de RTO (Recovery Time Objective) y RPO (Recovery Point Objective).
- Empleo de los mecanismos de verificación de la integridad de las copias de seguridad.
- Definición de SGBD distribuido. Principales ventajas y desventajas.
- Características esperadas en un SGBD distribuido.
- Clasificación de los SGBD distribuidos según los criterios
- Enumeración y explicación de las reglas de DATE para SGBD distribuidos.
- Replicación de la información en bases de datos distribuidas.
- Procesamiento de consultas.
- Descomposición de consultas y localización de datos.
- Conceptos de seguridad de los datos: confidencialidad, integridad y disponibilidad.
- Normativa legal vigente sobre datos
- Seguimiento de la actividad de los usuarios
- Introducción básica a la criptografía
- Desarrollo de uno o varios supuestos prácticos en los que se apliquen los elementos de seguridad vistos con anterioridad.
- Descripción de las herramientas para importar y exportar datos
- Clasificación de las herramientas
- Muestra de un ejemplo de ejecución de una exportación e importación de datos.
- Migración de datos entre diferentes SGBD
- Ventajas e inconvenientes de las baes de datos
- Conceptos generales
- El modelo entidad-relación
- El modelo entidad-relación extendido
- Restricciones de integridad
- Estructura del modelo relacional
- Claves en el modelo relacional
- Restricciones de integridad
- Teoría de la normalización
- Diseño de una base de datos relacional
- Tipos de lenguajes relacionales
- Características de SQL
- Sistemas de Gestión de Bases de Datos con soporte SQL
- Sintaxis en SQL
- Especificación de restricciones de integridad
- Caracterísiticas de MySQL
- Tipos de datos
- Sisntaxis SQL para MySQL
- Posibles fallos en una base de datos
- Elementos de recuperación
- Tipos de soporte
- RAID
- Servidores remotos de salvaguarda de datos
- Diseño de un plan de salvaguarda y protocolo de recuperación de datos
- Tipos de salvaguardas de datos
- RTO (Recovery Time Objective) y RPO (Recovery Point Objective)
- Mecanismos de verificación de la integridad de las copias de seguridad
- Definición de SGBD distribuido. Principales ventajas y desventajas
- Características esperadas en un SGBD distribuido
- Clasificación de los SGBD distribuidos
- Enumeración y explicación de las reglas de DATE para SGBD distribuidos
- Replicación de la información en bases de datos distribuidas
- Procesamiento de consultas
- Descomposición de consultas y localización de datos
- Conceptos de seguridad de los datos: confidencialidad, integridad y disponibilidad
- Normativa legal vigente sobre datos
- Supuestos prácticos
- Herramientas para importar y exportar datos
- Clasificación de las herramientas
- Ejemplo de ejecución de una exportación e importación de datos
- Migración de datos entre diferentes SGBD
- Inconvenientes al traspasar datos entre distintos SGBD
- Introducción a la minería de datos y el aprendizaje automático
- Proceso KDD
- Modelos y Técnicas de Data Mining
- Áreas de aplicación
- Minería de textos y Web Mining
- Data mining y marketing
- Introducción a R
- ¿Qué necesitas?
- Tipos de datos
- Estadística Descriptiva y Predictiva con R
- Integración de R en Hadoop
- Obtención y limpieza de los datos (ETL)
- Inferencia estadística
- Modelos de regresión
- Pruebas de hipótesis
- Inteligencia Analítica de negocios
- La teoría de grafos y el análisis de redes sociales
- Presentación de resultados
- ¿Qué es Hadoop?
- El sistema de archivos HDFS
- Algunos comandos de referencia
- Procesamiento MapReduce con Hadoop
- El concepto de los clusters en Hadoop
- ¿Qué es Weka?
- Técnicas de Data Mining en Weka
- Interfaces de Weka
- Selección de atributos
- Fundamentos de inteligencia artificial
- - Evolución de la inteligencia artificial
- - Principales Enfoques de la inteligencia artificial
- - Implementación de la inteligencia artificial
- - Retos y perspectivas de futuro de la inteligencia artificial
- Machine Learning: Principios y Aplicaciones
- - Historia del Machine Learning
- - Algoritmos de Machine Learning
- - Modelos de aprendizaje en Machine Learning
- Deep Learning: arquitecturas y entrenamiento
- - Arquitectura de redes neuronales profundas
- Inteligencia Artificial Generativa (GenAI)
- - Tipos de inteligencia artificial generativa
- - Usos de la inteligencia artificial generativa
- Procesamiento del Lenguaje Natural (NLP)
- - Historia de los sistemas NLP
- - Definición y alcance del NLP
- - Inteligencias artificiales dedicadas al NLP
- - Principales problemas y desafíos en el campo del NLP
- Chatbots y su integración en empresas
- - Historia de los chatbots
- - Definición y tipos de chatbot
- - Funcionamiento de un chatbot
- Transformers: arquitectura y aplicaciones
- - Funcionamiento
- - Principales arquitecturas de transformers
- - Aplicaciones de los transformers
- - Ventajas de los transformers
- - Problemas y desafíos de los transformers
- Visión Artificial
- - Definición de visión artificial
- - Historia de la visión artificial
- - Proceso de visión artificial
- - Algoritmos de visión artificial
- - Arquitecturas de visión artificial
- - Uso de sistemas de visión artificial
- - Problemas y desafíos de la visión artificial
- Ética y responsabilidad en Inteligencia Artificial
- - Consideraciones éticas en el uso de la inteligencia artificial generativa y consejos para mantenerlas
- - Consideraciones éticas del procesamiento del lenguaje natural
- - Consideraciones éticas de los chatbots
- - Consideraciones éticas de la visión artificial
- Concepto de aprendizaje profundo
- - Diferencias existentes entre el aprendizaje profundo y el aprendizaje automático
- Evolución e historia del aprendizaje profundo
- - Cronología histórica
- - Pioneros del campo del aprendizaje profundo
- Ventajas del aprendizaje profundo
- - Principales ventajas del aprendizaje profundo
- Redes neuronales
- Redes profundas y redes poco profundas
- Aprendizaje profundo
- Entorno de Deep Learning con Python
- Aprendizaje automático y profundo
- Entrada y salida de datos
- Entrenar una red neuronal
- Gráficos computacionales
- Implementación de una red profunda
- El algoritmo de propagación directa
- Redes neuronales profundas multicapa
- Concepto de aprendizaje profundo por refuerzo
- Los elementos que componen un modelo de aprendizaje profundo por refuerzo
- El funcionamiento del aprendizaje profundo por refuerzo
- - Recompensas vs penalizaciones
- - Algoritmos a utilizar
- - La ecuación de Bellman
- Posibilidades del aprendizaje profundo por refuerzo
- Las posibilidades futuras del aprendizaje profundo
- Principales usos en la actualidad
- Aprendizaje profundo e IoT
- - El concepto de IoT
- Aplicaciones en el entorno empresarial
