Académique Documents
Professionnel Documents
Culture Documents
Ttulo: Gua Didctica Rebeca 2010, Universidad Rey Juan Carlos Mstoles, Madrid, Espaa Coordina David Miraut Andrs - GMRV URJC Autora, Redaccin, Diseo, y Maquetacin Irene Montano Rodrguez y Sergio Ruiz Prez ISBN: 978-1-4461-4678-1 No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribucin de las cuales se debe hacer con una licencia igual a la que regula la obra original.
Nunca perdis la capacidad infantil de sorprendeos. Es muy importante, es lo que nos impulsa.
Randy Pausch, La ltima leccin
Introduccin ................................................................................................................................................ Qu es Rebeca? ...................................................................................................................................... Su origen ......................................................................................................................................................... Ventajas de usar Rebeca ................................................................................................................. Objetivos ..........................................................................................................................................................
9 10 11 11 12 13 14 15 16 16 17 18 19 20 21 21 23 23 25 28 29 29 30 30 31
2.3. Animar la escena .................................................................................................................................... Mtodos ......................................................................................................................................... Propiedades ................................................................................................................................... Funciones ....................................................................................................................................... Eventos ...........................................................................................................................................
2.4.1. Pgina Web .......................................................................................................................................... 2.4.2. Vdeo ....................................................................................................................................................... 2.4.3. Cdigo para imprimir ...................................................................................................................
ndice
1. Presentacin ..........................................................................................................................................
33 34
4. Bibliografa ............................................................................................................................................. 35
4.1. Recursos ...........................................................................................................................................................
36 37 38
5. Juego en CD ...........................................................................................................................................
5.1. Requisitos del sistema ......................................................................................................................
Presentacin
1.1.
Introduccin
La introduccin a la programacin ha sido siempre una tarea difcil para muchos alumnos y profesores, adems los nuevos retos como la programacin orientada a objetos suponen una dificultad aadida a la asimilacin y aprendizaje de estos conceptos abstractos. Esto es especialmente preocupante cuando estudios recientes revelan que el nmero de estudiantes en informtica ha disminuido un 60% entre 2000 y 2004 (Higher Education Research Institute, UCLA). Por este motivo, es prioritario evitar el desnimo y la frustracin que pueden experimentar los estudiantes en su primera aproximacin a la informtica. El sistema Rebeca supone una forma de escapar de la enseanza tradicional en la programacin orientada a objetos: en Rebeca los objetos son fcilmente reconocibles ya que estn representados mediante muecos, animales, escenografa, etc. Adems, el estado de estos objetos que puede cambiar gracias a mtodos como mover hacia adelante un metro o girar a la izquierda un cuarto de vuelta es fcilmente entendible por cualquier estudiante. Bajo este paradigma intuitivo y visual se muestra un conjunto de animaciones que cambian de estado. Es difcil de imaginar una manera ms simple de transmitir el concepto del estado en que se encuentra un objeto y el uso de la programacin para modificarlo. Esta es la meta principal de Rebeca: que conceptos abstractos puedan convertirse en conceptos concretos a los ojos de nuevos programadores. Cualquier profesor sabe que si un alumno no est motivado para aprender, ni toda la pedagoga ni tcnicas del mundo podrn ayudarle. La mejor forma que tiene de aprender un alumno es encontrarse estimulado por s mismo. Aunque podemos generar este sentimiento mediante incentivos, el sistema Rebeca ofrece una forma ms directa: basa la programacin en la actividad de contar historias que es interesante de forma universal. Gracias al uso de grficos 3D, Rebeca se comunica directamente con una generacin que ha crecido inmersa en videojuegos y pelculas de animacin cambiando as el mtodo de enseanza de la programacin que ha tenido escasas variaciones durante los ltimos 30 aos.
06
1.2. Qu es Rebeca?
Rebeca es un innovador entorno de programacin 3D que permite, de una forma sencilla, crear animaciones para contar historias, videojuegos interactivos o videos para compartir en Internet. Est pensado para servir como primera toma de contacto a la programacin orientada a objetos, permitiendo a los estudiantes aprender conceptos fundamentales de programacin dentro de un contexto de creacin de pelculas animadas y videojuegos sencillos. En Rebeca, objetos 3D pueblan un mundo virtual y el objetivo es crear programas que permitan animarlos y que indiquen cmo interactuar entre ellos. A travs de la interfaz de Rebeca, se arrastran y sueltan elementos grficos para crear los programas, donde las instrucciones corresponden a sentencias tpicas en un lenguaje de programacin orientado a la produccin, tales como Java, C++ y C#. Este sistema basado en una interfaz con ratn adems garantiza que los estudiantes no cometern errores de sintaxis. Los estudiantes ven inmediatamente cmo se ejecutan sus programas animados, comprendiendo fcilmente la relacin entre las sentencias de programacin y el comportamiento de los objetos en sus animaciones. Mediante la manipulacin de objetos en un mundo virtual ganan experiencia con todo tipo de estructuras tpicas en un curso de introduccin a la programacin.
1.3. Origen
Rebeca es una versin traducida, adaptable a cualquier idioma y basada en el sistema Alice que fue desarrollado como parte de un proyecto de investigacin sobre Realidad Virtual (con apoyo de la Fundacin Nacional de Ciencia americana, DARPA, Intel y muchos otros) y posteriormente impulsado como iniciativa multi-universitaria apoyada por varias facultades, profesores y estudiantes. La lista de colaboradores en Alice es enorme, pero cabe destacar la labor de Wanda Dann como directora del proyecto, Dennis Cosgrove como investigador cientfico, Caitlin Kelleher doctora por la Carnegie Mellon cuya tesis tuvo una influencia fundamental en el enfoque para hacer un pro-
10
ducto ms atractivo entre el pblico femenino, y el fallecido Randy Pausch, que fue el fundador del proyecto de software. Alice no es un acrnimo, no quiere decir A.L.I.C.E. pero su nombre tiene mucho significado. El equipo de desarrollo llam al sistema Alice en honor de Charles Lutwidge Dodson, un lgico y matemtico ingls que escribi bajo el seudnimo de Lewis Carroll. Entre las obras del autor encontramos Alicia en el Pas de las Maravillas y Alicia a travs del espejo. De la misma forma que el equipo que hizo Alice, Lewis Carroll estaba capacitado para la matemtica y lgica complejas, pero saba que lo ms importante es hacer las cosas fascinantes y sencillas para aprender.
11
mite usar el concepto de storyboard, para crear un guin de texto y refinarlo hasta convertirlo en pseudocdigo.
1.5. Objetivos
El objetivo de Rebeca es que los estudiantes puedan asimilar de una forma simple y transparente los mismos conceptos que proporcionara un curso de programacin, considerando especialmente importantes las siguientes destrezas: Pensamiento y expresin algortmicos: ser capaz de leer y escribir en un lenguaje formal.
Abstraccin: aprender cmo transmitir ideas complejas de una forma simple y descomponer el problema lgicamente. Apreciacin de elegancia: ser consciente de que aunque hay muchas formas de resolver un problema, alguna son infinitamente mejores que otras.
12
Entorno de Rebeca
Lo primero que aparece al iniciarse el programa es la pantalla de bienvenida. Haz clic en la pestaa Plantillas, selecciona el mundo hierba y haz clic en Abrir. Este mundo nuevo, que contiene solo los elementos bsicos en una escena, nos servir para descubrir el entorno de Rebeca.
14
Ahora ests viendo la interfaz de Rebeca, que se divide en 5 reas y la barra de herramientas:
1. La vista del mundo nos permite ver la escena que ests construyendo y aadir objetos. 2. El rbol de objetos contiene una lista de los elementos que se encuentran en la escena. 3. El panel de detalles nos muestra los mtodos, propiedades y funciones del elemento que est seleccionado en el rbol de objetos. 4. El editor de cdigo permite crear mtodos y funciones para que los objetos sepan cmo ejecutar sus acciones. 5. El editor de eventos permite decirle a Rebeca en qu momento, los objetos realizarn acciones.
15
Ahora entra en la coleccin Naturaleza y arrastra el objeto Bonzai a la escena. Ya tenemos el primer elemento de nuestra escena!. Vuelve atrs, haciendo clic en Galera Local y aade el siguiente objeto: En la coleccin Animales, el objeto Frog. Tras crear el mundo, es recomendable colocar todos los objetos que vayamos a usar en este paso, ya que si lo hacemos ms tarde es posible que tengamos que reajustar el encuadre de la cmara para que entren en el plano.
16
No te preocupes si te equivocas, sacas la rana fuera del plano o haces copias. Usa el botn Deshacer, bajo la barra de men, para eliminar la ltima accin realizada. Del mismo modo, si has deshecho algo que no queras, usa el botn Rehacer.
Para borrar algn objeto de la escena, puedes hacerlo con clic derecho sobre l y eligiendo la opcin borrar. Tambin se pueden mover partes individuales de los modelos 3D marcando la casilla Manejar subpartes. Marca la casilla y mueve la cabeza de la rana para ver el resultado. Si has terminado, deja seleccionada la flecha blanca de los controles de ratn y desmarca la casilla Manejar subpartes.
17
En la vista del mundo, prueba a arrastrar la rana de la escena con el ratn y fjate en que direccin se puede mover. Ahora, prueba a seleccionar cada botn de los controles de ratn (excepto el botn copiar) y arrastra la rana para ver qu sucede. El botn copiar nos sirve para duplicar objetos cuantas veces queramos. Slo hay que hacer clic en l y luego en el objeto tantas veces como copias queramos.
El icono de control vertical ha desaparecido, pues las vistas desde la derecha y el frente ya permiten el movimiento vertical. El icono desplazar vista nos permite mover la cmara de cualquiera de las vistas. El icono zoom, nos permite acercar o alejar la cmara que tienen las vistas. Haz clic en vista nica para volver a la vista normal del editor de escenas.
Con las flechas, de la parte inferior del editor de escenas, podemos cambiar el punto de vista de la cmara. Esto nos permite ver la escena con diferente ngulo, posicin y profundidad de cmara.
18
Tambin podemos aplicar mtodos a subpartes. Haz clic sobre el + a la izquierda de frog para ver las subpartes de la rana, haz clic derecho sobre head (cabeza), elige mtodos, frog girar, izquierda y 1/4 revolucin para girar la cabeza de la rana.
Intenta dejar los objetos organizados de forma parecida a los de la escena de abajo y cuando termines haz clic en Hecho para cerrar el editor de escenas:
19
Un programa es un conjunto de instrucciones que indica al ordenador qu hacer. Cada instruccin ser una accin a realizar. En Rebeca, crear un programa para animar objetos 3D en un mundo virtual, es darle a los objetos una lista de cosas que hacer. Para facilitar la explicacin vamos a cargar un mundo parecido al que acabas de crear. As aseguramos que los objetos estn en la posicin que nos interesa para animarlos. Para poder hacerlo, elige en la barra superior Archivo, luego Abrir Mundo..., pestaa Manual y doble clic en el mundo Animando la escena. Antes de empezar guarda este mundo en tu carpeta como hiciste en el paso 2.2.
20
El sangrado facilita la lectura y las lneas en letra cursiva y negrita indican cmo se realizarn las acciones dentro del bloque que introducen.
El editor, de forma predeterminada, crea un mtodo vaco llamado Mundo.mi primer metodo que usaremos para poner las instrucciones de nuestro programa y que se ejecutarn al hacer clic en el botn Jugar. Para este ejemplo slo necesitamos un mtodo, as que usaremos Mundo.mi primer metodo. Si te equivocas y pones algo que no quieras, arrstralo hasta la papelera para eliminarlo.
2.3.2.1. Mtodos
Un mtodo es un segmento de cdigo de programa (un conjunto de instrucciones) que define cmo se realiza una tarea especfica. Vamos a rellenar el mtodo Mundo.mi primer metodo para que contenga lnea por lnea todas las instrucciones de nuestro guin. Para ver los mtodos del conejo, haz clic sobre conejo en el rbol de objetos y luego en mtodos del panel de detalles. Esos son todos los mtodos (conjuntos de instrucciones previamente escritos) que el conejo sabe hacer. Segn el guin, el conejo debe hacer dos acciones a la vez para empezar. Para ello, debes arrastrar a Mundo.mi primer metodo una sentencia de control. Las sentencias se encuentran en la parte inferior del editor de cdigo y sirven para controlar el orden en que se ejecutan las instrucciones que contienen.
21
En este caso nos interesa la sentencia Hacer a la vez, as que arrstrala dentro del mtodo.
Arrastra dentro de Hacer a la vez el mtodo mirar triste del conejo. Falta arrastrar el mtodo conejo decir, pero en este caso nos encontramos con un mtodo que necesita argumentos. Un argumento es un elemento de informacin que debe ser indicado para que Rebeca pueda ejecutar la accin, o dicho de otra forma, es el componente de una instruccin. Arrastra el mtodo conejo decir bajo mirar triste y te pedir como argumento la frase que decir. Haz clic en otro... y escribe Un caramelo!!. Del mismo modo que antes sigue arrastrando elementos a tu mtodo, en el editor de cdigo, hasta que tengas todas las instrucciones del guin dentro:
Haz clic en el botn Jugar, en la parte superior de Rebeca, para probar tu animacin. As puedes comprobar si tus programas tienen errores o hacen lo que buscabas. Es importante que veas que tu mtodo Mundo.mi primer metodo, se compone de otros mtodos que Rebeca ya tena y que contienen instrucciones dentro.
22
2.3.2.2. Propiedades
Las propiedades son caractersticas propias de cada objeto. Para entenderlo, vamos a aadir una lnea ms a nuestro guin y la pasaremos a Rebeca.
Vamos a hacer que la ardilla se ponga colorada (se asuste) cuando el conejo salta a por su caramelo. Haz clic en ardilla en el rbol de objetos y luego en propiedades del panel de detalles. Ahora arrastra la propiedad color hasta tu mtodo, donde corresponde segn el guin, y elige el argumento rosa del men que aparece. Para indicar la duracin de est instruccin haz clic en ms, elige duracin, otro, escribe 0.1 y haz clic en OK. Todas las acciones en Rebeca duran 1 segundo a no ser que se indique otra duracin.
2.3.2.3. Funciones
Una funcin sirve para preguntar por una condicin o para calcular un valor y suele ser usada dentro de sentencias condicionales.
23
Antes has visto dos sentencias de control: Hacer en orden y Hacer a la vez. Ahora veremos la sentencia condicional Si/Sino, que se encarga de comprobar si un bloque de instrucciones debe ser realizado o no, mediante el uso de funciones y expresiones. Una expresin es usada para comparar, por ejemplo, la distancia entre dos objetos.
Con las sentencias condicionales podemos hacer que la ejecucin del programa no sea lineal, saltando bloques completos de instrucciones con solo evaluar una condicin del mundo. De nuevo el guin original se ve modificado con una lnea ms:
En el guin, distancia del conejo al caramelo es la funcin que calcula y devuelve un valor X. Este ser comparado como expresin (X < 1). Si esta expresin es cierta se ejecutarn las instrucciones dentro del bloque Si, y si fuese falsa se ejecutarn las instrucciones del bloque Sino. El conejo slo saltar cuando la distancia entre l y el caramelo sea menor de 1 metro. Los valores devueltos por una funcin pueden ser de varios tipos: Numrico (1, 5, 6.8). Booleano (Verdadero o Falso). Cadena (hola mundo). Objeto (un conejo).
24
Vas a crear el cdigo en Alicia. Arrastra la sentencia Si/Sino bajo el bloque Hacer a la vez y elige verdadero en el men que aparece. En el rbol de objetos haz clic en Mundo y luego en el panel de detalles clic en funciones. Arrastra la expresin a<b dentro de la condicin de Si, en verdadero y en el men que aparece elige a=1 y b=1 (que es lo mximo que puede saltar el conejo). Ahora, haz clic en conejo en el rbol de objetos, luego en funciones del panel de detalles y arrastra conejo distancia a en el valor izquierdo de la expresin, o sea el primer 1 y del men elige caramelo. Slo resta arrastrar el bloque Hacer en orden, ya creado, dentro de la sentencia Si.
Arrastra dentro del portapapeles (arriba del todo, a la derecha en la interfaz) la instruccin ardilla poner color a rosa para copiarla. Luego pincha y arrastra desde el portapapeles hasta dentro de Nada en Sino y habrs duplicado una instruccin. Cambia el color a blanco y la duracin a 0.25 seg. Haz clic en Jugar para ver el resultado de tu instruccin. Como la distancia entre el conejo y el caramelo no es menor de 1 metro, el conejo no salta. Prueba el valor 5 metros, y haz clic en Jugar. El conejo salta, ya que la distancia entre ambos es menor de 5 metros y se cumple la expresin. Cuando lo pruebes vuelve a poner 1 metro y sigue leyendo.
2.3.2.4. Eventos
Ya has visto cmo construir programas no interactivos con objetos que realizan acciones como en una pelcula de animacin. Ahora es el momento de ver cmo crear programas interactivos, cuyos objetos actan ante clics de ratn y cuando ciertas teclas son presionadas.
25
Cuando el usuario hace un clic de ratn o presiona una tecla se enva una seal a Rebeca para que indique qu hacer a continuacin. Un clic, una pulsacin o incluso un objeto movindose a una posicin concreta del mundo, es un evento y en respuesta a l se pueden hacer una o varias acciones. Dicho de otra forma, un evento puede provocar una respuesta. Los eventos ayudan a que cada ejecucin de nuestro programa sea diferente en funcin a lo que el usuario realice o a la posicin de los objetos. Por lo anterior, los eventos suelen estar enlazados a un mtodo de repuesta. De tal forma que cuando se produzca el evento, se ejecute un mtodo con instrucciones a realizar. Veamos nuestro ejemplo. En el panel de eventos, se puede ver que ya hay una instruccin de forma predeterminada por Rebeca.
En este caso, el evento es Cuando el mundo comienza y el mtodo que se ejecuta al producirse es Mundo.mi primer metodo. Para aprender cmo aadir mtodos, vamos a aadir los siguientes diseados con guiones:
Al presionar la flecha hacia abajo, el caramelo bajar y luego volver a su posicin inicial. De la misma forma, al presionar la flecha hacia arriba suceder lo contrario. Ahora vamos a representarlo en Rebeca. Haz clic en crear evento nuevo en el panel de eventos, luego en Cuando una tecla es pulsada. Aparecer la siguiente lnea:
26
Haz clic con el botn derecho sobre ella, luego en cambiar a, mientras una tecla es presionada. Con esto hacemos que el evento se produzca durante toda la pulsacin y no slo al comenzar. Ahora la lnea ha cambiado y se muestra lo siguiente:
Clic en alguna tecla y elige abajo. Ahora vamos a indicar qu acciones realizar cuando est presionada la tecla abajo. Lo habitual sera llamar a un mtodo, pero por simplificar la explicacin vamos a aadir directamente las instrucciones al evento y no un mtodo. En el rbol de eventos haz clic en caramelo y en el panel de detalles en la pestaa mtodos. Ahora arrastra el mtodo caramelo mover hasta dentro del primer Ninguno del evento que acabas de crear (el de ms arriba). Elige abajo, otro... e introduce la cantidad 0.2 metros y clic OK. Haz clic en ms, luego duracin y 0,5 segundos. Para completar el ltimo Ninguno (el de ms abajo) arrastra el mtodo caramelo mover hasta su interior. Elige arriba, otro... e introduce la cantidad 0.2 metros y clic OK. Haz clic en ms, luego duracin y 0,5 segundos. Ya has acabado de programar lo que har Rebeca al mantener la tecla abajo. Para describir lo que pasar cuando se presione la tecla arriba repite todo el proceso descrito desde crear evento nuevo, intercambia las direcciones en las que se mueve el caramelo e indica desplazamientos de 0.05 metros. Deberas ver lo siguiente:
27
Haz clic en Jugar para ver el resultado final de tu animacin pulsando las teclas arriba y abajo. Nota: si deseas que tu animacin no termine nunca prueba a usar una sentencia de control de repeticin. Esta sentencia se llama bucle y es la forma ms sencilla de repetir una accin o conjunto de acciones, un nmero determinado o infinitas veces. Arrastra la sentencia bucle bajo tu bloque Hacer a la vez, elige infinito veces e introduce dentro de bucle todo el bloque Si/Sino. Al final tendrs lo siguiente, prubalo con Jugar.
28
29
Se puede elegir el tamao de la animacin dentro del archivo .html y si se quiere aadir el cdigo que contiene el mundo abierto. Escribe el nombre del mundo, el del creador, elige la carpeta destino y haz clic en Guardar.
2.4.2. Vdeo
La opcin de Exportar Vdeo te permite generar un archivo de vdeo .mov (formato de Quicktime) independiente de Rebeca a partir de una animacin ya creada y abierta como mundo actual. No es necesario exportar la animacin completa, ya que tambin puedes exportar fragmentos sueltos.
30
Con el archivo .mov puedes tener tus creaciones en pginas como Youtube, Megaupload o compartirlas directamente Online.
Haz clic en Grabar y Detener Grabacin para indicar a Rebeca qu formar parte del vdeo, elige un nombre de archivo y para acabar, haz clic en Exportar Vdeo para generarlo.
31
Para crearlo, una vez en la ventana de Exportar Cdigo Para Imprimir, haz clic en los elementos que desees imprimir, elige dnde guardar el archivo, tu nombre y clic en Exportar Cdigo.
32
Rebeca y su extensin
34
Bibliografa
4.1.
Recursos
Esta gua ha sido elaborada para servir como punto de referencia de los conceptos bsicos contenidos en el libro Learning to Program with Alice. La informacin aqu contenida es un compendio entre fragmentos parcialmente traducidos del libro citado, informacin ofrecida por la comunidad Alice y nuestra propia aportacin. [1]. P. DANN Wanda; COOPER Stephen; PAUSCH Randy: Learning to Program WITH Alice. USA: PEARSON Prentice Hall, 2006. 319 p. ISBN 0-13-187289-3. [2]. Alice - An Educational Software that teaches students computer programming in a 3D environment. Consultado durante 2009. Disponible en: http://www.alice.org Las imgenes han sido tomadas de las siguientes pginas previo consentimiento de sus autores:
[3]. HACKETT Sabrina Elizabeth: Wood Trail II. Disponible en: http://hitomii.deviantart.com/art/Wood-Trail-II-87175896 [4]. ARRAIS Elsio: Follow the rabbit. Disponible en: http://frostwake.deviantart.com/gallery/ [5]. ILINCA Roman: Alice in Wonderland. Disponible en: http://twinkygreenpenguin.deviantart.com/art/Alice-in-Wonderland-109028071 [6]. TENNIEL JOHN: The mad hatter. Disponible en: http://commons.wikimedia.org/wiki/File:Alice_par_John_Tenniel_38.png [7]. TENNIEL JOHN: The Red Queen. Disponible en: http://commons.wikimedia.org/wiki/File:Alice_par_John_Tenniel_29.png
36
Juego en CD
- Windows: Windows 7, Vista, XP, o 2000 Procesador Intel Pentium II o equivalente Una tarjeta grfica VGA que soporte color de 16 bit y resolucin de 1024x768 (tarjeta de vdeo 3D recomendada) 512MB de RAM (1GB recomendado) Una tarjeta de sonido - Mac: Mac OS X 10.4, 10.5 o 10.6 Procesador PowerPC o Intel Una tarjeta grfica VGA que soporte color de 16 bit y resolucin de 1024x768 (tarjeta de vdeo 3D recomendada) 512MB de RAM (1GB recomendado) Una tarjeta de sonido
38