problemas matemáticos en un curso de programación de videojuegos
TRANSCRIPT
Problemas matemáticos en un curso de
Programación de Videojuegos
Penta UC Programa Educacional para
Niños y Jóvenes con Talento Académico
Jugando con la programación
Curso de Programación de juegos • El primer paso!
Aprender a programar • Enseñarle al computador a
resolver problemas
Programar juegos • Desafíos principalmente gráficos.
Program moverLaNave Method Main() Var x As Int = 250 Var y As Int = 250 LoadSprite("nave","ufo.gif") ShowSprite("nave") While True if IsKeyDown("right") Then x = x + 10 End If if IsKeyDown("left") Then x = x -‐ 10 End If If IsKeyDown("up") Then y = y -‐ 10 End If if IsKeyDown("down") Then y = y + 10 End If MoveSpriteTo("nave",x,y) Delay(10) End While End Method End Program
KPL Kids
Programming Language
PHROGRAM
Jugando con la Programación
Dibujos
• Dibujos punto a punto
• Dibujos con figuras geométricas
• Dibujos con repeticiones.
Jugando con la Programación
Dibujos
• Dibujos punto a punto
• Dibujos con figuras geométricas
• Dibujos con repeticiones.
Jugando con la Programación
Dibujos
• Dibujos punto a punto
• Dibujos con figuras geométricas
• Dibujos con repeticiones.
Jugando con la Programación
Animaciones
• Generar movimientos continuos
• Seguir una trayectoria
• Animaciones simultáneas.
Jugando con la Programación
Animaciones
• Generar movimientos continuos
• Seguir una trayectoria
• Animaciones simultáneas.
Jugando con la Programación
Animaciones
• Generar movimientos continuos
• Seguir una trayectoria
• Animaciones simultáneas.
Jugando con la Programación
Juegos
• Animaciones con condiciones.
• Animaciones con el teclado.
Jugando con la Programación
Juegos
• Animaciones con condiciones.
• Animaciones con el teclado
Jugando con la Programación
1 2 3
Dibujos
4 5 6 7
Animaciones8 9 10
Juegos11 12 13
Proyecto14
Videojuegos que surgieron
El problema del rebote¿Cómo le agrego murallas al juego?
El problema del rebote
if GetSpriteLeft("pelota")>640 Then x = 0 -‐ x End If if GetSpriteLeft("pelota")<0 Then x = 0 -‐ x End If if GetSpriteLeft("pelota")>480 Then y = 0 -‐ y End If if GetSpriteTop("pelota")<0 Then y = 0 -‐ y End If
(x,y)
(-x,y)(-x,-y)
(x,-y)
640
480
La metáfora del Juego
Diálogo Preguntas y Sugerencias
¿Cómo le agrego murallas al juego?
Eventos Acciónes
Metáfora del juego
“misil”“disparo” “enemigo”
“vidas”
Programación
Coordenadas Sentencias
Condiciones
¿Qué aprenden los estudiantes?
‣ Contenidos - Geometría Analítica y transformacional - Lenguaje algebraico - Lógica
‣ Aprendizajes poco sistemáticos - Surgen de los intereses de los estudiantes.
¿Qué aprenden los estudiantes?
‣ Procesos (aprendizaje sistemáticos) ‣ Comunicar
- Necesidad de organizar el trabajo con los pares - Formular situaciones que surgen gráficamente
‣ Modelar - Elaborar un plan para resolver un problema - Frecuentemente para simular movimiento.
¿Qué aprenden los estudiantes?
‣ Procesos (aprendizaje sistemáticos) ‣ Uso de lenguaje simbólico, formal y técnico
- Sintaxis en el contexto de la programación
‣ Plantear y resolver problemas - Problemas propuestos y problemas emergentes - Articular reglas de videojuegos.
¿Qué aprenden los estudiantes?
‣ Actitudes - Disposición positiva a la
dificultad - Aprender como un acto
lúdico y libre.
Relación con el currículum
‣ ¿Integración curricular de las TIC? - Las TIC al servicio del currículum - Visión utilitaria de las TIC - Desempodera las ideas (Seymour Papert)
‣ Enriquecimiento curricular - Las TIC para enriquecer las experiencias de
aprendizaje.
“Resolver un problema es hacer un descubrimiento. Un gran problema significa un gran descubrimiento, pero hay una partícula de descubrimiento en la solución de cualquier problema. El suyo puede ser modesto, pero si pone a prueba la curiosidad que induce a poner en juego las facultades inventivas, y si lo resuelve por medios propios, puede experimentar la tensión y el encanto del descubrimiento y el goce del triunfo.”
George Polya