--:-- / Gancho 60 fps
Sesión 01 · 6 de agosto · Computación Creativa

Interacción y
Render Web
Avanzado

En 16 semanas van a poder construir esto. Más importante: van a entender por qué funciona, y van a poder decidir cuándo no hacerlo así.

scroll
8:30 Gancho · 15 min

Esto es lo que hay del otro lado

No expliquen todavía cómo están hechos. Solo véanlos.

8:45 Contrato del curso · 15 min

Cómo vamos a trabajar

Puntualidad

Hay 10 minutos de tolerancia. Pasados los 10, arrancamos — sin importar cuántos estemos en el salón.

Sí van a existir retardos y cuentan; la siguiente sesión les explico exactamente cómo funcionan. Por ahora quédense con lo importante: la clase empieza a tiempo.

Descansos

Si acordamos 10, 15 o 20 minutos, son exactamente esos. Reanudamos puntual, otra vez sin importar cuántos hayan vuelto.

Esta clase dura 4 horas. La puntualidad en los cortes es lo que hace que el tiempo alcance para todo.

Performance budget

Todo lo que entreguen debe correr a 60 fps en la laptop más lenta del grupo. Esa máquina es nuestro target oficial.

Tener buena laptop no da ventaja en la calificación. Da la responsabilidad de probar en otra antes de entregar.

Crítica

Formato I like / I wish / What if. Se le habla al trabajo, no a la persona.

Quien presenta escucha y anota; no se defiende durante la ronda. Participar en la crítica de otros también califica: el silencio no es neutral.

Lo que pueden esperar de mí

Aquí hay gente con experiencia laboral y gente que apenas vio JavaScript el semestre pasado. Los ejercicios tienen piso y techo justo por eso: todos entregan lo mismo, cada quien lo lleva tan lejos como pueda. El nivel del que partes no cambia el trato que recibes.

8:52 Contrato — evaluación y IA

La defensa oral vale más que el código

Pueden llegar con código que no escribieron. No pueden llegar con decisiones que no tomaron.

Bloque 1 — 9 sesiones40%
Pieza 110%
Pieza 2 + defensa20%
Bitácora y crítica10%
Bloque 2 — 7 sesiones60%
Concept sprint10%
Refactor declarativo15%
Checkpoints5%
Capstone + defensa30%

Herramientas de IA

Están permitidas. No les voy a pedir que finjan que no existen. Están reguladas, porque el criterio no se delega.

  • Struggle first. 30 minutos sin IA ante un problema nuevo. No es castigo: es donde aprenden a formular la pregunta.
  • Bitácora obligatoria. Qué pediste, qué te dio, y qué rechazaste y por qué. Esa última columna es la que califica.
  • Ventanas hands-on-keys. Momentos de clase sin IA, anunciados al empezar.
El único problema real

Entregar código que no pueden explicar. Eso no es "usar IA" — es no haber hecho el trabajo. Se detecta en la defensa, siempre.

9:00 Me presento · 10 min

Alejandro Alvarado

aka "Andrew"
Desarrollador web [ WebGL & Frontend ] Tecnólogo Creativo Artista Visual Fundador del colectivo internacional de arte y tecnología RAD

Clientes

Sundance Film FestivalSpotifyXbox GoogleHuluPictoline HubSpotMcCannDroga5
11+ años
Publicidad, branding y experiencias digitales
11+ premios
FWA · Awwwards · CSSDA — Site of the Day, Site of the Month, y contribución en un Site of the Year
4 años
Estudio propio — Mandelbrot Studio
3.5 años
Colaborando con Active Theory, Buttermax y Dreamwave
9:03 Me presento — en qué he trabajado

Nadie construye un sitio solo

Fíjense en cómo está escrito cada uno: no dice "hice el sitio de Spotify". Dice qué componente exacto construí. Así se acredita el trabajo real en producción, y así van a tener que hablar de lo suyo en la defensa.

9:05 Me presento — por qué me dedico a esto

Tres razones

Animación e interactividad

Disfruto la experiencia que se genera cuando lo que ves o escuchas reacciona a ti — a tus movimientos, a tu data. Para mí ahí hay cierta magia, y amplifica nuestras sensaciones.

Práctica y experimentación

La web es un medio entre muchos, pero funciona parecido a otras tecnologías que comparten el renderizado en tiempo real. Y es flexible: con lo mismo puedes hacer instalaciones y proyecciones de gran formato.

Alcance y accesibilidad

Sigue siendo una de las plataformas donde llegas a las personas con menos fricción. No hay que descargar nada, no compras acceso, y se adapta al dispositivo que tengas: smartphone, laptop, PC, visor de realidad virtual.

9:10 Diagnóstico escrito · 20 min

Esto no vale calificación

No lo voy a compartir con nadie. Lo uso para diseñar bien el curso y para armar los equipos de trabajo.

Lo único que les pido

Escribir "no sé" es una respuesta válida y útil. Si adivinan, me dan información falsa y diseño mal el semestre. Sin buscar en internet, sin IA.

Abrir el formulario → forms.gle/fqcSmD7oTfcXP4RW6
9:30 Diagnóstico práctico · 25 min

Cinco niveles. Lleguen hasta donde lleguen.

No se espera que terminen los cinco. Si llegan al nivel 2, está perfectamente bien. Si llegan al 5, también.

01

Dibuja un círculo en el centro del canvas.

02

Haz que ese círculo se mueva horizontalmente y rebote en los bordes.

03

Crea otro círculo que siga al mouse con suavidad — no pegado al puntero.

04

Haz que la velocidad de ambos no dependa de los fps de la máquina.

05

500 partículas independientes, direcciones aleatorias, rebotando, a 60 fps.

Descarguen el archivo y ábranlo en el navegador. Las instrucciones también están en la consola — F12.

9:55 Descanso

Descanso

15:00

Reanudamos puntual, sin importar cuántos hayan vuelto. Lo acordamos hace un rato.

10:10 Setup del entorno · 45 min

Node, npm y Vite

Al terminar tienen un proyecto corriendo con dev server, versionado en git y publicado en GitHub. Ese es el esqueleto de todo lo que haremos este semestre.

  • Node LTS — verificar con node -v y npm -v
  • npm create vite@latest — plantilla Vanilla, JavaScript
  • npm install y npm run dev
  • git init, primer commit, push a un repo nuevo
La regla que más se rompe

node_modules/ nunca se sube a git. Se reconstruye con npm install desde el package.json. Si la suben, el repo pesa 300 MB y nadie lo puede clonar.

Soporte del salón

Quien ya tenga Node instalado o haya usado npm: no avanzan solos. Se sientan con alguien que no lo tenga. Explicar es la forma más rápida de consolidar lo que ya saben.

10:55 Taller — Latido · 75 min

Su primera línea de código es un render loop

No es casualidad. Todo lo que hagamos este semestre — 2D, 3D, shaders, React — corre sobre esto. Es el latido.

Y sí: el fondo de la primera pantalla de hoy es exactamente esto. Vuelvan a subir cuando terminen.

PISO

Un círculo que rebota en los bordes, con movimiento independiente del framerate. Debe verse igual de rápido en su laptop que en la más lenta del salón.

+ 01

Un segundo círculo que sigue al mouse con easing — usando exponential decay, no un factor fijo por frame.

+ 02

De un círculo a N partículas, con N fácil de cambiar.

+ 03

Contador de fps visible en pantalla.

+ 04

Encuentra el N máximo que sostiene 60 fps en la máquina target y documéntalo en el README.

Hands-on-keys · primeros 30 minutos

Sin IA. Después, permitida con bitácora. A las 12:10 cerramos con crítica: tres pantallas conectadas y el formato I like / I wish / What if.

12:10 Crítica y cierre · 20 min

Para el jueves 13

Nos vemos el jueves

Traigan la laptop cargada y con el entorno funcionando. Si algo se rompió en casa, escríbanme antes del miércoles — no el jueves a las 8:30.