Una forma sencilla de enseñar a programar

Creado en colaboración con expertos en planes de estudios de la Facultad de Educación de la Universidad de Colorado, probado por la Universidad de Stanford y la CU, y apoyado por la National Science Foundation.

A Pacman game created with AgentCubes.Two rules for the Pacman game made in AgentCubes.

El origen del diseño escalable de juegos

Two founder of Scalable Game Design holding a Scalable Game Design sign.

AgentSheets, Inc. y las Escuelas de Ciencias de la Computación y Educación de la Universidad de Colorado se asociaron para desarrollar el Scalable Game Design Curriculum en una investigación apoyada por la NSF para utilizar AgentCubes para enseñar ciencias de la computación a estudiantes de K-12. También estudiaron la eficacia de estas intervenciones en aulas reales con cientos de profesores .

Nuestro planteamiento consistía en demostrar que, aprendiendo a programar atractivos juegos arcade clásicos, los alumnos podían aprender conceptos tanto de programación como de informática que les permitieran transferir estos conocimientos a la creación de simulaciones científicas, y que, al hacerlo, podían aprender tanto información del área temática como informática. Para medir esto, seleccionamos una serie de juegos (Frogger, Pac-man, Journey) que enseñarían a los estudiantes a poner en práctica los Patrones de Computational Thinking clave en un proceso que apoya la resolución de problemas en los mismos pasos por los que debe pasar un programador o modelador. En primer lugar, la abstracción: ¿qué necesita hacer el ordenador, qué hay que representar en el juego/modelo? A continuación, la automatización: ¿qué deben hacer las piezas del juego/modelo? Por último, el análisis: ¿está haciendo lo correcto el ordenador, he conseguido resolver el problema?

Patrones de pensamiento computacional

En informática y codificación, los componentes básicos de los programas son algoritmos, es decir, listas de instrucciones. Los videojuegos utilizan algoritmos que son comunes a muchos otros tipos de programación. Los hemos agrupado en Conceptos de Pensamiento Computacional. Todos nuestros programas de Diseño de Juegos ayudan a los alumnos a dominar una amplia gama de Conceptos de Pensamiento Computacional, como: movimiento, transporte, etc. Ya está incluido en el plan de estudios. A medida que los alumnos progresan en la construcción de juegos cada vez más complejos y originales, aprenden a dominar estos conceptos clave de programación que pueden utilizarse para crear juegos originales o incluso simulaciones y visualizaciones científicas. Algunos de estos conceptos son: Absorción, Generación, Colisión, Escalada, Control del cursor, Movimiento, Difusión, Sondeo, Percibir/Actuar y Búsqueda. También hay variaciones iniciales y avanzadas de estos conceptos, que también se enseñan .

A continuación, descubrimos que podíamos demostrar la transferencia de estos conceptos de Pensamiento Computacional comparando el juego de un alumno con un juego maestro, y evaluar el dominio de los mismos por parte de un alumno.

Superar los estándares

Siempre ha sido prioritario que no solo estemos preparados para cumplir las nuevas normas educativas, sino que nos mantengamos a la vanguardia. Tenemos que preparar a los alumnos para trabajar en un mundo en el que la tecnología está a la vanguardia.

Nuestro plan de estudios y nuestras herramientas garantizan que los alumnos puedan continuar desde el diseño de juegos escalables hasta la creación de modelos y simulaciones. Esto significa cumplir y superar los estándares en estas áreas:

  • Creatividad e innovación
  • Comunicación y colaboración
  • Investigación y fluidez informativa
  • Pensamiento crítico, resolución de problemas y toma de decisiones
  • Ciudadanía digital
  • Operaciones y conceptos tecnológicos

Una combinación ganadora

CSIA Apexaward, Celebrating Technology Exellence for Agentsheets, Ink.

Sabemos que es un reto llevar un plan de estudios estandarizado a un aula llena de alumnos con distintos niveles de experiencia. Siempre hemos creído firmemente que el aprendizaje se produce cuando los alumnos y los profesores son los productores de los medios y los juegos de ordenador, en lugar de los consumidores de estas cosas. La respuesta empezó a vislumbrarse en los primeros tiempos de la informática, cuando intentábamos poner los conocimientos de expertos en la materia en un ordenador y frente a novatos inexpertos. En realidad estábamos allí, en Informática, y en nuestros grupos de investigación empezamos a rebajar el umbral para que los expertos novatos en informática pudieran crear simulaciones expertas de forma fácil y rápida. Con el apoyo de la National Science Foundation, dimos soporte a usuarios que iban desde profesores de Ciencias hasta científicos de la NASA. Seguimos trabajando, con el apoyo continuo de la NSF, NIH, y colaboraciones con profesores, universidades hasta que bajamos el umbral hasta el punto en que un niño de tercer grado podría crear Frogger en sólo un par de horas.

Aquí es donde nuestras herramientas se diferencian. En lugar de preguntarnos cómo puede un niño contar una historia gráficamente, nos preguntamos cómo podemos poner el poder de un ordenador en manos de niños curiosos. Nuestro lenguaje de programación visual, AgenTalk, surgió de este reto. Basta con definir Si->Entonces, causa y efecto, para crear un juego de ordenador. Sacar la sintaxis de un lenguaje informático es sólo la mitad de la batalla. Comprender la semántica, el significado de un programa, es igual de importante. Con pistas visuales de fondo, que indican cómo se ejecutará un programa, creamos la Programación Conversacional, para que puedas, con la ayuda del ordenador, depurar cualquier problema lógico de tu programa y conseguir que funcione como quieres. Combinando todas estas herramientas de las ciencias de la computación, y el plan de estudios adecuado realizado por profesores, educadores y evaluadores experimentados, ahora tenemos un conjunto de herramientas que permite a los profesores sin experiencia enseñar a los estudiantes con diferentes niveles de experiencia a dominar los Conceptos de Pensamiento Computacional que los ponen en el camino hacia el dominio de las tecnologías digitales que necesitan para cumplir con los estándares educativos y trabajar en un mundo digital.

Los materiales del plan de estudios de diseño de juegos escalable

En este proceso, creamos un plan de estudios completo para el aula y materiales para que los profesores lleven a los estudiantes a través de este proceso, creando una correlación directa entre el enfoque de los Patrones de Pensamiento Computacional y los Estándares Educativos actuales para la enseñanza de las ciencias de la computación. Sabemos que nuestro enfoque no sólo cumple con los estándares, sino que los supera, y prepara a los estudiantes para responder a las preguntas de opción múltiple incluso en el examen AP CSP.

Enseña Frogger con AgentCubes

A Frogger game made in AgentCubes.

Eres una rana. Tu tarea es simple: salta a través de una autopista muy transitada, esquivando coches y camiones, hasta llegar a la orilla de un río, donde debes evitar ahogarte cruzando a salvo hasta tu gruta en la parte superior de la pantalla saltando por encima de las espaldas de tortugas y troncos.

Los alumnos aprenden estos conceptos de pensamiento computacional:

  • Control del cursor
  • Generar
  • Absorber
  • Perspectiva en primera persona
Enlace al Tutorial de Frogger

Enseñar Journey con AgentCubes

A Journey game made in AgentCubes.

Journey es un juego en el que un viajero intenta alcanzar una meta, con perseguidores bloqueando su camino. Journey, que se originó como Maze Craze, fue creado originalmente por un estudiante de doctorado de la Facultad de Educación de la Universidad de Colorado Boulder. Es un buen juego para ampliar las habilidades adquiridas mediante la programación de Frogger, con la adición de los patrones de pensamiento computacional Hill Climbing y Diffusion.

Los alumnos aprenden estos conceptos de pensamiento computacional:

  • Control del cursor
  • Colisión
  • Difusión (IA)
Enlace al Tutorial de Viaje

Enseñar a Pacman con AgentCubes

A Pacman game made in AgentCubes.

Como Pac-Man, tu objetivo es sencillo: comer tantas bolitas como puedas sin que te ataquen los fantasmas. Pac-Man morirá si se encuentra con fantasmas normales, pero los fantasmas se volverán azules cuando Pac-Man coma una bolita de poder. Los fantasmas azules se pueden comer, pero ten cuidado: ¡volverán a aparecer al principio poco después!

Los alumnos aprenden estos conceptos de pensamiento computacional:

  • Control del cursor
  • Colisión
  • Difusión (IA)
  • Difusión colaborativa (IA avanzada)
  • Escalada
  • Sondeo
Enlace al tutorial de PacMan

Enseñar Contagio con AgentCubes

A Contagion game made in AgentCubes.

Los contagios se propagan entre humanos de varias formas, incluyendo el contacto directo, la comunicación a través de aerosoles (por ejemplo, tos y estornudos) y la comunicación a través de otros métodos indirectos, como la manipulación mutua de objetos. Esta simulación es una aproximación muy simplificada del contagio por proximidad, que es una mezcla de los dos primeros métodos.

Los alumnos aprenden estos conceptos de pensamiento computacional:

  • Propiedades de la simulación
  • Percibir/Actuar
  • Scripting
  • Difusión (IA)
  • Escalada
Enlace a Contagion Tutorial

Enseñar a construir su propia simulación científica con AgentCubes

A simulation simulating Bubble Sort in AgentCubes.

Los estudiantes utilizan TODOS los Patrones de Pensamiento Computacional. Los estudiantes pueden crear cualquier patrón que sea necesario para apoyar lo que están modelando y simulando.

Construye tu propia Simulación

Trabajos de investigación

A. Repenning, "Moving Beyond Syntax: Lessons from 20 Years of Blocks Programing in AgentSheets" Journal of Visual Languages and Sentient Systems, vol. 3, p. 24, 2017.

Repenning, A., Webb, D. C., Koh, K. H., Nickerson H., Miller, S. B., Brand, C., et al., "Scalable Game Design: A Strategy to Bring Systemic Computer Science Education to Schools through Game Design and Simulation Creation" Transactions on Computing Education (TOCE), vol. 15, pp. 1-31, 2015.

ENABLING 3D CREATIVITY BY ADDRESSING COGNITIVE AND AFFECTIVE PROGRAMMING CHALLENGES