Curricula CS-UNI
2.17. Desarrollo de Plataformas Especializadas (SPD)

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:

1.
Enumerar las restricciones de la programación móvil [Listar/Enumerar]

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:

1.
Crear formas novedosas de gameplay utilizando plataformas de juego de frontera [Crear]

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]

¿Encontraste una errata, un curso desactualizado, un enlace roto, o tienes una sugerencia? Cuéntanos.

Escanea para abrir en tu teléfono