1. Ingeniería de software, sus principios y objetivos
  2. Metodologías en Espiral, Iterativa y Ágiles
  3. Prácticas ágiles
  4. Métodos ágiles
  5. Evolución de las metodologías ágiles
  6. Metodologías ágiles frente a metodologías pesadas

  1. Principios de las metodologías ágiles
  2. Agile Manifesto
  3. User History

  1. La iteracción como alternativa a la planificación lineal
  2. La comunicación y la motivación
  3. Características del liderazgo participativo
  4. Pensamiento disruptivo y desarrollo de la idea
  5. Prueba y error, learning by doing

  1. Definición y características de Extreme Programming
  2. Fases y reglas de XP
  3. La implementación y el diseño
  4. Los valores de XP
  5. Equipo y cliente de XP

  1. La teoría Scrum: framework
  2. El equipo
  3. Sprint Planning
  4. Cómo poner en marcha un Scrum

  1. Introducción al método Kanban
  2. Consejos para poner en marcha kanban
  3. Equipo
  4. Business Model Canvas o lienzo del modelo de negocio
  5. Scrumban

  1. Introducción al Lean Thinking
  2. Lean Startup

  1. Agile Inception Deck
  2. Design Thinking
  3. DevOps
  4. Dynamic Systems Development Method (DSDM)
  5. Crystal Methodologies
  6. Adaptative Software Development (ASD)
  7. Feature Driven Development (FDD)
  8. Agile Unified Process

  1. Conceptualización de Full Stack Developer

  1. Características del desarrollador full stack
  2. Ventajas y desventajas de full stack

  1. Capas de full stack

  1. Introducción
  2. La usabilidad
  3. Qué es UI vs UX - interfaz de usuario vs Experiencia de usuario
  4. Atributos
  5. Complejidad e importancia de la usabilidad
  6. Pirámide de prioridades de la usabilidad
  7. Mejoras de la usabilidad al producto final
  8. Procesos y herramientas

  1. Definición de Experiencia de Usuario
  2. Principios de la Experiencia de Usuario
  3. El papel del diseñador UX en el proceso de creación
  4. Etapas del diseño UX
  5. Técnicas para el diseño UX
  6. Herramientas UX

  1. ¿Qué es el Diseño Centrado en el Usuario?
  2. ¿Para que sirve el Diseño Centrado en el Usuario?
  3. Las metodologías del Diseño Centrado en el Usuario
  4. El marketing centrado en el usuario
  5. Aplicación del Diseño Centrado en el Usuario
  6. Ejemplos del Diseño Centrado en el Usuario

  1. Introducción
  2. Un proceso multidisciplinar
  3. La usabilidad aplicada
  4. El ciclo diseño-investigación

  1. Definición de Interfaz de Usuario - UI
  2. Elementos de la interfaz de Usuario
  3. Optimización de las interfaces de Usuario
  4. Herramientas para el diseño UI
  5. Diseño basado en las percepciones
  6. Fundamentos del diseño de interacción
  7. Moodboards
  8. Qué es el IxD

  1. Proceso de negocio
  2. User persona
  3. Screen flow
  4. Wireframes
  5. Diseño Alta Fidelidad
  6. Prototipado
  7. Feedback y entrega

  1. Principios del diseño aplicados al UI
  2. Principios de claridad
  3. Reglas Heurísticas de usabilidad
  4. Elementos de una interfaz de usuario
  5. Patrones y consistencias del diseño UI

  1. UI kits
  2. Atomic Design
  3. Icon Design
  4. Los sistemas de diseño

  1. Principios del Motion
  2. Microinteracciones

  1. ¿Qué es el control de versiones?
  2. ¿Qué es GIT?
  3. ¿Por qué GIT?
  4. Instalación de GIT
  5. GitHub y su relación con GIT

  1. Flujo de trabajo en GIT (Workflow)
  2. Principales comandos Git Bash
  3. Crear un repositorio
  4. Cambios de archivos
  5. Deshacer cambios
  6. Sincronizar repositorios
  7. Reescribir historial

  1. Usar ramas en GIT
  2. Cambiar ramas (Git checkout)
  3. Ramas remotas (Remote Branches)
  4. Flujo de trabajo (Workflow)
  5. Integración de ramas
  6. Borrado de ramas
  7. Etiquetas (Tags)
  8. Solicitudes de extracción (Pull requests)

  1. Comandos GIT en Git Bash
  2. Comandos GIT para configurar y crear repositorios
  3. Comandos GIT para preparar y confirmar cambios
  4. Comandos GIT para trabajar con repositorios remotos (como GitHub)
  5. Comandos GIT para deshacer cambios y etiquetas

  1. Trabajar con GIT
  2. Confirma con regularidad (commit)
  3. Escriba mensajes de confirmación útiles
  4. Utilice ramas (Branch)
  5. Actualice su repositorio antes de enviar cambios (Pull y Push)
  6. Divide el trabajo en repositorios

                1. Introducción CSS
                2. Soporte de CSS en navegadores
                3. Especificación oficial
                4. Funcionamiento básico de CSS
                5. ¿Cómo incluir CSS en la Web?
                6. Estilo básico
                7. Medios CSS
                8. Comentarios
                9. Sintaxis de la definición

                1. Selectores CSS
                2. Unidades de medida
                3. Colores

                1. Pseudoclases
                2. Pseudo-elementos
                3. Otras pseudoclases y pseudoelementos

                1. Modelo de cajas
                2. Propiedades de las cajas
                3. Margen, relleno, bordes y modelo de cajas
                4. Posicionamiento y visualización
                5. Posicionamiento
                6. Visualización

                1. En qué cosiste
                2. Visualización: Display
                3. Contenedores flexibles: flex e inline-flex
                4. Orientación: flex-box, flex-direction y flex-wrap
                5. La propiedad order
                6. Alineación de los elementos flexibles
                7. Soporte de los navegadores

                1. Crear y vincular hojas de estilos
                2. Estructura
                3. Propiedades CSS
                4. Selectores
                5. Posición y tamaño
                6. Texto
                7. Imágenes
                8. Listas, tablas, formularios

                1. Introducción
                2. Definición de Diseño Web Responsive
                3. ¿En qué consiste el diseño responsive?
                4. Ventajas del diseño responsive
                5. SEO y diseño responsive

                1. Introducción a Bootstrap 5
                2. Diferencias entre Bootstrap 4 y Bootstrap 5
                3. Generalidades de Bootstrap 5
                4. Descarga e instalación de Bootstrap 5

                1. Uso de container y Media Queries (Responsive breakpoints)
                2. Utilidades dentro de nuestro layout: flexbox, margin, padding and visibility
                3. Estructura básica del Grid
                4. Posibilidades de personalización del Grid

                1. Tablas
                2. Jumbotron
                3. Alertas
                4. Barras de progreso
                5. Paginación
                6. Listas de grupos
                7. Desplegables
                8. Barras de navegación
                9. Formularios
                10. Carruseles
                11. Modales

                1. Tipografía
                2. Colores
                3. Imágenes
                4. Botones
                5. Formularios personalizados

                1. Bordes: color, posición y radio
                2. Uso de Clearfix
                3. Colores de fondo con grado de intensidad
                4. Uso del atributo Display
                5. Uso del sistema Flex
                6. Fijación de elementos mediante posiciones
                7. Modificaciones avanzadas del texto
                8. Ejemplos combinados del uso de Bootstrap en nuestra página

                                                                            1. Introducción
                                                                            2. Instalación
                                                                            3. Creando un proyecto

                                                                            1. Introducción
                                                                            2. Estructura
                                                                            3. Editar el código
                                                                            4. Crear una aplicación

                                                                            1. Introducción
                                                                            2. Propiedades y datos
                                                                            3. Métodos y objetos
                                                                            4. Clases

                                                                            1. Introducción
                                                                            2. Tipos de directivas
                                                                            3. Crear una directiva
                                                                            4. Utilizar la directiva

                                                                            1. Introducción
                                                                            2. Tipos de pipes
                                                                            3. Usando pipes
                                                                            4. Pipes personalizados

                                                                            1. Introducción
                                                                            2. Configuración
                                                                            3. Componentes
                                                                            4. Router links
                                                                            5. Router outlet

                                                                            1. Introducción
                                                                            2. Implementar
                                                                            3. Obtener datos
                                                                            4. Peticiones

                                                                            1. Introducción
                                                                            2. Creación
                                                                            3. Validación
                                                                            4. Estados

                                                                            1. Introducción
                                                                            2. Instalación
                                                                            3. Iconos
                                                                            4. Componentes
                                                                            5. Navegación
                                                                            6. Formulario
                                                                            7. Layout

                                                                            1. Introducción a las Progressive Web Apps (PWA)
                                                                            2. Características clave de las PWA
                                                                            3. Arquitectura básica de una PWA
                                                                            4. Preparación del entorno de desarrollo para PWA
                                                                            5. Uso de HTTPS y seguridad en PWA

                                                                            1. Conceptos fundamentales de Service Workers
                                                                            2. Registro y ciclo de vida de un Service Worker
                                                                            3. Instalación y activación de un Service Worker
                                                                            4. Estrategias de caché con Service Workers
                                                                            5. Notificaciones push en PWA con Service Workers
                                                                            6. Sincronización de datos en segundo plano con SyncManager
                                                                            7. Manejo de actualizaciones de Service Workers
                                                                            8. Depuración y herramientas para Service Workers

                                                                            1. Introducción al Web App Manifest
                                                                            2. Estructura y propiedades del Web App Manifest
                                                                            3. Iconos y recursos para diferentes dispositivos
                                                                            4. Configuración de la pantalla de inicio en dispositivos móviles
                                                                            5. Temas de color y estilo de la aplicación
                                                                            6. Personalización de la barra de navegación y notificaciones
                                                                            7. Enlace del Web App Manifest en el documento HTML
                                                                            8. Verificación y prueba del Web App Manifest

                                                                            1. ¿Qué es NodeJS?
                                                                            2. Historia de NodeJS
                                                                            3. Ventajas y desventajas
                                                                            4. Ecosistema de NodeJS
                                                                            5. Frameworks y herramientas de NodeJS

                                                                            1. Descarga e instalación de NodeJS
                                                                            2. Uso del gestor de paquetes NPM
                                                                            3. Configuración de entornos de desarrollo
                                                                            4. Uso de versiones de NodeJS con NVM
                                                                            5. Configuración de variables de entorno

                                                                            1. MódulosVariables globales
                                                                            2. Tipos de datos
                                                                            3. Funciones
                                                                            4. Funciones asíncronas
                                                                            5. Promises

                                                                            1. Acceso a archivos y directorios
                                                                            2. Creación y eliminación de archivos y directorios
                                                                            3. Manejo de rutas
                                                                            4. Operaciones asíncronas
                                                                            5. Lectura y escritura de archivos de texto y binarios
                                                                            6. Compresión y descompresión de archivos

                                                                            1. Creación de un servidor web con NodeJS
                                                                            2. Manejo de solicitudes HTTP
                                                                            3. Enrutamiento de solicitudes
                                                                            4. Uso de middleware
                                                                            5. Uso de plantillas de vistas
                                                                            6. Manejo de errores en NodeJS

                                                                            1. Introducción a bases de datos con NodeJS
                                                                            2. Uso de MongoDB con NodeJS
                                                                            3. Uso de MySQL con NodeJS
                                                                            4. ORM (Object-Relational Mapping)
                                                                            5. Manejo de transacciones en bases de datos

                                                                            1. ¿Qué es ExpressJS?
                                                                            2. Creación de aplicaciones web con ExpressJS
                                                                            3. Manejo de rutas en ExpressJS
                                                                            4. Uso de middleware en ExpressJS
                                                                            5. Uso de cookies y sesiones en ExpressJS
                                                                            6. Validación de datos en ExpressJS

                                                                            1. Introducción a la autenticación y autorización
                                                                            2. Implementación de autenticación con Passport
                                                                            3. Uso de JSON Web Tokens (JWT) para autorización
                                                                            4. Manejo de sesiones de usuario
                                                                            5. Implementación de autenticación con OAuth

                                                                            1. ¿Qué son los websockets?
                                                                            2. Implementación de websockets con Socket.IO
                                                                            3. Comunicación en tiempo real con websockets
                                                                            4. Uso de websockets para notificaciones push
                                                                            5. Escalabilidad y rendimiento de aplicaciones con websockets

                                                                            1. Preparación de una aplicación
                                                                            2. Uso de PM2 para gestionar procesos de NodeJS
                                                                            3. Configuración de servidores de producción
                                                                            4. Despliegue de aplicaciones en plataformas de hosting
                                                                            5. Monitoreo y análisis de rendimiento de aplicaciones en producción

                                                                            1. Importancia del testing en NodeJS
                                                                            2. Uso de frameworks de testing
                                                                            3. Tipos de pruebas
                                                                            4. Automatización de pruebas
                                                                            5. Estrategias de pruebas

                                                                            1. Introducción a las aplicaciones en tiempo real
                                                                            2. Implementación de aplicaciones en tiempo real con Socket.IO
                                                                            3. Uso de WebRTC para comunicación en tiempo real
                                                                            4. Escalabilidad y rendimiento de aplicaciones
                                                                            5. Casos de uso de aplicaciones en tiempo real

                                                                            1. ¿Qué es la seguridad web?
                                                                            2. Amenazas para un sitio web
                                                                            3. Consejos para mantener un sitio web seguro
                                                                            4. Otros consejos de seguridad web
                                                                            5. Proveedores de alojamiento web seguros

                                                                            1. ¿Qué es OWASP? ¿Y OWASP Development?
                                                                            2. ¿Qué es ASVS?
                                                                            3. Uso del ASVS
                                                                            4. Requisitos de arquitectura, diseño y modelado de amenazas
                                                                            5. Requisitos de verificación de autenticación
                                                                            6. Requisitos de verificación de gestión de sesión
                                                                            7. Requisitos de verificación de control de acceso
                                                                            8. Requisitos de validación, desinfección y verificación de la codificación
                                                                            9. Requisitos de verificación de criptografía almacenados
                                                                            10. Requisitos de manejo de verificaciones y registro de errores
                                                                            11. Requisitos de verificación de protección de datos
                                                                            12. Requisitos de verificación de comunicaciones
                                                                            13. Requisitos de verificación de código malicioso
                                                                            14. Requisitos de verificación de lógica de negocios
                                                                            15. Requisitos de verificación de archivos y recursos
                                                                            16. Requisitos de verificación de API y servicio web
                                                                            17. Requisitos de verificación de configuración
                                                                            18. Requisitos de verificación de Internet de las Cosas
                                                                            19. Glosario de términos

                                                                            1. Aspectos introductorios
                                                                            2. La Guía de Pruebas de OWASP
                                                                            3. El framework de pruebas de OWASP
                                                                            4. Pruebas de seguridad de aplicaciones web
                                                                            5. Reportes de las pruebas

                                                                            1. Aspectos introductorios
                                                                            2. Revisión de código seguro
                                                                            3. Metodología

                                                                            1. Broken Access Control - Control de acceso roto (A01:2021)
                                                                            2. Cryptographic Failures - Fallos criptográficos (A02:2021)
                                                                            3. Injection - Inyección (A03:2021)
                                                                            4. Insecure Design - Diseño Inseguro (A04:2021)
                                                                            5. Security Misconfiguration - Configuración incorrecta de seguridad (A05:2021)
                                                                            6. Vulnerable and Outdated Components - Componentes vulnerables y obsoletos (A06:2021)
                                                                            7. Identification and Authentication Failures - Fallos de Identificación y Autenticación (A07:2021)
                                                                            8. Software and Data Integrity Failures - Fallos de integridad de software y datos (A08:2021)
                                                                            9. Security Logging and Monitoring Failures - Registro de seguridad y fallos de monitoreo (A09:2021)
                                                                            10. Server-Side Request Forgery (SSRF) - Falsificación de solicitud del lado del servidor (A10:2021)