Saltearse al contenido

Introducción

Carta descriptiva

Por favor consulta la carta descriptiva en el sistema de la Universidad. Te voy a mostrar aquí los puntos más importantes de ese documento.

Descripción del curso

El objeto de este curso es aportar a las competencias que te permitan construir aplicaciones interactivas que intercambien información con varios dispositivos de cómputo externos que tengan la capacidad de leer y/o modificar el mundo físico. El curso se estructura alrededor de un proyecto que permita trabajar conceptos tales como comunicaciones inalámbricas, protocolos de comunicación híbridos, sockets UDP, técnicas de programación multihilo y máquinas de estado, entre otros.

La aplicación deberá intercambiar información de manera inalámbrica con dos o más dispositivos de cómputo y podrá ser controlada remotamente por otra aplicación. La aplicación interactiva construida se publicará en un repositorio público y hará parte de tu portafolio.

Algunos ejemplos de este tipo de aplicaciones:

Propósito del curso

Se espera que al finalizar el curso seas capaz de construir una aplicación interactiva que pueda intercambiar información con múltiples sistemas de cómputo externos que tengan la capacidad de leer y/o modificar el mundo físico. Para este fin te propondré un tema o una situación problemática que debes resolver seleccionando las técnicas de programación y protocolos más adecuados (nivel autónomo) según los requerimientos.

Resultado de aprendizaje general

Soluciono problemas de interacción mediante la integración de contenidos digitales y software de acuerdo con un diseño previo, para la implementación de sistemas intermediados por el entretenimiento digital.

Competencia

Materializa sistemas intermediados por el entretenimiento digital para resolver problemas de acuerdo con requerimientos condicionados por el contexto.

Los cursos del área de materialización buscan que puedas desarrollar las competencias necesarias para solucionar problemas de interacción integrando lo que has aprendido de ingeniería de software, construcción de contenidos digitales y diseño interactivo.

Resultados de aprendizaje específicos

Integro dispositivos de entrada-salida con sistemas de cómputo para la creación de sistemas intermediados por el entretenimiento digital según los requisitos definidos. El nivel de desarrollo esperado es autónomo.

¿Qué significa el nivel autónomo?

Significa que dado un problema tú debes seleccionar los conceptos y herramientas más apropiadas para conseguir una solución óptima al problema.

¿Eso quiere decir que hay más niveles?

Sí. Los niveles son receptivo, resolutivo y estratégico.

Contenidos a revisar

Unidad 1: diseño y arte generativo.
Unidad 2: marco de diseño para proyectos de diseño generativo.
Unidad 3: referentes y herramientas 1.
Unidad 4: referentes y herramientas 2.
Unidad 5: definición del concepto y diseño preliminar.
Unidad 6: diseño y experimentos.
Unidad 7: implementación.
Unidad 8: portafolio.

Metodología del curso y estructura del curso

Este curso gira alrededor de la construcción de un proyecto que podrás incluir en tu portafolio. Te propondré un problema que deberás abordar mediante un proyecto de curso. Por tanto, la metodología del curso será aprendizaje basado en proyectos.

El curso está estructurado en dos partes. En un primero momento vas a explorar y experimentar. Esto servirá para que diseñes de manera informada la solución al problema. En el segundo momento diseñarás, implementarás y documentarás tu proyecto.

Cronograma

Unidad 1: semanas 1 a 2.
Unidad 2: semanas 3 a 4.
Unidad 3: semanas 5 a 6.
Unidad 4: semanas 7 a 8.
Unidad 5: semanas 9 a 10.
Unidad 6: semanas 11 a 12.
Unidad 7: semanas 13 a 14.
Unidad 8: semanas 15 a 16.

Evaluación

La evaluación en este curso es FORMATIVA y SUMATIVA al mismo tiempo.

En cada unidad te propondré actividades. A medida que termines cada actividad tu nota irá cambiando en tiempo real. Cada semana conversaremos acerca de tu trabajo y te ofreceré un feedback que te servirá para saber si debes trabajar un poco más en la actividad o si ya está lista para ser reportada en el sistema. La idea es que juntos tomemos esa decisión y tu puedas participar activamente en tu evaluación.

El sistema de evaluación del curso es de CALIDAD CONSTANTE, pero TIEMPO VARIABLE, es decir, solo se recibe, y reporta, una actividad cuando está completa y discutida entre nosotros. Puedes tomarte más tiempo del sugerido en el cronograma, sin embargo, cada dose semanas reportaré en el sistema de la Universidad cómo va tu proceso.

Ten presente que la evaluación es continua, cada actividad que realizas aporta a la nota del curso.

La nota de cada unidad será:

Donde:

  • Cada actividad tiene un valor de 1.
  • es el número de actividades completadas en la fase.
  • es el número total de actividades en la fase.

Y la nota definitiva será:

Donde:

  • es la nota de la unidad k.

Asistencia

La asistencia a las sesiones presenciales del curso es fundamental. Además, según el régimen discente de la Universidad en el capítulo 7, artículo 43:

Se entiende por asistencia la participación del estudiante en las actividades académicas programadas en cada curso para cada período académico. El estudiante cuyas faltas de asistencia superen el 20% del total de horas y actividades programadas, reprobará el curso correspondiente con una nota definitiva de 0.00.

Dedicación

Este curso es de 2 créditos distribuidos en dos sesiones semanales con acompañamiento del docente y una sesión de trabajo independiente. La dedicación total es de 6 horas.

Rutinas de trabajo en aula e independientes

Cada sesión tendrá una duración de 1 hora 40 minutos. En estas sesiones estarás trabajando en las actividades que se indican en cada unidad.

Problema del Curso: experiencia interactiva generativa en tiempo real

Contexto

El auge de las tecnologías web y la creciente demanda de experiencias interactivas innovadoras en el entretenimiento digital nos presentan un desafío: ¿Cómo podemos crear experiencias que respondan en tiempo real a la interacción del público y a los cambios en el entorno, utilizando el poder del diseño generativo?

Objetivo general

Diseñar y desarrollar una aplicación web interactiva en tiempo real que utilice principios de diseño generativo y se comunique con al menos dos dispositivos de cómputo externos para crear una experiencia o instalación interactiva que responda a la interacción del público y/o a cambios en el entorno físico. Esta aplicación deberá ser controlada remotamente por un tercer dispositivo que permita realizar ajustes en tiempo real.

Escenario

La aplicación interactiva generativa será exhibida en un evento en vivo. El público podrá interactuar con la instalación, generando cambios en el contenido visual o sonoro de la aplicación en tiempo real. La aplicación recibirá información de al menos dos dispositivos externos que capturarán datos del público y/o del entorno físico, influenciando la experiencia generativa. Un tercer dispositivo permitirá a un operador controlar remotamente los parámetros de la aplicación, ajustando la experiencia en tiempo real según las necesidades del evento.

Requisitos Funcionales

  • Generación de contenido dinámico: la aplicación web deberá generar contenido visual o sonoro que se modifique en tiempo real basándose en las interacciones de los usuarios y los datos recibidos de los dispositivos externos.

  • Interacción en tiempo real: la aplicación debe responder de forma instantánea a las entradas de los usuarios y/o al entorno físico.

  • Comunicación con dispositivos externos: la aplicación debe ser capaz de comunicarse con al menos dos dispositivos de cómputo externos (microcontroladores, teléfonos móviles, etc.) que puedan leer datos del público y/o entorno físico (sensores, cámaras, etc.). Debe también comunicarse con un tercer dispositivo para control remoto.

  • Interfaz de usuario intuitiva: la aplicación debe contar con una interfaz de usuario que permita a los asistentes al evento interactuar fácilmente con la instalación.

  • Control remoto: un tercer dispositivo debe permitir el ajuste y lectura de los parámetros de la aplicación en tiempo real.

Requisitos técnicos

  • Tecnologías web: utilizar tecnologías web como HTML, CSS, JavaScript, y bibliotecas como p5.js, Three.js, Cables.gl, entre otras.

  • Protocolos de comunicación: implementar protocolos de comunicación adecuados (ASCII, binario, WebSockets) para el intercambio de datos entre la aplicación, los dispositivos externos y el dispositivo de control remoto.

  • Algoritmos generativos: implementar algoritmos generativos que produzcan contenido visual o sonoro dinámico.

  • Producto final: un prototipo funcional de la aplicación web interactiva generativa, junto con la documentación técnica necesaria para su comprensión y replicación. Este prototipo formará parte de tu portafolio.