Programa tu propio juego Proporcionado por TryEngineering, www.tryengineering.org Enfoque de la lección La lección se concentra en cómo los ingenieros informáticos diseñan juegos de computadora y otros tipos de software. Los equipos de estudiantes trabajan en conjunto para crear un sencillo programa informático utilizando software gratuito disponible en varios idiomas. Los equipos evalúan los juegos desarrollados por los demás y presentan sus hallazgos a la clase. Sinopsis de la lección La actividad “Programa tu propio juego” explora la labor de los ingenieros en software y permite a los equipos de estudiantes crear su propio juego de computadora utilizando software básico gratuito. Los equipos presentan su juego ante la clase, evalúan los demás juegos y reflexionan sobre la experiencia de ingeniería. Niveles de edad 11 a 18 (Nota: Esta lección puede variar desde una actividad de programación o edición de programas muy básica para los estudiantes más jóvenes hasta una programación más compleja para los de mayor edad o más avanzados). Objetivos Aprender cómo los ingenieros en software diseñan juegos de computadora. Aprender sobre el proceso de reingeniería de productos. Aprender cómo los equipos de ingeniería se enfrentan a la resolución de problemas. Aprender sobre el trabajo en equipo y en grupo. Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 1 de 12 Resultados anticipados del aprendizaje Como resultado de esta actividad, los estudiantes deben lograr la comprensión de: la programación e ingeniería de software el diseño y la ingeniería de productos la resolución de problemas el trabajo en equipo Actividades de la lección Los estudiantes aprenden nociones básicas de programación informática y acerca de la labor de los ingenieros en software. Los equipos de estudiantes trabajan en conjunto para crear un sencillo programa informático utilizando software gratuito disponible en varios idiomas. Los estudiantes ejecutan sus propios juegos y evalúan los desarrollados por los demás equipos de estudiantes. Información/materiales Documentos informativos para el maestro (adjuntos) Instrucciones detalladas para la creación de juegos (www.yoyogames.com/make/tutorials) (sitio disponible sólo en inglés). Hojas de trabajo para el estudiante (adjuntas) Hojas de información para el estudiante (adjuntas) Concordancia con los programas de estudio Consulte la hoja adjunta sobre la concordancia con los programas de estudio. Conexiones a Internet TryEngineering (www.tryengineering.org) YoYo Game; software para crear juegos (www.yoyogames.com/gamemaker/try) (sitio disponible sólo en inglés) Normas de ITEA para la competencia tecnológica: Contenidos para el estudio de la tecnología (www.iteaconnect.org/TAA) (sitio disponible sólo en inglés) Normas nacionales de educación científica (www.nsta.org/standards) (sitio disponible sólo en inglés) Principios y normas de las matemáticas escolares del NCTM (http://standards.nctm.org) (sitio disponible sólo en inglés) Lecturas recomendadas Game Creation For Teens (Creación de juegos para adolescentes) (ISBN: 159863500X) Getting Started with Game Maker (Introducción al creador de juegos) (ISBN: 1598638823) Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 2 de 12 Actividad opcional de redacción Escribe un ensayo o párrafo que describa las implicancias éticas de adaptar la programación de software de otra persona. El concepto de “propiedad intelectual” es un término global que se refiere a las garantías de protección legal conferidas a ciertos nombres, medios escritos y grabados e inventos. Adopta una postura a favor o en contra de proporcionar apoyo financiero u otro tipo de reconocimiento al diseñador original de algún software que tú hayas adaptado/cambiado para crear un nuevo software. Considera que el software original no tuvo buenas ventas, pero tu versión modificada se vendió muy bien. Como idea de extensión, esta actividad escrita podría derivar en un animado debate acerca del concepto de los derechos de propiedad intelectual y sus ventajas y desventajas. Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 3 de 12 Programa tu propio juego Para los maestros: Concordancia con los programas de estudio Nota: Todos los planes de las lecciones de esta serie cumplen con las Normas nacionales de educación científica, formuladas por el Consejo Nacional de Investigación (National Research Council) y avaladas por la Asociación Nacional de Maestros de Ciencias (National Science Teachers Association) y, si corresponde, también con las Normas para la competencia tecnológica de la Asociación Internacional de Educación Tecnológica (International Technology Education Association) o los Principios y normas de las matemáticas escolares del Consejo Nacional de Maestros de Matemáticas (National Council of Teachers of Mathematics). Normas nacionales de educación científica, de 5° a 8° grado (de 10 a 14 años de edad) NORMA DE CONTENIDO A: La ciencia como indagación Como resultado de las actividades, todos los estudiantes deben desarrollar: Capacidades necesarias para realizar indagaciones científicas NORMA DE CONTENIDO E: Ciencia y tecnología Como resultado de las actividades en 5° a 8° grado, todos los estudiantes deben desarrollar: Capacidades de diseño tecnológico La comprensión de la ciencia y la tecnología NORMA DE CONTENIDO G: Historia y naturaleza de la ciencia Como resultado de las actividades, todos los estudiantes deben lograr la comprensión de: La historia de la ciencia Normas nacionales de educación científica, de 9° a 12° (de 14 a 18 años de edad) NORMA DE CONTENIDO A: La ciencia como indagación Como resultado de las actividades, todos los estudiantes deben desarrollar: Capacidades necesarias para realizar indagaciones científicas NORMA DE CONTENIDO E: Ciencia y tecnología Como resultado de las actividades, todos los estudiantes deben desarrollar: Capacidades de diseño tecnológico La comprensión de la ciencia y la tecnología NORMA DE CONTENIDO G: Historia y naturaleza de la ciencia Como resultado de las actividades, todos los estudiantes deben lograr la comprensión de: Las perspectivas históricas Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 4 de 12 Para maestros: Concordancia con los programas de estudio (continuación) Normas para la competencia tecnológica, todas las edades La naturaleza de la tecnología Norma 2: Los estudiantes desarrollarán la comprensión de los conceptos fundamentales de la tecnología. Norma 3: Los estudiantes desarrollarán la comprensión de las relaciones entre las tecnologías y las conexiones entre la tecnología y otros campos de estudio. Tecnología y sociedad Norma 7: Los estudiantes desarrollarán la comprensión de la influencia de la tecnología en la historia. Diseño Norma 9: Los estudiantes desarrollarán la comprensión del diseño de ingeniería. Norma 10: Los estudiantes desarrollarán la comprensión del rol del diagnóstico de fallas, la investigación y el desarrollo, los inventos y las innovaciones y la experimentación a la hora de solucionar problemas. Capacidades para un mundo tecnológico Norma 12: Los estudiantes desarrollarán capacidades para usar y mantener productos y sistemas tecnológicos. El mundo diseñado Norma 17: Los estudiantes desarrollarán la comprensión del uso de tecnologías de información y comunicaciones y serán capaces de seleccionarlas y usarlas. Principios y normas para las matemáticas escolares Norma de números y operaciones Como resultado de las actividades, todos los estudiantes deben ser capaces de: Comprender los números, las maneras de representar los números, las relaciones entre los números y los sistemas numéricos. Calcular con fluidez y realizar estimados razonables. Norma de conexiones Como resultado de las actividades, todos los estudiantes deben ser capaces de: Comprender cómo las nociones matemáticas se interconectan y potencian entre sí para producir un resultado integral y coherente. Reconocer y aplicar las matemáticas en contextos externos a ellas. Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 5 de 12 Programa tu propio juego Para los maestros: Hojas informativas para los maestros Meta de la lección Explorar la resolución de problemas técnicos trabajando en equipos para programar un nuevo juego de computadora. Los estudiantes aprenden nociones básicas de programación informática y la labor de los ingenieros en software. Los equipos de estudiantes trabajan en conjunto para crear un sencillo programa informático utilizando software gratuito disponible en varios idiomas. Los estudiantes ejecutan sus propios juegos y evalúan los desarrollados por los demás equipos de estudiantes. Objetivos de la lección Aprender cómo los ingenieros en software diseñan juegos de computadora. Aprender sobre el proceso de reingeniería de productos. Aprender cómo los equipos de ingeniería enfrentan la resolución de problemas. Aprender sobre el trabajo en equipo y en grupo. Materiales Hojas de información y de trabajo para el estudiante Acceso a Internet o computadoras (el software gratuito puede descargarse e instalarse en una computadora con entorno Windows sin acceso a Internet; el software está disponible en varios idiomas) Procedimiento 1. Descargue e instale el software gratuito para crear juegos YoYo Games (www.kidsprogramminglanguage.com) en varias computadoras o en un laboratorio de modo que los estudiantes puedan desarrollar sus juegos en equipo. Tenga en cuenta que encontrará una versión limitada gratis y otra de nivel superior por un precio reducido. La versión gratuita funcionará adecuadamente en el entorno de la clase para los principiantes. 2. También le recomendamos que repase las instrucciones en el sitio www.yoyogames.com/make/tutorials. 3. Muestre a los estudiantes las diversas hojas de referencia para el estudiante. Se pueden leer en clase, o bien, se pueden entregar como material de lectura de tarea para la noche anterior. Los estudiantes deben repasar las páginas sobre programación básica antes de usar el software en la computadora. 4. Divida a los estudiantes en grupos de 2 ó 3 (puede que necesite ajustar esta cifra dependiendo de la cantidad de computadoras disponibles) y entréguele un juego de materiales a cada grupo. 5. Explíqueles que son parte de un equipo de ingenieros en software y que deben crear un nuevo juego de computadora que será usado por estudiantes de 6 a 10 años. 6. Los equipos desarrollan un juego sencillo y lo comparten con el resto de la clase. 7. Cada grupo de estudiantes evalúa los juegos desarrollados por los demás equipos y completa una hoja de trabajo de evaluación/reflexión. Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 6 de 12 Consejos Esta lección puede extenderse para convertirla en un proyecto para todo el semestre o simplificarse enseñándoles a los estudiantes a crear o mejorar cualquiera de los juegos de demostración proporcionados por el programa. Por ejemplo, el juego “space cleaner” puede modificarse en el lapso de una sola clase. Si decide que los estudiantes modifiquen un juego, primero pídales que lo analicen en su forma original, que se reúnan como equipo y que determinen los cambios que les gustaría realizar y luego pídales que intenten ejecutar su plan. Tiempo necesario De una a dos sesiones de 45 minutos Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 7 de 12 Programa tu propio juego Hoja de información para el estudiante Ingeniería en software: Historia de los videojuegos Los inicios de los juegos de computadora Aunque las computadoras personales sólo se hicieron populares con el desarrollo del microprocesador, las grandes computadoras centrales y las minicomputadoras se han utilizado para crear juegos por lo menos desde la década de los 60. Uno de los primeros juegos de computadora fue desarrollado en 1961, cuando los estudiantes del Instituto de Tecnología de Massachusetts (MIT) Martin Graetz y Alan Kotok, junto con el empleado del MIT Stephen Russell, crearon Spacewar! en una computadora que se usaba para realizar cálculos estadísticos. Tal como se aprecia en la ilustración de la derecha, el juego consistía en un par de naves espaciales controladas por dos jugadores que maniobraban alrededor de una estrella central, cada uno de ellos intentando destruir al otro. La primera generación de juegos de computadora consistía en aventuras con texto incorporado o ficción interactiva, en la cual el jugador ingresaba comandos con el teclado para comunicarse con la computadora. A mediados de la década de los 70, ya había juegos diseñados y distribuidos por grupos de aficionados y revistas especializadas, tales como Creative Computing, y más tarde Computer Gaming World. Tales publicaciones proporcionaban códigos de juegos que podían digitarse en una computadora para poder usarlos, alentando a los lectores a presentar su propio software en competiciones. Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 8 de 12 La labor de los ingenieros en software Los ingenieros en software que trabajan en el desarrollo de aplicaciones o sistemas analizan las necesidades de los usuarios y diseñan, construyen, prueban y dan mantenimiento a sistemas o software de aplicaciones informáticas. Los ingenieros en software pueden participar en el diseño y el desarrollo de muchos tipos de software, incluidos programas informáticos para sistemas operativos y de distribución de redes y compiladores que traducen los programas para poder ejecutarlos en una computadora. Al programar (o “codificar” como también se le suele denominar), los ingenieros en software instruyen a una computadora, línea por línea, sobre cómo ejecutar una función. También resuelven los problemas técnicos que se presentan. Los ingenieros en software deben poseer sólidas destrezas en programación, pero se ocupan en mayor medida de desarrollar algoritmos y analizar y resolver problemas de programación que de escribir código. Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 9 de 12 Programa tu propio juego Hoja de información para el estudiante Ingeniería en software: Algoritmos ¿Qué es un algoritmo? En matemáticas, informática, lingüística y otras disciplinas afines, un algoritmo es una lista finita de instrucciones bien definidas para cumplir cierta tarea la cual, comenzando en un estado inicial, culminará en un estado final definido. El concepto de algoritmo se originó como un modo de registrar procedimientos para resolver problemas matemáticos, tales como encontrar el divisor común de dos números o multiplicar dos cifras. El concepto se formalizó en 1936 gracias a las máquinas de Turing (denominadas así en honor a su creador, Alan Turing) y el cálculo lambda de Alonzo Church, que a su vez crearon la base de las ciencias de la computación. Un ejemplo sencillo consiste en un diagrama de flujo que es básicamente una secuencia lógica de pasos para resolver un problema. Aplicaciones informáticas Los algoritmos son fundamentales para que las computadoras procesen información, debido a que un programa informático es esencialmente un algoritmo que le indica a la computadora los pasos específicos que debe realizar (y en qué orden en particular) para llevar a cabo una determinada tarea, como por ejemplo calcular una factura, imprimir libretas de calificaciones o completar un análisis de presupuesto. Dado que un algoritmo es una lista minuciosa de pasos precisos, el orden de cómputo casi siempre será crucial para su correcto funcionamiento. Generalmente se supone que las instrucciones se incluyen explícitamente y se describen comenzando 'desde arriba hacia abajo'; esto también se denomina “estructuras de control”. Cada rama de la ciencia tiene sus propios problemas y requiere algoritmos eficaces. Los problemas afines en una especialidad a menudo se estudian conjuntamente. Algunas de tales categorías son los algoritmos de búsqueda, clasificación, combinación, numéricos, gráficos, secuenciales, así como los algoritmos de geometría computacional, combinatorios, aprendizaje automático, criptografía, compresión de datos, y técnicas de análisis sintáctico. Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 10 de 12 Programa tu propio juego Hoja de trabajo para el estudiante: ¡Tú eres el ingeniero! Formas parte de un equipo de ingenieros que tiene que afrontar el desafío de crear un nuevo juego de computadora que será usado por niños de 6 a 10 años. Preparación 1. Repasa las diversas hojas de referencia para el estudiante. 2. Lee la guía básica de programación que te entregaron. Pautas de la actividad 1. Junto a tu equipo, formula un plan o una idea para tu juego. También invéntale un nombre. En el cuadro siguiente, escribe una descripción de dos oraciones que podría usarse como publicidad: Nombre del juego: Descripción: 2. Trabaja en conjunto utilizando el software y desarrolla tu juego. 3. Presenta tu juego a los demás equipos en la clase para que puedan ver cómo funciona (tú también puedes probar los juegos de ellos). 4. Completa las siguientes preguntas sobre tu juego y los desarrollados por los demás en tu sala de clases. 5. En equipo, presenta tus hallazgos y reflexiones a la clase. Preguntas de evaluación 1. ¿Cómo cambiaron tus planes para el juego una vez que intentaste crearlo usando el software que te entregaron? Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 11 de 12 2. ¿Cuánto tiempo crees que llevaría desarrollar una nueva variante para un software gráfico o de procesamiento de texto? ¿Cuántas personas crees que deberían trabajar en el equipo de ingeniería para desarrollar este tipo de software? ¿Por qué? 3. ¿Consideras que programar un juego de computadora fue más fácil o más difícil de lo que pensabas? ¿Por qué? 4. ¿Qué desafíos encontraste al crear tu juego? 5. ¿Cuáles fueron los otros juegos desarrollados en clase que más te gustaron? ¿Por qué? ¿Qué características encontraste atractivas? 6. ¿Crees que resultó más fácil o más difícil haber desarrollado este juego como parte de un equipo? ¿Crees que podrías haber creado un nuevo diseño si no hubieses trabajado en equipo? ¿Cuáles son las ventajas de trabajar en equipo en comparación con trabajar solo? 7. ¿Qué aprendiste sobre la forma como los ingenieros resuelven los problemas en esta lección? Programa tu propio juego Desarrollado por IEEE como parte de TryEngineering www.tryengineering.org Página 12 de 12