2.17. Desarrollo de Plataformas Especializadas (SPD)
El área de conocimiento de Desarrollo de Plataformas Especializadas (SPD) se refiere a los atributos que
involucran la creación de software dirigido a plataformas de hardware no tradicionales. El desarrollo para
cada plataforma especializada, por ejemplo, robots, sistemas móviles, sistemas basados en web y sistemas
embebidos, típicamente involucra consideraciones únicas.
Las necesidades sociales e industriales han creado una alta demanda de desarrolladores en plataformas especializadas, como aplicaciones móviles, plataformas web, plataformas robóticas y sistemas embebidos. Algunas habilidades profesionales únicas relevantes para esta área de conocimiento incluyen las siguientes:
- Crear aplicaciones que proporcionen una experiencia de usuario consistente en varios dispositivos, tamaños de pantalla y sistemas operativos.
- Desarrollar interfaces de programación de aplicaciones (APIs) para soportar la funcionalidad de cada plataforma especializada.
- Gestionar desafíos relacionados con limitaciones de recursos como cómputo, memoria, almacenamiento, y redes y comunicaciones.
- Aplicar preocupaciones transversales como optimización, seguridad, mejores prácticas de desarrollo, etc.
| área de Conocimiento (Knowledge Area-KA) (KA) | Core Tier1 | Core Tier2 | Electivo |
| 2.17.1 Aspectos Comunes I: Plataformas, APIs y Restricciones |
|
| No |
| 2.17.2 Aspectos Comunes II: Lenguajes de Plataforma y Patrones Web |
|
| No |
| 2.17.3 Frontend, Frameworks y Estándares Web |
|
| No |
| 2.17.4 Arquitectura Cloud y Gestión de Datos |
|
| No |
| 2.17.5 Plataformas Móviles I: Fundamentos del Desarrollo |
|
| No |
| 2.17.6 Plataformas Móviles: Arquitectura y Restricciones |
|
| No |
| 2.17.7 Plataformas Móviles: Capacidades y Computación Asíncrona |
|
| No |
| 2.17.8 Plataformas Robóticas |
|
| No |
| 2.17.9 Características y Arquitecturas Embebidas |
|
| No |
| 2.17.10 Sistemas, Programación y Sensores |
|
| No |
| 2.17.11 Tiempo Real, Memoria y Verificación |
|
| No |
| 2.17.12 Historia, Tipos y Características de Plataformas |
|
| No |
| 2.17.13 Sensores, Controladores y Ecosistemas eSports |
|
| No |
| 2.17.14 Arquitecturas y Renderizado |
|
| No |
| 2.17.15 Algoritmos, Medios y Mundos Virtuales |
|
| No |
| 2.17.16 Lenguajes, APIs y Herramientas de Desarrollo |
|
| No |
| 2.17.17 Motores de Juego |
|
| No |
| 2.17.18 Fundamentos del Diseño de Juegos |
|
| No |
| 2.17.19 Géneros, Audiencias y Alcance Social |
|
| No |
| 2.17.20 Plataformas Interactivas de Datos y Análisis |
|
| No |
| 2.17.21 Programación con IA y Plataformas Cuánticas |
|
| No |
| 2.17.22 SPD-SEP/Móvil |
|
| No |
| 2.17.23 SPD-SEP Web |
|
| No |
| 2.17.24 Propiedad Intelectual en los Juegos |
|
| No |
| 2.17.25 Accesibilidad e Interfaz del Juego |
|
| No |
| 2.17.26 Salud, Seguridad y Sostenibilidad |
|
| No |
| 2.17.27 Representación, Inclusión e Igualdad |
|
| No |
| 2.17.28 SPD-SEP/Robótica |
|
| No |
| 2.17.29 SPD-SEP/Interactiva |
|
| No |
2.17.1. SPD/Aspectos Comunes I: Plataformas, APIs y Restricciones
Temas:
Core
-
Visión general de las plataformas de desarrollo (es decir, web, móvil, juegos, robótica, embebida e interactiva).
- 1.
- Entrada/sensores/dispositivos de control/dispositivos hápticos
- 2.
- Limitaciones de recursos
- a)
- Computacional
- b)
- Almacenamiento de datos
- c)
- Memoria
- d)
- Comunicación
- 3.
- Requisitos - seguridad, disponibilidad de tiempo de actividad, tolerancia a fallos Ingeniería de Software (SE) -Reliability,SEC-Engineering
- 4.
- Salida/actuadores/dispositivos hápticos
- Programación mediante Interfaces de Programación de Aplicaciones (API) específicas de la plataforma vs construcción de aplicaciones tradicional
- Programación bajo restricciones y requisitos de la plataforma (por ejemplo, herramientas de desarrollo disponibles, desarrollo, consideraciones de seguridad) Seguridad (SEC) -Foundations
Aprendizaje esperado (Learning Outcomes):
Core:
2.17.2. SPD/Aspectos Comunes II: Lenguajes de Plataforma y Patrones Web
Temas:
Core
- Visión general de los Lenguajes de plataforma (por ejemplo, Python, Swift, Lua, Kotlin)
- Técnicas para aprender y dominar un lenguaje de programación específico de la plataforma
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Enumerar las características de los lenguajes de scripting [Listar/Enumerar]
- 2.
- Describir el modelo de tres capas (three-tier) de la programación web [Describir]
- 3.
- Describir cómo se mantiene el estado en la programación web [Describir]
2.17.3. SPD/Frontend, Frameworks y Estándares Web
Cubre los lenguajes de programación web, los frameworks, el modelo SaaS, los estándares web (DOM,
accesibilidad) y las consideraciones de seguridad y privacidad.
Temas:
Core
- Lenguajes de programación web (por ejemplo, HTML5, JavaScript, Typescript, CSS)
-
Plataformas, frameworks o meta-frameworks web
- 1.
- Servicios en la nube
- 2.
- API, Componentes Web (Web Components)
- Software como Servicio (SaaS)
- Estándares web como el modelo de objetos del documento (DOM), accesibilidad Interacción Humano-Computadora (HCI) -AccessibilityInclusiveDesign
- Consideraciones de Seguridad y Privacidad Sociedad, ética y la Profesión (SEP) -Security
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Comparar y contrastar la programación web con la programación de propósito general [Comparar]
- 2.
- Describir las diferencias entre Software-como-Servicio (SaaS) y productos de software tradicionales [Describir]
- 3.
- Discutir cómo los estándares web impactan el desarrollo de software [Debatir]
- 4.
- Evaluar una aplicación web existente contra los estándares web actuales [Evaluar]
2.17.4. SPD/Arquitectura Cloud y Gestión de Datos
Cubre el análisis de requisitos para aplicaciones web, los servicios de computación en la nube, la gestión de
datos, las arquitecturas (microservicios, serverless, event-driven) y las soluciones de almacenamiento.
Temas:
Non Core
- Análisis de requisitos para aplicaciones web
-
Servicios de computación Gestión de Datos (DM) -NoSQLSystems
- 1.
- Alojamiento en la Nube (Cloud Hosting)
- 2.
- Escalabilidad (por ejemplo, Autoescalado (Autoscaling), Clústeres)
- 3.
- Estimación de costos para servicios
-
Gestión de datos Gestión de Datos (DM) -CoreDatabaseSystemConcepts
- 1.
- Residencia de datos (data residency): dónde se ubican los datos y qué rutas se pueden tomar para acceder a ellos
- 2.
- Integridad de datos (data integrity): garantizar que los datos sean accesibles y que se eliminen cuando sea requerido
-
Arquitectura
- 1.
- Monolitos vs Microservicios
- 2.
- Micro-frontends
- 3.
- Arquitecturas Dirigidas por Eventos (Event-Driven) vs RESTful: ventajas y desventajas
- 4.
- Sin servidor (Serverless), computación en la nube bajo demanda
-
Soluciones de almacenamiento Gestión de Datos (DM) -RelationalDatabases,DM-NoSQLSystems
- 1.
- Bases de datos relacionales
- 2.
- Bases de datos NoSQL
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Diseñar e implementar una aplicación basada en web utilizando un diseño de arquitectura de microservicios [Diseñar]
- 2.
- Describir las restricciones, como alojamiento, servicios y escalabilidad, relacionadas con las plataformas web [Describir]
2.17.5. SPD/Plataformas Móviles I: Fundamentos del Desarrollo
Temas:
Core
-
Desarrollo con
- 1.
- Lenguajes de programación móvil
- 2.
- Entornos de programación móvil
-
Restricciones de la plataforma móvil
- 1.
- Diseño de interfaz de usuario Interacción Humano-Computadora (HCI) -UnderstandingUser
- 2.
- Seguridad
-
Acceso
- 1.
- Acceso a datos a través de APIs Gestión de Datos (DM) -QueryConstruction
- 2.
- Diseño de puntos finales de API (endpoints) para aplicaciones móviles: trampas y consideraciones de diseño
- 3.
- Interfaces de red y web Redes y Comunicaciones (NC) -Fundamentals,DM-DataModeling
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Comparar la programación móvil con la programación de propósito general [Comparar]
- 2.
- Evaluar los pros y los contras del desarrollo de aplicaciones móviles nativas y multiplataforma [Evaluar]
2.17.6. SPD/Plataformas Móviles: Arquitectura y Restricciones
Temas:
Non Core
-
Desarrollo
- 1.
- Desarrollo nativo (native) versus multiplataforma (cross-platform)
- 2.
- Patrones de diseño/arquitectura de software para aplicaciones móviles Ingeniería de Software (SE) -Design
-
Restricciones de la plataforma móvil
- 1.
- Diseño de interfaz de usuario responsivo (responsive) Interacción Humano-Computadora (HCI) -AccessibilityInclusiveDesign
- 2.
- Heterogeneidad y movilidad de los dispositivos
- 3.
- Diferencias en las experiencias de usuario (por ejemplo, entre aplicaciones móviles y basadas en web)
- 4.
- Compensación (tradeoff) entre energía y rendimiento
- Especificación y pruebas Fundamentos de Desarrollo de Software (SDF) -Practices,SE-Validation
Aprendizaje esperado (Learning Outcomes):
NonCore:
-
1.
- Diseñar la arquitectura de una aplicación móvil aplicando patrones de diseño de software apropiados, justificando la elección entre desarrollo nativo y multiplataforma [Diseñar]
- 2.
- Evaluar las restricciones de una plataforma móvil dada (interfaz responsiva, heterogeneidad de dispositivos, compensación energía-rendimiento) al especificar y probar una aplicación [Evaluar]
2.17.7. SPD/Plataformas Móviles: Capacidades y Computación Asíncrona
Temas:
Non Core
-
Capacidades (affordances) de la computación móvil
- 1.
- Aplicaciones conscientes de la ubicación (location-aware)
- 2.
- Computación impulsada por sensores (por ejemplo, giroscopio, acelerómetro, datos de salud de un reloj)
- 3.
- Telefonía y mensajería instantánea
- 4.
- Realidad aumentada Gráficos y Técnicas Interactivas (GIT) -Immersion
-
Computación asíncrona Computación Paralela y Distribuida (PDC) -Algorithms
- 1.
- Diferencia con la programación síncrona tradicional
- 2.
- Manejo del éxito mediante devoluciones de llamada (callbacks)
- 3.
- Manejo de errores de forma asíncrona
- 4.
- Pruebas de código asíncrono y problemas típicos en las pruebas
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Desarrollar una aplicación móvil consciente de la ubicación con integración de API de datos [Crear]
- 2.
- Construir una aplicación móvil impulsada por sensores capaz de registrar datos en un servidor remoto [Crear]
- 3.
- Crear una aplicación de comunicación que incorpore telefonía y mensajería instantánea [Crear]
2.17.8. SPD/Plataformas Robóticas
Temas:
Core
- Tipos de plataformas y dispositivos robóticos Inteligencia Artificial (AI) -Robotics
- Sensores, cómputo embebido y efectores (actuadores) Gráficos y Técnicas Interactivas (GIT) -TangiblePhysicalComputing
- Lenguajes y bibliotecas específicos de robótica Inteligencia Artificial (AI) -Robotics
- Arquitectura de software robótico (por ejemplo, usando el Sistema Operativo de Robot (ROS - Robot Operating System))
- Restricciones y consideraciones de diseño de la plataforma robótica Inteligencia Artificial (AI) -Robotics
- Interconexiones con sistemas físicos o simulados Gráficos y Técnicas Interactivas (GIT) -TangiblePhysicalComputing,GIT-Simulation
-
Algoritmos Robóticos Inteligencia Artificial (AI) -Robotics,GIT-ComputerAnimation
- 1.
- Cinemática directa (forward kinematics)
- 2.
- Cinemática inversa (inverse kinematics)
- 3.
- Dinámica
- 4.
- Navegación y planificación de rutas (path planning)
- 5.
- Agarre (grasping) y manipulación
- Consideraciones de seguridad e interacción Sociedad, ética y la Profesión (SEP) -ProfessionalEthics,SEP-Context
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Diseñar e implementar una aplicación en una plataforma robótica dada [Diseñar]
- 2.
- Integrar un kit de robot basado en Arduino y programarlo para navegar por un laberinto [Integrar]
- 3.
- Comparar lenguajes y técnicas específicos de robótica con aquellos utilizados para el desarrollo de software de propósito general [Comparar]
- 4.
- Explicar la lógica detrás del diseño de la plataforma robótica y sus interconexiones con sistemas físicos o simulados [Explicar]
- 5.
- Dada una aplicación de alto nivel, diseñar una arquitectura de software de robot usando ROS especificando todos los componentes e interconexiones (temas ROS - ROS topics) para lograr esa aplicación [Diseñar]
- 6.
- Discutir las restricciones que una plataforma robótica dada impone a los desarrolladores [Debatir]
2.17.9. SPD/Características y Arquitecturas Embebidas
Cubre las características únicas de los sistemas embebidos frente a otros sistemas, las APIs para
arquitecturas personalizadas (GPU, FPGA) y la evaluación de arquitecturas según requisitos.
Temas:
Core
-
Introducción a las características únicas de los sistemas embebidos
- 1.
- Sistemas de tiempo real (real-time) vs tiempo real suave (soft real-time) y no tiempo real
- 2.
- Restricciones de recursos, como perfiles de memoria y plazos (deadlines) Arquitectura y Organización (AR) -MemoryHierarchy
-
API para arquitecturas personalizadas
- 1.
- Tecnología GPU Arquitectura y Organización (AR) -HeterogeneousArchitectures,GIT-ShadingAdvancedRendering
- 2.
- Arreglos de Compuertas Programables en Campo (FPGA - Field Programmable Gate Arrays) Arquitectura y Organización (AR) -DigitalLogicDigitalSystems
- 3.
- Sistemas multiplataforma (cross-platform)
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Describir las características únicas de los sistemas embebidos versus otros sistemas [Describir]
- 2.
- Identificar diferentes tipos de arquitecturas embebidas [Analizar]
- 3.
- Evaluar qué arquitectura es mejor para un conjunto dado de requisitos [Evaluar]
2.17.10. SPD/Sistemas, Programación y Sensores
Cubre los sistemas embebidos con microcontroladores, interrupciones y eficiencia energética, la programación
embebida, y la interfaz con sensores y actuadores.
Temas:
Core
-
Sistemas Embebidos
- 1.
- Microcontroladores
- 2.
- Interrupciones y retroalimentación (feedback)
- 3.
- Manejadores de interrupciones en lenguajes de alto nivel Fundamentos de Sistemas (SF) -Overview
- 4.
- Interrupciones duras (hard) y suaves (soft) y salidas de trampa (trap-exits) Sistemas
Operativos (OS) -Principles
- 5.
- Interacción con hardware, actuadores y sensores
- 6.
- Eficiencia energética
- 7.
- Codificación débilmente temporizada (loosely timed coding) y sincronización
- 8.
- Adaptadores de software (software adapters)
- Programación embebida
- Sensores y actuadores
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Interfaz con sensores/actuadores [Programar]
- 2.
- Depurar un problema con una plataforma embebida existente [Analizar]
- 3.
- Diseñar y desarrollar software para interactuar y controlar hardware [Diseñar]
2.17.11. SPD/Tiempo Real, Memoria y Verificación
Cubre los sistemas de tiempo real duro y suave, la gestión de recursos y memoria en tiempo real, las
consideraciones de seguridad (safety), el análisis y verificación, y el diseño de aplicaciones embebidas.
Temas:
Core
-
Sistemas de tiempo real duro (hard) vs sistemas de tiempo real suave (soft) Sistemas Operativos (OS) -Realtime
- 1.
- Oportunidad (timeliness)
- 2.
- Sincronización/planificación del tiempo
- 3.
- Priorización
- 4.
- Latencia
- 5.
- Jitter de cómputo (compute jitter)
- Gestión de recursos en tiempo real
-
Gestión de memoria
- 1.
- Mapeo de construcciones de programación (variable) a una ubicación de memoria Arquitectura y Organización (AR) -MemoryHierarchy
- 2.
- Memoria compartida Sistemas Operativos (OS) -Memory
- 3.
- Gestión manual de memoria.
- 4.
- Recolección de basura (garbage collection) Fundamentos de los Lenguajes de Programación (FPL) -LanguageTranslationExecution
- Consideraciones de seguridad (safety) y análisis de seguridad Sociedad, ética y la Profesión (SEP) -Context,SEP-ProfessionalEthics
- Análisis y verificación
- Diseño de aplicación
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Diseñar e implementar un pequeño sistema embebido para una plataforma dada (por ejemplo, un despertador inteligente o un dron) [Diseñar]
- 2.
- Diseñar métodos para sistemas de tiempo real [Diseñar]
- 3.
- Evaluar la planificación en tiempo real y el análisis de planificabilidad (schedulability) [Evaluar]
- 4.
- Evaluar la especificación y verificación formal de restricciones y propiedades de tiempo [Evaluar]
2.17.12. SPD/Historia, Tipos y Características de Plataformas
Cubre la evolución histórica de las plataformas de juegos, los tipos de plataformas típicas y sus
características y restricciones técnicas.
Temas:
Core
- Evolución de las Plataformas de Juegos (por ejemplo, de Brown Box a Metaverso y más allá; mejora en las arquitecturas de computación (CPU y GPU); convergencia de plataformas y movilidad) Arquitectura y Organización (AR) -DigitalLogicDigitalSystems
- Plataformas de Juego Típicas (por ejemplo, Computadora Personal; Consola Doméstica; Consola Portátil; Máquina de Arcade; Televisión Interactiva; Teléfono Móvil; Tableta; Pantalla Montada en la Cabeza Integrada; Instalaciones Inmersivas y Simuladores; Dispositivos Habilitados para Internet de las Cosas; Sistemas CAVE; Navegadores Web; Sistemas de Transmisión Basados en la Nube)
- Características y Restricciones de Diferentes Plataformas de Juegos (por ejemplo, características: almacenamiento local, interconexión de redes, periféricos; rendimiento en tiempo de ejecución: frecuencia GPU/CPU, número de núcleos; conjuntos de chips: unidades de procesamiento de física, co-procesadores vectoriales; ancho de banda de expansión (PCIe); rendimiento de red (Ethernet); tipos y capacidades de memoria (DDR/GDDR); profundidad máxima de pila; consumo de energía; diseño térmico; Endian)
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Describir las restricciones clave que una plataforma de juego específica probablemente impondrá a los desarrolladores [Describir]
- 2.
- Comparar las interfaces de diferentes plataformas de juegos, resaltando sus respectivas implicaciones para la interacción humano-computadora [Comparar]
2.17.13. SPD/Sensores, Controladores y Ecosistemas eSports
Cubre los sensores, controladores y actuadores típicos en plataformas de juego, y los ecosistemas de eSports
incluyendo eventos, medios transmitidos y juego profesional.
Temas:
Core
- Sensores, Controladores y Actuadores Típicos (por ejemplo, diseños distintivos de sistemas de control - periféricos (ratón, teclado, joystick), controladores de juego, wearables, superficies interactivas; electrónica y hardware a medida; visión por computadora, seguimiento interno (inside-out tracking) y externo (outside-in tracking); electrónica y E/S habilitadas para IoT) Gráficos y Técnicas Interactivas (GIT) -Interaction
- Ecosistemas de eSports (por ejemplo, evolución del gameplay a través de plataformas; juegos y eSports; eventos de juegos como torneos LAN/arcade y eventos internacionales como la Serie Olímpica de eSports; medios transmitidos (streamed) y espectadores; tecnologías multimedia y gestión de transmisión; juego profesional; datos y aprendizaje automático para entrenamiento y coaching)
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Explicar cómo los eSports se transmiten (streamed) a grandes audiencias a través de internet [Explicar]
2.17.14. SPD/Arquitecturas y Renderizado
Cubre las arquitecturas de CPU y GPU para juegos y las tuberías (pipelines) para renderizado gráfico y
simulación física.
Temas:
Core
- Arquitecturas de CPU y GPU (por ejemplo, taxonomía de Flynn; paralelización; conjuntos de instrucciones; componentes estándar - arreglo de cómputo gráfico (graphics compute array), controlador de memoria gráfica (graphics memory controller), sistema básico de E/S de matriz de gráficos de video (video graphics array basic input/output system); interfaz de bus; unidad de gestión de energía (power management unit); unidad de procesamiento de video (video processing unit); interfaz de pantalla (display interface)) Arquitectura y Organización (AR) -HeterogeneousArchitectures
- Tuberías (pipelines) para Renderizado Gráfico y Simulación Física (por ejemplo, basado en mosaicos (tile-based), modo inmediato (immediate-mode)) Gráficos y Técnicas Interactivas (GIT) -AppliedRenderingTechniques
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Recordar las características de las arquitecturas comunes de procesamiento gráfico de propósito general [Recordar/Evocar]
- 2.
- Identificar las etapas clave de la tubería de renderizado de modo inmediato (immediate-mode rendering pipeline) [Analizar]
2.17.15. SPD/Algoritmos, Medios y Mundos Virtuales
Cubre los algoritmos, estructuras de datos y funciones matemáticas comunes en juegos, y las representaciones
de medios en mundos virtuales.
Temas:
Core
- Contextos Comunes para Algoritmos, Estructuras de Datos y Funciones Matemáticas (por ejemplo, bucles de juego (game loops); partición espacial, eliminación de viewport (culling) y nivel de detalle (level of detail); detección y resolución de colisiones (collision detection and resolution); simulación física; comportamiento para agentes inteligentes; generación procedural de contenido (procedural content generation)) Fundamentos Matemáticos y Estadísticos (MSF) -Discrete,AL-FoundationalDataStructuresAlgorithms
- Representaciones de Medios en Mundos Virtuales (por ejemplo, E/S y técnicas de cómputo para mundos virtuales: audio; música; sprites; modelos y texturas; texto; diálogo; multimedia (por ejemplo, olfato, táctil)) Gráficos y Técnicas Interactivas (GIT) -FundamentalConcepts
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Traducir funciones matemáticas complejas a código fuente de buen rendimiento [Traducir]
- 2.
- Optimizar una función para la detección de colisiones en un entorno simulado [Crear]
2.17.16. SPD/Lenguajes, APIs y Herramientas de Desarrollo
Cubre los lenguajes de programación y sombreado, las APIs y bibliotecas gráficas, y las herramientas y
entornos de desarrollo para juegos.
Temas:
Core
-
Herramientas y Técnicas de Desarrollo de Juegos
- 1.
- Lenguajes de Programación (por ejemplo, C++; C#; Lua; Python; JavaScript)
- 2.
- Lenguajes de Sombreado (Shader Languages) (por ejemplo, HLSL, GLSL; Shader Graph)
- 3.
- Bibliotecas y APIs Gráficas (por ejemplo, DirectX; SDL; OpenGL; Metal; Vulkan; WebGL). Gráficos y Técnicas Interactivas (GIT) -AppliedRenderingTechniques,HCI-SystemDesign
- 4.
- Herramientas y Entornos de Desarrollo Comunes (por ejemplo, IDEs; Depuradores
(Debuggers); Perfiladores (Profilers); Sistemas de Control de Versiones incluyendo aquellos que manejan activos binarios; Kits de Desarrollo y Kits de Producción/Consumidor; Emuladores) Fundamentos de Desarrollo de Software (SDF) -Practices,SE-Tools
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Usar una API gráfica estándar de la industria para renderizar un modelo 3D en una escena virtual [Usar]
- 2.
- Modificar un sombreador (shader) para cambiar un efecto visual de acuerdo con los requisitos establecidos [Crear]
- 3.
- Recomendar un conjunto apropiado de herramientas y técnicas de desarrollo para implementar un juego de un género particular para una plataforma dada [Recomendar]
2.17.17. SPD/Motores de Juego
Cubre los motores de juego de código abierto y las técnicas de producción, garantía de calidad, optimización,
portado e internacionalización.
Temas:
Core
-
Motores de Juego (Game Engines)
- 1.
- Motores de Juego Abiertos (por ejemplo, Unreal; Unity; Godot; CryEngine; Phyre; Source 2; Pygame y Ren’Py; Phaser; Twine; Spring RTS)
- 2.
- Técnicas (por ejemplo, Ideación, Prototipado, Diseño e Implementación Iterativos, Compilación de Ejecutables (Compiling Executable Builds), Operaciones de Desarrollo y Garantía de Calidad - Pruebas de Juego (Play Testing) y Pruebas Técnicas (Technical Testing), Perfilado (Profiling); Optimización, Portado (Porting); Internacionalización y Localización, Redes) Arquitectura y Organización (AR) -PerformanceEnergyEfficiency, Ingeniería de Software (SE) -Requirements
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Implementar un juego para una plataforma particular según la especificación [Implementar]
- 2.
- Evaluar el rendimiento en tiempo de ejecución y de memoria de un juego usando una herramienta y entorno de desarrollo estándar de la industria [Evaluar (valorar)]
- 3.
- Discutir los desafíos clave en hacer un juego digital que sea compatible multiplataforma (cross-platform) [Debatir]
2.17.18. SPD/Fundamentos del Diseño de Juegos
Cubre el vocabulario y modelos del diseño de juegos, el pensamiento de diseño y el diseño de experiencia
centrado en el usuario.
Temas:
Core
- Vocabulario del Diseño de Juegos (por ejemplo, definiciones de juego; modelo mecánica-dinámica-estética (mechanics-dynamics-aesthetics model); terminología de la industria; diseño de experiencia (experience design); modelos de experiencia y emoción)
- Pensamiento de Diseño (Design Thinking) y Diseño de Experiencia Centrado en el Usuario (por ejemplo, métodos de diseño de juegos; iteración, incremento y el doble diamante (double-diamond); fases de pre- y post-producción; garantía de calidad, incluyendo pruebas alfa y beta; participación de partes interesadas y clientes; gestión de la comunidad) Ingeniería de Software (SE) -Design
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Expresar cómo los desarrolladores de juegos pueden mejorar la accesibilidad de una interfaz de juego [Demostrar]
2.17.19. SPD/Géneros, Audiencias y Alcance Social
Cubre los géneros de juegos, las audiencias y taxonomías de jugadores, y la proliferación de tecnologías de
juegos a dominios más allá del entretenimiento.
Temas:
Core
- Géneros de Juegos (por ejemplo, aventura; simulador de caminata (walking simulator); disparos en primera persona (first-person shooter); estrategia en tiempo real (real-time strategy); arena de batalla multijugador en línea (MOBA); juego de rol (rpg))
- Audiencias y Taxonomías de Jugadores (por ejemplo, personas que juegan videojuegos; diversidad y ampliación de la participación; placeres, tipos de jugadores y preferencias; Bartle, Yee) Interacción Humano-Computadora (HCI) -UnderstandingUser
- Proliferación de Tecnologías de Juegos a Dominios Más Allá del Entretenimiento (por ejemplo, Educación y Entrenamiento; Juegos Serios (Serious Games); Producción Virtual; eSports; Gamificación; Diseño de Experiencias Inmersivas; Práctica de la Industria Creativa; Práctica Artística; Retórica Procedural (Procedural Rhetoric)) Inteligencia Artificial (AI) -ApplicationsSocietalImpact
Aprendizaje esperado (Learning Outcomes):
Core:
2.17.20. SPD/Plataformas Interactivas de Datos y Análisis
Cubre las plataformas de análisis de datos interactivo como cuadernos Jupyter, Google Colab, R,
plataformas SQL en la nube y herramientas de diseño con bucles de retroalimentación de baja latencia.
Temas:
Non Core
- Plataformas de Cuadernos Computacionales (por ejemplo, Cuadernos Jupyter; Google Colab; R; SPSS; Observable)
-
Plataformas de Análisis de Datos y SQL en la Nube (por ejemplo, BigQuery) Gestión de Datos (DM) -QueryConstruction
- 1.
- Apache Spark
- 2.
- Visualizaciones de Datos Gráficos y Técnicas Interactivas (GIT) -Visualization
- Presentaciones Interactivas Respaldadas por Datos
-
Herramientas de Diseño con Bucles de Retroalimentación de Baja Latencia (Low-Latency Feedback Loops)
- 1.
- Herramientas de renderizado
- 2.
- Herramientas de diseño gráfico
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Analizar grandes conjuntos de datos de forma interactiva [Analizar]
- 2.
- Crear una pista de acompañamiento para una interpretación musical, como la codificación en vivo (live coding) [Crear]
- 3.
- Crear cuadernos computacionales convincentes que construyan una narrativa para un objetivo/historia periodística dada [Crear]
- 4.
- Implementar código interactivo que use un conjunto de datos y genere gráficos exploratorios [Implementar]
- 5.
- Contextualizar los atributos de diferentes estilos de análisis de datos, como interactivo versus tubería (pipeline) de ingeniería [Contextualizar]
- 6.
- Escribir un programa usando una plataforma de computación de cuadernos (por ejemplo, búsqueda, ordenación o manipulación de grafos) [Escribir]
2.17.21. SPD/Programación con IA y Plataformas Cuánticas
Cubre la programación mediante prompts con modelos de lenguaje grande (LLMs) e IA generativa, y las
plataformas cuánticas para programar operadores de lógica cuántica y servicios cuánticos disponibles.
Temas:
Non Core
-
Programación mediante prompts (Prompt programming)
-
1.
- IA generativa (por ejemplo, ChatGPT de OpenAI, Codex de OpenAI, Copilot de GitHub) y los Modelos de Lenguaje Grande (LLMs) son accedidos/interactuados
-
-
Plataformas Cuánticas Arquitectura y Organización (AR) -QuantumArchitectures
- 1.
- Programar operadores de lógica cuántica en máquinas cuánticas.
- 2.
- Usar API para servicios cuánticos disponibles
- 3.
- Análisis de señales/Análisis de Fourier/Procesamiento de señales (para composición musical, análisis de audio/RF) Gráficos y Técnicas Interactivas (GIT) -ImageProcessing
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Crear un programa que realice una tarea usando sistemas de Modelos de Lenguaje Grande (LLM) [Crear]
- 2.
- Contrastar un programa desarrollado por una plataforma de IA y por un humano [Contrastar]
- 3.
- Implementar un sistema que interactúe con un humano sin usar una pantalla [Implementar]
- 4.
- Demostrar un resultado de puerta cuántica (quantum gate) usando una plataforma cuántica [Demostrar]
2.17.22. SPD/SPD-SEP/Móvil
Temas:
Non Core
- Privacidad y protección de datos
- Accesibilidad en el diseño móvil
- Seguridad y ciberseguridad
- Impactos sociales de la tecnología móvil
- Uso ético de la IA y los algoritmos
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Comprender y defender las responsabilidades éticas para salvaguardar la privacidad del usuario y la protección de datos en aplicaciones móviles [Evaluar (valorar)]
- 2.
- Diseñar aplicaciones móviles con la accesibilidad en mente, asegurando un uso efectivo por personas con discapacidades [Diseñar]
- 3.
- Demostrar competencia en prácticas de codificación segura para mitigar riesgos asociados con
diversas amenazas de seguridad en el desarrollo móvil [Demostrar]
- 4.
- Analizar los impactos sociales más amplios de la tecnología móvil, incluyendo su influencia en los patrones de comunicación, relaciones y salud mental [Analizar]
- 5.
- Comprender las consideraciones éticas del uso de IA en aplicaciones móviles, asegurando algoritmos imparciales y justos [Explicar]
2.17.23. SPD/SPD-SEP Web
Temas:
Non Core
- Preocupaciones de privacidad con las aplicaciones móviles
- Diseñar para la inclusividad y la accesibilidad
- Uso ético de la IA en aplicaciones móviles
- Desarrollo sostenible de aplicaciones y alojamiento de servidores
- Evitar spam o notificaciones intrusivas
- Abordar el ciberacoso y el acoso (cyberbullying and harassment)
- Promover comunidades en línea positivas
- Monetización y publicidad
- Uso ético de la gamificación
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Comprender cómo la computación móvil impacta las comunicaciones y el flujo de información dentro de la sociedad [Analizar]
- 2.
- Diseñar aplicaciones móviles que hayan hecho las tareas diarias más fáciles/rápidas [Diseñar]
- 3.
- Reconocer cómo la ubicuidad de la computación móvil ha afectado el equilibrio entre el trabajo y la vida personal [Reconocer]
- 4.
- Comprender cómo la computación móvil impacta el monitoreo de la salud y los servicios de atención médica [Analizar]
- 5.
- Definir cómo las aplicaciones móviles se usan para educar sobre y ayudar a lograr los objetivos de sostenibilidad de la ONU [Definir]
2.17.24. SPD/Propiedad Intelectual en los Juegos
Cubre los derechos de propiedad intelectual en las industrias creativas, incluyendo copyright, marcas,
licenciamiento y cumplimiento.
Temas:
Non Core
-
Derechos de Propiedad Intelectual en las Industrias Creativas
- 1.
- Propiedad de la Propiedad Intelectual: derechos de autor (copyright), marca registrada (trademark); derecho de diseño (design right), patente (patent), secreto comercial (trade secret), ley civil versus penal; acuerdos internacionales; generación procedural de contenido y las implicaciones de la inteligencia artificial generativa
- 2.
- Licenciamiento (Licensing): Excepciones de uso y uso justo (fair usage); acuerdos de licencia de código abierto (open-source); licenciamiento propietario y a medida (bespoke); cumplimiento (enforcement)
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Discutir cómo los creadores pueden proteger su propiedad intelectual [Debatir]
- 2.
- Comparar opciones para el licenciamiento de código abierto de una herramienta de desarrollo de juegos [Comparar]
2.17.25. SPD/Accesibilidad e Interfaz del Juego
Cubre la usabilidad y accesibilidad de las interfaces de juego, incluyendo métodos de evaluación heurística y
diseño para jugadores con discapacidades.
Temas:
Non Core
-
Acceso Justo al Juego (Fair Access to Play)
- 1.
- Usabilidad de la Interfaz de Juego: requisitos del usuario, capacidades (affordances), diseño ergonómico, investigación de usuarios, medición de experiencia y métodos de evaluación heurística para juegos
- 2.
- Accesibilidad de la Interfaz de Juego: formas de discapacidad y deficiencia (impairment and disability); medios para facilitar el acceso al juego; diseño universal; requisitos legislados para plataformas de juegos; evaluación de cumplimiento; desafíos en mecánicas de juego y acceso
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Identificar trampas comunes en las interfaces de juego que excluyen a jugadores con visión
deficiente o no funcional [Analizar]
- 2.
- Describir cómo la evaluación heurística puede usarse para identificar problemas de usabilidad en interfaces de juego [Describir]
- 3.
- Recomendar cambios a una interfaz de juego específica para mejorar el acceso a jugadores que son sordos o cuya audición está de otra manera deficiente [Recomendar]
2.17.26. SPD/Salud, Seguridad y Sostenibilidad
Cubre las lesiones relacionadas con el juego y su mitigación, la evaluación de riesgos para eventos y
fabricación, la salud mental de los jugadores, y la cadena de suministro y sostenibilidad del hardware de
plataforma.
Temas:
Non Core
-
Salud y Seguridad Relacionadas con los Juegos
- 1.
- Lesiones en el Juego: formas de mitigar lesiones comunes en la parte superior del cuerpo, como lesiones por esfuerzo repetitivo (repetitive strain injury); psicología del ejercicio y fisioterapia en eSports
- 2.
- Evaluación de Riesgos para Eventos y Fabricación: control de sustancias peligrosas para la salud (COSHH); seguridad contra incendios; seguridad eléctrica y electrónica; evaluación de riesgos para juegos y eventos de juegos; evaluación de riesgos para la fabricación
- 3.
- Salud Mental: motivación para jugar; gamificación y diseño lúdico (gameful design); psicología del juego - trastorno por juego en internet (internet gaming disorder)
-
Cadena de Suministro y Sostenibilidad del Hardware de Plataforma
- 1.
- Ciclo de Vida de la Plataforma: composición de la plataforma - materiales, ensamblaje; excavación y procesamiento de minerales; uso de energía; reciclaje; obsolescencia programada (planned obsolescence).
- 2.
- Esclavitud Moderna (Modern Slavery): cadenas de suministro; trabajo forzado y derechos civiles; condiciones laborales; detección y remisión (remission); organismos de certificación y esfuerzos benéficos.
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Explicar por qué las lesiones en la parte superior del cuerpo son comunes en los eSports [Explicar]
- 2.
- Modificar una política para un evento de LAN party para incluir mitigaciones que reduzcan el riesgo de incendio [Diseñar]
- 3.
- Diseñar una estrategia de gamificación para motivar el juego serio (serious play) para un juego de concientización [Diseñar]
- 4.
- Evaluar la idoneidad de dos fabricantes para producir una nueva consola de juegos [Evaluar (valorar)]
- 5.
- Discutir si los juegos son adictivos [Debatir]
2.17.27. SPD/Representación, Inclusión e Igualdad
Cubre la representación en los medios y la industria de los juegos, la inclusión de audiencias diversas, la
igualdad y la movilidad social en la industria, y el uso de juegos para la defensa de causas sociales.
Temas:
Non Core
-
Representación en los Medios y la Industria
- 1.
- Inclusión: identidad e identificación; inclusión de una amplia gama de personajes para audiencias diversas; representación en los medios y sus efectos; alfabetización mediática (media literacy); análisis de contenido; estereotipos; sexualización
- 2.
- Igualdad (Equality): historias y controversias, como gamergate, calidad de vida en la industria, discurso y conducta profesional en contextos empresariales, trayectorias hacia carreras en desarrollo de juegos, movilidad social, la experiencia de desarrolladores de diferentes orígenes e identidades, género y tecnología
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Discutir cómo reformar personajes y diálogos en una escena para reducir la amenaza del estereotipo (stereotype threat) [Debatir]
- 2.
- Ilustrar cómo la representación de la raza en un juego puede influir en el riesgo de exclusión social en la comunidad en línea asociada al juego [Aplicar]
- 3.
- Analizar el papel de las políticas de contratación de empresas y la defensa (advocacy) en la movilidad social [Analizar]
- 4.
- Sugerir cómo la representación de las mujeres en los videojuegos influye en cómo los jugadores perciben a los miembros de esos grupos [Evaluar]
- 5.
- Crear un videojuego que defienda con éxito la ciencia del clima [Crear]
2.17.28. SPD/SPD-SEP/Robótica
Temas:
Non Core
- Imparcialidad (fairness), transparencia y rendición de cuentas (accountability) en algoritmos robóticos
- Mitigar sesgos (biases) en la toma de decisiones de robots
- Seguridad pública en espacios compartidos con robots
- Cumplimiento con las leyes de protección de datos
- Consentimiento del paciente y confianza en los robots médicos
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Identificar instancias de sesgo en algoritmos robóticos y proponer estrategias para mitigarlos [Analizar]
- 2.
- Evaluar y criticar sistemas robóticos por consideraciones éticas y de imparcialidad, sugiriendo mejoras donde sea necesario [Evaluar]
- 3.
- Analizar ejemplos del mundo real de sesgos en la toma de decisiones de robots y desarrollar estrategias para reducir el sesgo en sistemas robóticos [Analizar]
- 4.
- Evaluar los riesgos potenciales asociados con robots en espacios públicos y proponer medidas de seguridad para mitigar esos riesgos [Evaluar (valorar)]
- 5.
- Evaluar el impacto del consentimiento del paciente y la confianza en la efectividad de los despliegues de robots médicos en contextos de atención médica [Evaluar]
2.17.29. SPD/SPD-SEP/Interactiva
Temas:
Non Core
- Pautas éticas al usar modelos de IA para ayudar en el periodismo y la creación de contenido
- Rendición de cuentas (accountability) por las salidas generadas por IA
- Comportamiento entre programadores de prompts (prompt programmers) y desarrolladores de IA
- Confianza con el público al usar modelos de IA
Aprendizaje esperado (Learning Outcomes):
NonCore:
- 1.
- Indicar un marco para la rendición de cuentas (accountability) en el despliegue de modelos de IA, incluyendo documentación clara y atribución [Evaluar]
- 2.
- Discutir códigos de conducta éticos y estándares profesionales relevantes para la programación de prompts (prompt programming) y el desarrollo de IA [Debatir]
- 3.
- Crear planes y materiales de comunicación para educar al público sobre las capacidades, limitaciones y salvaguardas éticas de la IA [Crear]