logo-uncmasmas.jpg

UNC MAS MAS

http://umm.famaf.unc.edu.ar/

http://www.facebook.com/unc.masmas


Programa de Enseñanza de Ciencias de la Computación en la Escuela

Guía de actividades prácticas: Parte II


isologotipo.png

Contenidos

Contenidos

Actividad 6 : Dummy Object (Complementaria)

Actividad 7: Variables (Fundamental)

Actividad 8: Repaso de Variable y Condicionales  (Fundamental)

Actividad 9: Métodos y Parámetros (Complementaria)

Actividad 10: Repaso Condicional y Números Aleatorios  (Complementaria)

Actividad 11: Ciclos (Fundamental)

Actividad 12: Ciclos (Complementaria)

Actividad 13: Eventos (Fundamental)

Actividad 14 Producciones Motivadoras (Complementaria)


Actividad 6 (Complementaria): Dummy Object

Resumen y Propósito de la Actividad:

Esta actividad tiene como propósito que los estudiantes conozcan y utilicen la función de dummy object, para ello se les presentará un juego con la intención  de hacer cambiar la historia tradicional del coyote y el correcaminos. La función dummy object es un elemento fundamental para el diseño de animaciones; por lo tanto, es imprescindible para que los alumnos puedan generar producciones más realistas y de manera más sencilla.

Conceptos de Animaciones:

Referencias y Recursos:

  1. Motivación:

Mostramos a los alumnos la animación de ejemplo ([1]). En la misma tenemos al “correcaminos” y al “coyote”. Como nos cansamos de que siempre le salga todo mal al pobre coyote, ahora queremos que un bloque de metal le caiga encima al correcaminos. Para que esto sea posible, necesitamos que el correcaminos caminé  hacia el lugar donde va a caer el bloque de metal, y luego debemos mover hacia abajo al bloque[1].

¿Se animan a intentar completar la animación?

Dejamos un tiempo para que los alumnos, explorando la herramienta, intenten realizar la animación de ejemplo. Los invitamos a que puedan poner dummy objects en su animaciones, podemos preguntarles ¿En qué situaciones de su animación necesitan dummy objects?

  1. Demostración y análisis:

Preguntamos cómo les fue con la actividad propuesta[2]. Es posible que los alumnos hayan tratado de resolver la misma utilizando los métodos mover o mover hacia. Esto les debe haber tomado mucho trabajo e instrucciones, ya que al no contar con algún elemento que indique el lugar exacto a donde debemos de mover el correcaminos, debemos de probar muchísimas veces cuantos metros moverlo, hacerlo girar la cantidad de grados correctas, entre otras. En el caso en que alguno de ellos haya podido encontrar la función de dummy object[3] y utilizar la misma de manera correcta, usamos su animación para explicar el concepto. Si no, mostramos cómo hacer una “marca” en el suelo.

Recordemos que para crear los dummy object, debemos dirigirnos al sector de diseño, crear un objeto cualquiera y moverlo en la posición donde queremos dejar la marca en el suelo. Luego hacemos click en el botón más opciones y, seleccionando el objeto que creamos para que ocupará la posición de la futura marca, hacemos click en el botón soltar muñeco. Esto creará en el árbol de objetos una nueva carpeta llamada Dummy Objects, con el dummy object recientemente creado. Una buena práctica de programación es cambiarle el nombre al mismo, para identificarlo con la posición que representa. Esto es recomendable porque seguramente vamos a necesitar crear muchos objetos dummy, y para poder identificarlos fácilmente, precisamos de nombres que los representen.

   

Podemos usar la analogía con las marcas de tiza que se utilizan en un escenario de una obra de teatro. Para reforzar esta analogía se les muestra una imagen en el proyector a los estudiantes de como se realizan estas marcas en teatro: http://www.cubaescena.cult.cu/doc/Sandra_Ramy_Detras.jpg

        

  1. Exploración y Producción:        

Con esta nueva función se facilitará el movimiento de los personajes, simplificando el trabajo en nuestras animaciones. Les proponemos a los alumnos que trabajen en sus propias producciones, utilizando los dummy object.

  1. Reflexión:

Para finalizar la actividad, proponemos el intercambio de las producciones para que cada grupo, por medio de la grilla de reflexión, realice una valoración sobre el trabajo realizado por sus compañeros.

Criterio

Agrega algunos detalles (personajes, escenario, objetos) a su animación.

Avanza en su animación utiliza algunas de las ideas trabajadas hoy. Logra mover el objeto hacia algún lugar esperado pero no utiliza la función aprendida en la clase.

Avanza en su animación e integra lo aprendido hoy a saberes aprendidos en otras clases.

Explora la plataforma y descubre por sí solo una nueva función.

Utiliza comentarios en el código  para hacer comprensible la lectura del mismo. Si otra persona ve tu código puede entenderlo.

Logra incorporar la función dummy object para mover un objeto hacia un punto exacto.

Puntuación

Entre 0% y 40%: Es necesario explorar más la herramienta.

Entre 41% y 69%: Buen trabajo. Necesitás un poco más de tiempo.

Entre 70% y 100%: Muy bueno lo tuyo! Has completado excelentemente la tarea de hoy.


Actividad 7: Variables (Fundamental)

Resumen y Propósito de la Actividad:

En esta actividad los alumnos deberán simular el rol de una empresa y allí se introducirán las funciones de variable y tipos de datos. El objetivo de esta actividad es presentar a los alumnos uno de los conceptos fundamentales y básicos de las Ciencias de la Computación: las variables.

Conceptos de Ciencias de la Computación:

Referencias y Recursos:

http://www.daleaceptar.gob.ar/cms/clases/clase-12/

  1. Motivación y recuperación de conocimientos previos:

Creamos rápidamente una animación con tres personajes cualquiera. Les planteamos a los chicos la siguiente consigna:

“Ustedes están haciendo su animación para una empresa de entretenimiento. Pero en un estudio realizado recientemente los usuarios han expresado que les gustaría poder personalizar más los juegos y animaciones. Por lo tanto la empresa les pide, que se le pregunte al usuario el nombre.

Este nombre lo tienen que repetir los otros tres personajes de la escena. Sin embargo queremos que la pregunta se haga una sola vez. ”

Luego de plantear la consigna se muestra la función preguntar al usuario por cadena de carácteres.  Recordemos que para poder utilizar la misma debemos tener seleccionado, en el árbol de objetos, el objeto mundo. Luego seleccionamos, en el sector de la pantalla que se encuentra justo debajo del árbol de objetos, la pestaña llamada funciones (functions). Buscamos en la misma la función llamada preguntar al usuario por cadena de carácteres y la arrastramos al sector de edición de código. Luego deberemos completar con la pregunta que le queremos realizar al usuario. Incorporando la función preguntar al usuario por cadena de caracteres logramos hacer que los personajes pregunten por el nombre de los participantes. Ahora resta que los alumnos hagan que los personajes repitan los nombres.

2. Exploración y Producción:

Dejamos a los alumnos que exploren la herramienta para que ellos mismos descubran cómo hacer que los tres personajes repitan el nombre sin tener que realizar tres veces la pregunta. El objetivo es hacerle recordar de alguna manera a la computadora el nombre del usuario para poder después usarlo cuando los personajes hablan.

3. Demostración y análisis: 

Probablemente en el grupo no se haya encontrado la manera de realizar la función solicitada usando variables, pero sí se instaló la necesidad de saber como resolverlo. Entonces, luego de la instancia de exploración explicamos qué es una variable. Creando una variable podemos almacenar información en la memoria de la computadora. La memoria de una computadora es como un armario enorme con millones de cajones. Y cada uno de estos cajones es una variable. Tanto los cajones de un armario como las variables, sirven para guardar diferentes elementos. Los armarios que tenemos en nuestra pieza tienen pocos cajones, por lo que es fácil acordarnos qué guardamos en cada uno. Pero como la memoria que tiene millones de cajones, nos es imposible recordar dónde guardamos cada cosa, por lo que es una idea excelente poner nombres a las variables relacionados con lo que guardemos en la misma.  

Las variables forman parte de actividades cotidianas de nuestra vida. Cada vez que vamos al supermercado a comprar nos encontramos con ellas. ¿Cuándo? Cuando vamos a la caja a pagar los productos que compramos, la caja registradora nos muestra el total. Ese total es una variable que se va modificando a medida que vamos registrando los productos.

Del mismo modo, cuando el programa pregunta al usuario su nombre, lo debemos guardar en una variable y luego cada personaje usa el contenido de la variable para decir nuestro nombre. Por lo tanto en vez de hacer varias preguntas al usuario por su nombre, realizamos la misma pregunta una única vez y guardamos la respuesta del usuario en la variable. Una buena práctica de programación es poner un nombre representativo a las variables. Cuando hablamos de representativo hacemos referencia a que se relacionen con el contenido de la variable. En este caso como en la variable guardamos nombres de usuario, un buen nombre sería: nombre_de_usuario. Notemos que para el nombre de la variable, cuando el mismo consta de varias palabras utilizamos el guión bajo ("_") para separar las mismas en vez de un espacio vacío. Esto se debe ya que la mayoría de los lenguajes de programación no permiten que los nombres de variables estén separados por espacios. Recalquemos que en Alice es posible dar nombre a las variables utilizando espacios, pero recomendamos utilizar guiones bajos como buena práctica de programación.

Observemos que en Alice, para crear una variable, tenemos la pestaña crear nueva variable en el sector de edición de código. Cuando creamos la variable, debemos de poner un nombre a la misma y seleccionar el tipo de la misma. Esto es porque necesita saber si vamos a guardar un número, o una cadena de caracteres, o un objeto. Una vez creada la misma, para poder utilizarla debemos arrastrarla al sector de edición de código.

Les pedimos a los alumnos que trabajen en su animación. Es importante proponerles que piensen en las diferentes partes de sus producciones donde necesiten variables[4].

 

  1. Reflexión:

 

Para finalizar la actividad, cada grupo ofrecerá su animación a otro grupo para que el mismo sea valorado por medio de la grilla de reflexión.

Criterio

Agrega algunos detalles (personajes, escenario, objetos) a su animación.

Avanza en su animación utiliza algunas de las ideas trabajadas hoy.

La animación le pregunta algo al usuario pero no lo repite.

Avanza en su animación e integra lo aprendido hoy a saberes aprendidos en otras clases.

Explora la plataforma y descubre por sí solo una nueva función.

Utiliza comentarios en el código  para hacer comprensible la lectura del mismo. Si otra persona ve tu código puede entenderlo.

Logra incorporar una variable a su animación, por ejemplo la animación le pregunta algo al usuario, y luego lo repite más de un personaje.

Puntuación

Entre 0% y 40%: Es necesario explorar más la herramienta.

Entre 41% y 69%: Buen trabajo. Necesitás un poco más de tiempo.

Entre 70% y 100%: Muy bueno lo tuyo! Has completado excelentemente la tarea de hoy.


Actividad 8: Repaso de Variable y Condicionales (Fundamental)

Resumen y Propósito de la Actividad:

El objetivo de esta actividad es trabajar sobre el aprendizaje de dos conceptos fundamentales y básicos de las Ciencias de la Computación, variable y condicional. Reforzamos el concepto de variable visto en una de las Actividades anteriores, y se introduce el concepto de condicional. Los condicionales son muy importantes en Computación. Precisamos de tomar decisiones todo el tiempo (como en la vida real), y con ellos podemos llevar a cabo esta tarea.   

Conceptos de Ciencias de la Computación:

Referencias y Recursos:

Recurso complementario: planificación de clase unplugged sobre condicionales, video para la clase.

  1. Motivación y recuperación de ideas previas:

Basándonos en el ejercicio de la Actividad 7, donde precisamos de una variable para poder guardar la respuesta de la pregunta al usuario: ¿Cómo es tu nombre?, y poder utilizar el valor del mismo varias veces sin necesidad de repetir la pregunta, planteamos la siguiente actividad:

Agreguemos rápidamente un personaje cualquiera en una nueva animación. Queremos que un personaje pregunte al usuario por su edad, y guarde el valor de la misma en una variable. ¿Se animan a hacerlo?

  1. Exploración y Producción:

Les damos a los alumnos tiempo para que puedan investigar y realizar la actividad pedida. Deberán de crear una variable de tipo número, a la cual tienen que asignarle el valor de la función preguntar usuario por número[5].

Una vez que hayan finalizado les planteamos la siguiente problemática:

Queremos que el personaje diga la edad que tenemos, es decir usando el método decir.

¿Qué sucede cuando queremos que diga el contenido de la variable?

Como podemos ver, Alice no nos permite asignar la variable edad en el método decir. Esto se debe a que decir toma como parámetro una cadena de caracteres, mientras que la variable edad es de tipo número. Esto genera un error de tipos.

 

Una vez finalizado el ejercicio anterior planteamos la siguiente actividad:

Queremos extender nuestra animación para que el personaje a partir de nuestra edad pueda decir si somos menores o mayores de edad. En el caso en que seamos mayores nos diga “Sos mayor” o si somos menores “Sos menor”. ¿Se animan a hacerlo?

Damos unos minutos para que los alumnos exploren la herramienta con la intención de que resuelvan la tarea pedida[6].

  1. Demostración y análisis:

Si algún alumno logró realizarlo le pedimos que nos ayude a explicar cómo hacerlo al resto de los compañeros[7]. Necesitamos que el personaje, dependiendo si somos mayores o menores de edad diga cosas distintas.

Para poder llevar a cabo esto podemos ver que primero, debemos comparar el valor que hemos guardado en la variable edad con la edad que define la mayoría de edad (supongamos que 18 años). En el caso en que el valor de la variable edad sea mayor o igual a 18 (edad >= 18), entonces nuestro personaje deberá decir “Eres mayor”. En caso contrario dirá “Eres menor”. Por lo tanto, debemos tomar una decisión dependiendo de la edad de la persona. Esto se denomina condicional. Como podemos ver, lo que diga el personaje elegido dependerá de una condición que debemos definir. Una posible condición sería  “edad es mayor o igual a 18”, lo cual en Alice y la mayoría de los lenguajes de programación se representa como edad >= 18.

Es importante destacar que esta no es la única condición válida para resolver el problema. También podemos pensar en la condición contraria a “edad es mayor o igual a 18”, es decir “edad es menor a 18”.

Luego, sin importar la condición que elijamos, en el caso en que se cumple la misma, nuestro personaje dice uno de los mensajes, mientras que si no se cumple dice el mensaje restante.

Tenemos una condición para realizar una acción u otra. Esto podemos hacerlo en Alice con la sentencia “Si/Si no” (O “If/Else”). Para utilizarla arrastramos la misma al sector de edición de código. Inicialmente, nos pide que pongamos una condición inicial que puede ser el valor booleano true o false. Elegimos cualquiera de los dos. Después reemplazamos la condición que hayamos elegido inicialmente por la que nosotros necesitemos, por lo tanto, debemos de llenar el cuerpo de la estructura “Si/Si no”.  

Como recurso complementario a esta actividad, luego de realizarla, podemos reforzar la enseñanza del concepto de condicional, con las siguientes actividades unplugged (sin uso de la computadora) de code.org: video sobre actividad de condicionales y planificación de clase unplugged sobre condicionales. Aún si no realizan esta actividad en el curso recomendamos su lectura para encontrar diversos ejemplos y modos de explicar el condicional, en la propuesta presentada en el video se enseña el condicional a través de un juego de cartas.

  1. Reflexión:

Para finalizar la actividad, cada grupo ofrecerá su animación a otro grupo para que el mismo sea valorado por medio de la grilla de reflexión.

Criterio

Agrega algunos detalles (personajes, escenario, objetos) a su animación.

Avanza en su animación utiliza algunas de las ideas trabajadas hoy.

Avanza en su animación e integra lo aprendido hoy a saberes aprendidos en otras clases.

Explora la plataforma y descubre por sí solo una nueva función.

Utiliza comentarios en el código  para hacer comprensible la lectura del mismo. Si otra persona ve tu código puede entenderlo.

Logra incorporar un condicional a su animación.

Puntuación

Entre 0% y 40%: Es necesario explorar más la herramienta.

Entre 41% y 69%: Buen trabajo. Necesitás un poco más de tiempo.

Entre 70% y 100%: Muy bueno lo tuyo! Has completado excelentemente la tarea de hoy.


Actividad 9: Métodos y Parámetros (Complementaria)

Resumen y Propósito de la Actividad:

Esta actividad tiene como propósito reforzar dos conceptos principales de las Ciencias de la Computación que ya han sido trabajados anteriormente, ellos son Método (Actividad 4) y Parámetro (Actividad 5).

Conceptos de Ciencias de la Computación:

Referencias y Recursos:

  1. Motivación y recuperación de ideas previas:

Comenzamos la clase solicitando a los alumnos que coloquen tres personajes en el escenario. Les contamos que queremos que los tres personajes nos saluden de una forma particular. Se deben mover hacia adelante, decir “Hola” seguido del nombre de quien utilice la animación y luego moverse hacia atrás (serían los tres pasos para saludarnos). Recordemos que para guardar el nombre de usuario utilizamos la función preguntar a usuario por cadena de caracteres y, guardamos la respuesta en una variable de tipo cadena de caracteres[8].

Luego les proponemos a los alumnos la siguiente actividad:

“Anteriormente definimos la forma en la cual los personajes deben de saludar. La misma consta de tres pasos: moverse hacia adelante, decir “Hola nombre de usuario” y moverse hacia atrás.

Para el segundo paso no es válido que la respuesta a la pregunta sea “Hola nombre de usuario“ para resolver el ejercicio, es decir, que solo podrán responder su nombre, el cual será guardado en la variable.

¿Se animan a realizarlo?”

Damos un tiempo a los alumnos para que traten de resolver el problema.

  1. Demostración y análisis:

Preguntamos a los alumnos si pudieron resolver la actividad planteada. Es posible que tengamos las siguientes respuestas por parte de ellos:

Para poder hacer que el personaje diga en una misma instrucción toda la frase “Hola nombre de usuario”, debemos poder unir, de alguna manera, la cadena de caracteres “Hola”  y el contenido de la variable, que también es una cadena de caracteres. Esta unión es un concepto muy importante en las Ciencias de la Computación, el cual se denomina concatenación. Este concepto lo podemos encontrar en Alice representado por la función unir, la cual toma dos parámetros. Estos son las dos cadenas de caracteres que queremos concatenar. La función unir se encuentra en el sector de funciones. Recordemos mantener seleccionado en el árbol de objetos, el objeto mundo, para luego poder elegir la función “unir” y arrastrarla al sector de edición de código. Luego debemos introducir los parámetros de la misma, los cuales serán las cadenas de caracteres correspondientes.

La concatenación es utilizada en programas que forman parte de nuestra vida cotidiana. Cada vez que vamos al supermercado y debemos de pagar los productos vamos a la caja. En la misma los productos son pasados por un lector de código el cual no solo permite calcular el gasto total, sino también imprimir en el ticket los productos y su precio. En cada impresión de producto y precio hace su aparición estelar la concatenación.

  1. Exploración y producción:

Proponemos a los alumnos que los tres personajes que han agregado a la animación saluden de la manera que definimos anteriormente.

Durante la exploración de los alumnos podemos advertir junto a ellos que precisamos de nueve instrucciones para que los tres personajes saluden (mover hacia adelante , decir “Hola nombre de usuario” y mover hacia atrás). Observemos que utilizamos las mismas tres instrucciones para cada personaje, lo único que cambia es el objeto o personaje que lo realiza. Una buena idea sería poder agrupar estas tres instrucciones en un método. De esta manera, reduciremos las instrucciones a sólo tres.

Para crear métodos en Alice, primero que nada debemos de pensar quien queremos que lo utilice. En este caso es algo que todos los objetos podrían de realizar, por lo que primero que nada seleccionamos el objeto mundo en el árbol de objetos. Luego seleccionamos la pestaña métodos (esta ubicada en el mismo sector que la pestaña funciones), donde se despliegan los métodos existentes y la opción crear nuevo método. Cuando seleccionamos esa opción, se despliega una pequeña ventana en la cual nos pide el nombre del nuevo método. Al igual que con respecto a los nombres de las variables, existen buenas prácticas de programación para los nombres de los métodos. Es importante que el nombre del método refleje lo que este realiza. Y cuando el nombre del mismo consta de varias palabras, es preferible separar las mismas por guiones bajos (“_”) que por espacios. Una vez finalizado este paso, se creará una nueva ventana de edición de código, con el nombre que le asignamos a nuestro nuevo método. Es decir, que toda instrucción que agreguemos en esta nueva ventana pertenecera al método.

Como nuestro nuevo método hace referencia a una forma de saludo, un buen nombre para el mismo sería saludar.

Una vez creado el método saludar les proponemos a los alumnos la siguiente actividad:

“Ya creamos el método saludar. Ahora debemos escribir las instrucciones del mismo.

¿Se animan a hacerlo?”

Les contamos a los estudiantes como usamos los métodos que creamos. Recordemos que para utilizarlos debemos de mantener seleccionado el objeto al cual corresponda el método en el árbol de objetos (en este caso el objeto mundo). Luego dirigirnos hacia la pestaña métodos, lo seleccionamos y arrastramos al sector de edición de código.

  1. Demostración:

Preguntamos cómo les fué con la actividad planteada anteriormente. Es posible que los alumnos hayan resuelto las actividades de la forma que se enuncia a continuación:

Para poder terminar de crear el método, los alumnos pueden haber utilizado las instrucciones  basándose directamente en alguno de los personajes u objetos que hayan colocado en escena. Supongamos que uno de los personajes es un conejo, entonces estamos haciendo referencia que el cuerpo del método saludar, va a estar compuesto por las instrucciones siguientes (usando el conejo como el objeto en el cual se han basado). Esta no es una solución válida para la actividad planteada ya que no la resuelve. Seguramente los alumnos arrastraron el método en el sector de edición de código, y al momento de ejecutar el mismo, (aunque lo hayan arrastrado tres veces distintas), el único personaje que saltaba era el conejo. Por lo tanto, pareciera que hay que definir un método saltar por cada personaje, lo cual no ahorraría instrucciones.

Pero en realidad es posible definir un método para todos los objetos que necesitemos. Para ello debemos de indicarle al mismo qué objetos pueden realizarlo. Esto lo hacemos con un parámetro. Para crear el mismo debemos de seleccionar la opción crear parámetro. Al igual que cuando creamos variables, debemos colocarle un nombre al parámetro. Se recomiendan las mismas buenas prácticas de programación que para nombres de variables y métodos, es decir, utilizar nombres relacionados con el contenido del parámetro, y en el caso de utilizar nombres que contengan varias palabras, utilizar guiones bajos (“_”) para separar las mismas.

Al igual que cuando creamos una variable debemos de definir el tipo de dato del parámetro.

En este caso un buen nombre para el parámetro sería personaje y el tipo de dato del mismo objeto, ya que quienes saltarán son los diferentes personajes.  

 

Con un método podemos agrupar instrucciones en donde dejamos algún dato a completar en el momento de utilizarlo. En nuestro ejemplo, sabemos que queremos que un personaje salude y se mueva en dos direcciones, por lo tanto, dejamos el lugar del personaje vacío para completarlo en el momento que necesitemos usar el método. Es como cuando tenemos un formulario genérico, donde dejamos líneas de punto a completar por cada persona. Aquí la línea de punto sería el personaje que realizará las acciones y a este concepto se le llama parámetro.

Como recurso complementario a esta actividad, luego de realizarla, podemos reforzar la enseñanza del concepto de parámetro, con la siguiente actividad unplugged (sin uso de la computadora) de code.org, aún si no realizan esta actividad en el curso recomendamos su lectura para encontrar diversos ejemplos y modos de explicar el concepto de parámetro, en la propuesta presentada por ejemplo se lo introduce con ejemplos de canciones infantiles dónde se va cambiando una parte de la letra, como por ejemplo: Un elefante se balancea, la mar estaba serena y el cuento de la buena pipa.

6.    Reflexión:

Para finalizar la actividad, cada grupo ofrecerá su animación a otro grupo para que el mismo sea valorado por medio de la grilla de reflexión.

Criterio

Agrega algunos detalles (personajes, escenario, objetos) a su animación.

Avanza en su animación utiliza algunas de las ideas trabajadas hoy.

Avanza en su animación e integra lo aprendido hoy a saberes aprendidos en otras clases.

Explora la plataforma y descubre por sí solo una nueva función.

Utiliza comentarios en el código  para hacer comprensible la lectura del mismo. Si otra persona ve tu código puede entenderlo.

Logra utilizar la función unir.

Puntuación

Entre 0% y 40%: Es necesario explorar más la herramienta.

Entre 41% y 69%: Buen trabajo. Necesitás un poco más de tiempo.

Entre 70% y 100%: Muy bueno lo tuyo! Has completado excelentemente la tarea de hoy.


Actividad 10: Repaso Condicional y Números Aleatorios  (Complementaria)

Resumen y Propósito de la Actividad:

En este encuentro se profundizará el concepto de condicional y veremos el concepto de número aleatorio. Para ello utilizaremos una animación - videojuego prearmado. En el mismo tenemos que descubrir detrás de qué piedra está escondida la rana de la animación prearmada.

Conceptos de Ciencias de la Computación:

Referencias y Recursos:

http://www.daleaceptar.gob.ar/cms/clases/clase-13/

  1. Motivación y recuperación de ideas previas:

Mostramos en el frente un juego realizado en Alice:

Tenemos tres ranas detrás de tres piedras y un burro que habla. El burro le dice al usuario que adivine qué rana va a saltar. El usuario puede ingresar un número y a continuación una de las ranas salta.

Si el usuario acierta el burro dice: “Ganaste!” y si no, el burro dice “Perdiste!”.

Les pasamos a los alumnos un archivo con el juego incompleto. Repasamos el código que está en el archivo viendo que se usan variables y que hay dos métodos propios con sus parámetros. Rescatamos estos conceptos que ya fueron aprendidos en actividades anteriores.

En este juego incompleto la rana que salta siempre es la misma y no está la parte en la que el burro dice si el usuario ganó o no.

Les damos unos minutos a los alumnos para que realicen la siguiente consigna:

Modificar el código para que no salte siempre la primera rana.

  1. Demostración y análisis:

Preguntamos a los alumnos si alguno pudo encontrar la manera de realizar esto. Es posible que nos encontremos con los posibles escenarios:

  1. Exploración y Producción:

Damos unos minutos para que los alumnos exploren la herramienta ya que ahora queremos agregar la parte en la que el burro dice si el usuario ganó:

¿Cómo podemos hacerlo?

  1. Demostración:

Si algún alumno logró realizarlo le pedimos que nos ayude a explicar cómo hacerlo al resto de los compañeros. Necesitamos que el burro diga algo diferente dependiendo si el usuario ganó o no, es decir, si el número que ingresó es igual o no al número de la rana que salta. Tenemos una condición para realizar una acción u otra. Esto podemos hacerlo en alice con la sentencia “Si/Si no” (o “If/Else”).

  1. Reflexión:

Hacemos un breve recorrido por la actividad y recuperamos los conceptos trabajados. Expresamos la incorporación de los mismos en la animación de cada grupo. Para finalizar la actividad, cada grupo ofrecerá su animación a otro grupo para que el mismo sea valorado por medio de la grilla de reflexión.

Criterio

Agrega algunos detalles (personajes, escenario, objetos) a su animación.

Avanza en su animación utiliza algunas de las ideas trabajadas hoy.

Avanza en su animación e integra lo aprendido hoy a saberes aprendidos en otras clases.

Explora la plataforma y descubre por sí solo una nueva función.

Utiliza comentarios en el código  para hacer comprensible la lectura del mismo. Si otra persona ve tu código puede entenderlo.

Incorpora en su animación variables con números aleatorios.

Puntuación

Entre 0% y 40%: Es necesario explorar más la herramienta.

Entre 41% y 69%: Buen trabajo. Necesitás un poco más de tiempo.

Entre 70% y 100%: Muy bueno lo tuyo! Has completado excelentemente la tarea de hoy.


Actividad 11: Ciclos (Fundamental)

Resumen y Propósito de la Actividad:

En esta actividad trabajaremos las nociones de iteración, ciclos, contador y mientras. También se repasará las nociones de condicional y variable. La actividad se realizará a través de la elaboración de una animación de un partido de volley.

Conceptos de Ciencias de la Computación:

Referencias y Recursos:

  1. Motivación y recuperación de ideas previas:

Presentamos a los alumnos la animación prearmada. La misma consta de dos personas que están jugando al volley. Les proponemos la siguiente actividad:

“Queremos crear una animación en la cual los personajes se den una serie de pases consecutivos jugando al volley. ¿Cómo hacemos para que cada uno de 5 pases?¿Y 10?¿Y 20? ”

Damos un tiempo a los alumnos para que exploren la herramienta y traten de resolver la actividad.

  1. Demostración:  

Preguntamos a los alumnos cómo les fue con la actividad. La mayoría de los alumnos nos dirán que tuvieron que utilizar un montón de instrucciones para llevar a cabo la animación. Y mientras más pases tuvieran que hacer los personajes, más instrucciones deberían agregar.

Luego les decimos:

“Nos creen si les decimos, que sin importar la cantidad de pases que realicemos,

con tan solo tres instrucciones podemos resolver el problema.”

Para ello utilizamos la construcción repetir. La misma se encuentra en la parte inferior de la sección de edición de código. Luego, cuando arrastramos repetir, debemos de asignar la cantidad de veces que queremos que se repitan las instrucciones que colocaremos dentro de la construcción.

Para poder resolver la actividad propuesta, tenemos que definir primero, la cantidad de pases que queremos que de cada jugador. Luego, debemos introducir las instrucciones que queremos que se repitan, que serían de manera sintética, mover la pelota desde el jugador 1 hacia el jugador 2 y viceversa.

Repetir hace referencia a un concepto muy importante de las Ciencias de la Computación, la iteración. El mismo alude a la la repetición de una serie de instrucciones que necesitamos repetir una cierta cantidad de veces. En la mayoría de los lenguajes de programación, la construcción repetir es representada por el ciclo for.

  1. Exploración y Producción:

Aprendimos un concepto muy importante en Ciencias de la Computación como lo es la iteración. Como vimos para poder llevarlo a cabo en Alice, utilizamos la instrucción repetir, pero no es la única manera.

¿Se animan a explorar la herramienta y tratar de resolverlo de otra forma?

  1. Demostración:

Preguntamos a los alumnos si han podido resolver la actividad. En el caso en que hayan podido, les pedimos que expliquen lo que han realizado.

Para poder llevar a cabo la actividad anterior sin utilizar la construcción repetir, podemos usar la construcción mientras. Recordemos que la misma se encuentra en el sector inferior del sector de edición de código. Observamos que cuando arrastramos la misma hacia el sector de edición de código, debemos colocar una condición como cuando utilizamos los condicionales. En este caso la condición nos indicará cuando se deben de dejar de ejecutar las instrucciones que forman parte del bloque mientras, es decir, que cuando la condición deseada se deje de cumplir, no se ejecutarán más esas instrucciones.

Ahora pensemos la condición que necesitamos para resolver nuestra actividad. El ciclo deberá finalizar cuando ambos jugadores hayan realizado la cantidad de pases que se necesiten. Podemos notar que necesitamos algo que nos indique cuantos pases van dando ambos jugadores. Preguntamos a la clase:

“¿Qué concepto de las Ciencias de la Computación que hemos aprendido nos permite guardar información que nos interese?”

Retomamos el concepto de variable, ya que precisamos de la misma para poder ir guardando el valor de la cantidad de pases que vamos dando. De esta manera podemos pensar como posible condición de la estructura mientras a: “mientras la cantidad de pases que tengo que dar sea distinta a la cantidad de pases que dí” sigo ejecutando las instrucciones del ciclo. Esta condición la podemos expresar en Alice como contador_de_pases != pases_a_dar. Ahora lo que debemos pensar es como ir actualizando el valor de la variable contador_de_pases. Como podemos ver cada vez que se ejecuten los dos movimientos de la pelota debemos de incrementar el contador_de_pases en uno.

Cómo podemos ver los contadores forman parte de nuestra vida cotidiana. Cuando vemos un partido de fútbol tenemos dos variables contadores las cuales se modifican cuando alguno de los dos equipo mete un gol.

  1. Reflexión :

En el cierre del encuentro, consultaremos si ha quedado alguna duda. Se dará tiempo para que los grupos ofrezcan su animación a los compañeros, quienes valorarán su trabajo por medio de la grilla de reflexión.

Recordemos que la valoración de los propios pares contribuye a enriquecer su propio trabajo.

Criterio

Agrega algunos detalles (personajes, escenario, objetos) a su animación.

Avanza en su animación utiliza algunas de las ideas trabajadas hoy.

Avanza en su animación e integra lo aprendido hoy a saberes aprendidos en otras clases.

Explora la plataforma y descubre por sí solo una nueva función.

Utiliza comentarios en el código  para hacer comprensible la lectura del mismo. Si otra persona ve tu código puede entenderlo.

Logra que con menos de 5 instrucciones en la animación se repitan los pases de volley al menos 5 veces.

Puntuación

Entre 0% y 40%: Es necesario explorar más la herramienta.

Entre 41% y 69%: Buen trabajo. Necesitás un poco más de tiempo.

Entre 70% y 100%: Muy bueno lo tuyo! Has completado excelentemente la tarea de hoy.


Actividad 12: Ciclos (Complementaria)

Resumen y Propósito de la Actividad:

En esta actividad, continuaremos trabajando con el juego de la rana definido en la Actividad 11 y se irán agregando complejidades al mismo para presentar las nuevas funciones.Repasamos los conceptos de iteración y ciclos.

Conceptos de Ciencias de la Computación:

Referencias y Recursos:

  1. Motivación y recuperación de ideas previas:

Haremos referencia a la actividad anterior donde los alumnos vieron cómo usar en Alice número aleatorio y condicional. Repasamos estos conceptos. Luego continuaremos trabajando con el juego de la rana.

  1. Exploración y Producción:

        

Les presentamos a los alumnos la consigna, diciéndoles que vamos a hacer una modificación al juego:

Queremos que si el usuario pierde, entonces el juego se repita, es decir, que se vuelva a elegir una rana al azar y el usuario pueda ingresar un número para adivinar qué rana saltará. Si el usuario gana, el juego termina. Si el usuario no ganó ¿puede seguir jugando?¿Cómo podemos lograrlo?

  1. Demostración:  

Rescatando las intervenciones de los alumnos planteamos que para poder poder repetir una serie de acciones mientras suceda algo, tenemos que usar la instrucción while  (en castellano mientras). En la misma tenemos que decir qué tiene que suceder para que se sigan repitiendo las acciones. En nuestro caso queremos que se repita el juego si el usuario no ganó, es decir, si su respuesta es diferente de la rana sorteada.

  1. Producción:

Ahora destinamos unos minutos del encuentro para que los alumnos avancen en sus producciones: no solamente para que incorporen los nuevos conceptos, sino también para que hagan una revisión sobre la trama con la que vienen trabajando, ya que es probable que vayan realizando modificaciones sobre la idea original.

  1. Reflexión:

Proponemos que dos o tres grupos (de acuerdo al tiempo que tengamos disponible) compartan sus creaciones con los compañeros y éstos deberán estar atentos para luego hacerles una devolución sobre lo que vieron[9]. Pueden ser comentarios o sugerencias sobre:

Los últimos minutos del encuentro estarán destinados a que cada grupo nos pregunten las dudas que tienen. También, se dará tiempo para que los grupos ofrezcan su animación y, así, sus compañeros podrán valorar su creación por medio de la grilla de reflexión[10].

Criterio

Agrega algunos detalles (personajes, escenario, objetos) a su animación.

Avanza en su animación utiliza algunas de las ideas trabajadas hoy.

Avanza en su animación e integra lo aprendido hoy a saberes aprendidos en otras clases.

Explora la plataforma y descubre por sí solo una nueva función.

Utiliza comentarios en el código  para hacer comprensible la lectura del mismo. Si otra persona ve tu código puede entenderlo.

Logra incorporar la instrucción while.

Consigue que el juego tenga más de 2 intentos.

Puntuación

Entre 0% y 40%: Es necesario explorar más la herramienta.

Entre 41% y 69%: Buen trabajo. Necesitás un poco más de tiempo.

Entre 70% y 100%: Muy bueno lo tuyo! Has completado excelentemente la tarea de hoy.


Actividad 13: Eventos (Fundamental)

Resumen y Propósito de la Actividad:

En esta actividad explicaremos el concepto de Evento, y su importancia en el mundo de la computación. Luego propondremos que los chicos sigan trabajando en sus producciones, aplicando todos los conocimientos que hayan visto durante el curso.

Conceptos de Ciencias de la Computación:

Referencias y Recursos:

                

  1. Motivación y Repaso :

Empezamos la clase mostrándoles a los chicos una animación de un tiro penal[11]:

El jugador siempre patea hacia la derecha, mientras que el arquero, vuela hacia la izquierda o derecha.

El juego incompleto que les pasamos tiene varios métodos, variables, dummy objects, hacer cosas a la vez, números aleatorios, todo interactuando para poder hacer que un personaje patee un penal y que otro sea el arquero que se tira a uno u otro lado. El método más importante es “patear”.  

Estaría buenísimo poder elegir nosotros hacia donde pateara el jugador y que no siempre patee hacia la derecha:

¿Se animan a hacerlo?

  1. Exploración y Producción:

Preguntamos a la clase si se les ocurre como hacer para elegir nosotros en el momento hacia donde va a patear el jugador el penal. Tomamos todas las ideas, y en el caso en que haya algún grupo que lo haya descubierto pedimos que explique a todos[12].

  1. Demostración:

Lo importante aquí es que la animación se queda esperando a que el usuario realice una acción, esto en computación se conoce como “programación dirigida por eventos”.

“Los computólogos programamos mucho bajo este tipo de idea. Pensemos un ratito y nos vamos a dar cuenta que los programas que usamos o hasta las mismas páginas de internet funcionan de esta manera. Los videojuegos se basan en eventos para mover personajes y dependiendo de lo que realicemos lo que sucede. Si nos ponemos a pensar hasta el famoso Candy Crush que muchos jugamos en Facebook depende de los eventos que generemos con nuestro mouse”.

Les mostramos a los chicos como se utilizan los eventos en Alice y las ventajas de los mismos para realizar videojuegos.

  1. Exploración y Producción:

Utilizando la animación prearmada del penal, les pedimos que utilicen algún Evento para poder elegir ellos mismos hacia donde patear.

  1. Reflexión :

Dejamos a los chicos que sigan trabajando en sus producciones, tratando de que apliquen en las mismas todos los conceptos vistos, en particular algo con Eventos.

Para finalizar la actividad, cada grupo ofrecerá su animación a otro grupo para que el mismo sea valorado por medio de la grilla de reflexión.

Criterio

Agrega algunos detalles (personajes, escenario, objetos) a su animación.

Avanza en su animación utiliza algunas de las ideas trabajadas hoy.

Avanza en su animación e integra lo aprendido hoy a saberes aprendidos en otras clases.

Explora la plataforma y descubre por sí solo una nueva función.

Utiliza comentarios en el código  para hacer comprensible la lectura del mismo. Si otra persona ve tu código puede entenderlo.

Logra que el usuario elija a donde patea el jugador.

Puntuación

Entre 0% y 40%: Es necesario explorar más la herramienta.

Entre 41% y 69%: Buen trabajo. Necesitás un poco más de tiempo.

Entre 70% y 100%: Muy bueno lo tuyo! Has completado excelentemente la tarea de hoy.


Actividad 14: Producciones Motivadoras (Complementaria)

Resumen y Propósito de la Actividad:

En esta actividad nos enfocamos en alistar las producciones para presentarlas en algún evento o exposición que se realizará en las  distintas escuelas de la ciudad de Córdoba. Al comienzo, se les pedirá a los alumnos que retomen sus producciones y se les dará tiempo para que produzcan en el aula. Luego, se mostrarán los avances de las producciones entre sus compañeros y se buscará sugerencias. Al final de la actividad se les mostrarán videos de jóvenes estudiantes que pasaron por su misma experiencia en la producción de animaciones con Alice.

Referencias y Recursos:

  1. Motivación y Repaso:

Al comienzo se les pide a los alumnos que retomen sus producciones y que avancen en su desarrollo para luego exponerla entre sus compañeros. En esa exposición se les pedirá que repasen los conceptos que aplicaron en su animación o videojuego[13].

Una vez finalizada la etapa de producción y proyección de las animaciones les preguntamos a los alumnos:

Cuando queremos ir al cine, ¿cómo elegimos qué película ver?[14]

Teniendo en cuenta las intervenciones de los alumnos, los invitamos a elaborar la ficha técnica y la sinopsis sobre sus producciones, lo cual permite avanzar en el desarrollo de la animación o videojuego. Para eso es necesario completar la siguiente ficha:

  1. Producción y Exploración:

Se da un tiempo para que los alumnos trabajen en la Plataforma Alice con la ficha técnica que han elaborado.

  1. Demostración:

Una vez avanzadas las producciones se les pedirá que las muestren desde el proyector para que puedan compartir sus producciones e intercambiar sugerencias[15].

4.  Reflexión:

Se les mostrará a los alumnos videos de estudiantes secundarios que en los años 2012 y 2013 participaron de Dale Aceptar y cuentan sus experiencias para motivarlos a que ellos también puedan producir su animación. .

Para finalizar la actividad, cada grupo ofrecerá su animación a otro grupo para que el mismo sea valorado por medio de la grilla de reflexión.

Criterio

Agrega algunos detalles (personajes, escenario, objetos) a su animación.

Avanza en su animación utiliza algunas de las ideas trabajadas hoy.

Avanza en su animación e integra lo aprendido hoy a saberes aprendidos en otras clases.

Explora la plataforma y descubre por sí solo una nueva función.

Utiliza comentarios en el código  para hacer comprensible la lectura del mismo. Si otra persona ve tu código puede entenderlo.

Completa la ficha de sinopsis propuesta.

Puntuación

Entre 0% y 40%: Es necesario explorar más la herramienta.

Entre 41% y 69%: Buen trabajo. Necesitás un poco más de tiempo.

Entre 70% y 100%: Muy bueno lo tuyo! Has completado excelentemente la tarea de hoy.


footer.jpg


[1] El propósito de esta actividad es que surja la necesidad de hacer una “marca” hacia donde el personaje se mueve. Seguramente algún alumno logrará hacer mover el personaje con cierta imprecisión y entonces surge la necesidad de utilizar los dummy objects.

[2] Siempre con la intención de que los alumnos puedan dar cuenta de su propio aprendizaje y que el docente pueda  tener una interacción más cercana con ellos.

[3] La traducción de Alice para la función de dummy objects es muy mala. En la versión Rebeca figura como “poner muñeco en objeto”, en la traducción de Alice figura como “dejar caer maniquí en objeto”.

[4]  En este momento de la actividad, los docentes visitan los grupos para orientar a los alumnos y regular la actividad; a su vez, incentivan a los estudiantes que resuelven primero las actividades a colaborar con sus pares.

[5]Es importante que el docente le recuerde a sus alumnos que la variable debe ser representativa, es decir, que tenga un nombre relacionado a su contenido.

[6] En este momento el rol del docente es visitar los grupos y orientar el aprendizaje con preguntas. Eviten decirles a los alumnos qué tienen que hacer. El objetivo de este segmento es justamente la exploración de la plataforma.

[7] La intención es que los alumnos colaboren, no sólo con su grupo productor, sino con sus propios compañeros, algo que es propio de los equipos que desarrollan software (trabajo colaborativo).

[8] Este momento es oportuno para que el docente remarque la importancia de que el nombre de la variable debe tener relación con lo que guarda la misma.

[9] El objetivo de este momento es que se enriquezca el trabajo con la colaboración, no sólo de su grupo productor, sino de sus compañeros de curso.

[10] Recordemos que la valoración de los propios pares contribuye a enriquecer su propio trabajo.

[11] Todos deberán de tener la animación pre-armada del penal, para poder modificarla a posterior.

[12] Como venimos reiterando en las actividades anteriores, éste es un momento en donde tenemos que resaltar la participación y colaboración de los alumnos.

[13] Vamos rescatando las ideas de los chicos, con la intención que se den cuenta lo que ellos mismos ya han aprendido. Recordar mantener el minuto de silencio de espera en las preguntas.

[14] se pretende que los propios alumnos identifiquen los elementos de ficha técnica y la sinopsis.

[15] En este momento, el docente podrá identificar que algunos grupos presentan mayores fortalezas que otros, lo cual le permitirá proponer (en diferentes momentos o en futuras actividades) ayuda entre pares, es decir, que un grupo ayude a otro.