Convocatoria para docentes de secundaria: ITiCSE 2015

Este año el equipo de investigación formado por la Universidad Rey Juan Carlos y Programamos estará en un grupo de trabajo de la 20ª Conferencia Anual sobre Innovación y Tecnología en la Educación Informática, ITiCSE 2015.

¿Qué investigan?

Las investigaciones de dicho grupo se centran en la programación informática en la educación. Defienden que en todo ciclo de desarrollo debe haber una etapa de evaluación de consecución de objetivos. Y, ¿no es la educación una forma de desarrollo? Por ello consideran necesario inculcar en la educación la necesidad de herramientas que evalúen el conocimiento adquirido para facilitar su evolución y maximizar la obtención de objetivos, además de poder observar los posibles problemas que se den en el aprendizaje dentro del aula.

¿En qué están trabajando?

Se han planteado como objetivo crear un repositorio de ejercicios que sirva como material en pruebas de acceso a la universidad, tests de aptitud, pruebas formativas y evaluaciones de competencia.

La novedad es que quieren que el repositorio sea realizado con contribuciones y colaboraciones de docentes de todo el mundo. Se anima a cualquier docente de secundaria de informática, matemáticas, tecnología y ciencias, que quieran contribuir al proyecto a enviar al menos una pregunta que pudiera ser incorporada al repositorio.

¿Te gustaría colaborar?

Para participar debes rellenar este formulario de inscripción antes del 30 de junio de 2015. Posteriormente se solicitará a los docentes inscritos que envíen un conjunto de preguntas (al menos una pregunta) siguiendo un formato común. Las preguntas podrán ser enviadas hasta el 30 de septiembre.

Toda la información sobre la convocatoria está publicada tanto en español como en inglés.

URJC         programamos

Taller de Dr.Scratch en el CEIP Gonzalo Fernández de Córdoba

El pasado jueves 18 de junio Dr.Scratch quiso estar en las I Jornadas Robotizando el Gonzalo, las cuales fueron todo un éxito. Fue muy bonito y motivador ver a tantos niños interesados en programación y robótica, todo gracias al inmenso trabajo e ilusión puesto por todo el claustro de profesores, su directora y en especial el coordinador de TIC Chema Gonzalez. Por si no fuera poco además pudieron aprender conceptos de electricidad gracias a @microlog.


taller1     taller2Gonzalo

El equipo de Dr.Scratch realizó dos talleres con alumnos de 4º de primaria. En el primero de ellos prácticamente todos sabían programar en Scratch y les presentamos Dr.Scratch para que lo utilizaran ellos mismos sin ningún tipo de guía y poder observar qué aspectos les resultaban más difíciles y cuáles les gustaban o sorprendían.

Señalar que para este taller quisimos probar unas nuevas pantallas más simplificadas que les mostraran la información más sencilla y observamos que les ayudaban a entender la finalidad de Dr.Scratch, ¡mejorar sus habilidades como programadores!

taller    taller2

En el segundo taller el número de alumnos que conocían Scratch era muy reducido, por lo que hicimos una pequeña introducción y propusimos a la clase en general el reto de mejorar  un proyecto realizado por nosotros. Empezamos analizando el proyecto, que obtuvo una puntuación de 14 puntos y la dinámica fue bastante divertida, todos se sintieron integrados en el proyecto, a los que les gustaba más la lectura salían voluntarios para leer la información aportada por Dr.Scratch para mejorar y aprender más, entonces se les pedía que explicaran con sus palabras lo que se había leído y que pusieran ejemplos de cómo ellos mejorarían ese proyecto con lo que habían entendido, ¡y hubo ideas realmente buenas! Los más inquietos y valientes se atrevían a ponerlo en práctica cambiando los bloques del proyecto en Scratch. Y así, entre todos, consiguieron entender el objetivo y subieron la puntuación del proyecto hasta 18, ¡de nivel medio a alto en media hora!

A todos los alumnos se les entregó el certificado de asistencia al taller además de unas pegatinas de Dr.Scratch intentando motivar que continúen mejorando y aprendiendo.

Pegatinacertificado

Agradecer al CEIP Gonzalo Fernandez de Córdoba su acogida, trabajo e ilusión, además del detalle que nos regalaron al finalizar los talleres, el cual nos encantó, nuevamente muchísimas gracias. Continuad así, estáis dándole a vuestros alumnos las mejores oportunidades posibles.

Habilidades de programación: Interactividad con el usuario

Si la depuración es el proceso de eliminar errores, entonces la programación debe ser el proceso de introducirlos. Edsger Dijkstra

Uno de los aspectos que nos ayudan a crear programas más divertidos y entretenidos, es la interactividad con el usuario, ya que le permite sentirse parte del videojuego, historia o proyecto que estemos creando. Así podrá participar en que el videojuego funcione de un modo u otro e incluso escribir la historia.

Pero como todos sabemos, programar no es fácil y anticiparse a lo que el usuario hará, tampoco lo es, por lo que hay que pensar previamente qué cosas queremos dejar elegir a la persona que vaya a interactuar con nuestro programa y evitar así que se produzcan errores.

Al final verás que el esfuerzo merece la pena. ¡Ver a  alguien utilizar tu programa y que interactua con él es una de las mejores sensaciones que puede tener un programador! Así que vamos a empezar a ver bloques de Scratch que te permitan desarrollar este aspecto.

  • En primer lugar, el bloque más sencillo que puedes utilizar es “Al presionar la bandera verde”.

Interactivity1

Cuando el usuario que quiere ejecutar tu proyecto Scratch pinche en la bandera verde, comenzarán a ejecutarse todos los bloques que se hayan colocado bajo el bloque “al presionar la bandera verde”. Puedes tener tantos programas como necesites que comiencen con este bloque.

  • Para complicarlo un poco, puedes utilizar un montón de bloques sencillos, algunos son los siguientes:

Interactivity2

Como ves, es posible permitir a los usuarios interactuar con tus personajes, por ejemplo, presionando teclas para que estos se muevan, escribiendo respuestas a preguntas y que tus personajes usen las respuestas del usuario para crear historias interactivas, mover a los personajes con el ratón, o realizar acciones cuando el usuario pincha sobre un objeto.

  • Una de las posibilidades más divertidas de Scratch en cuanto a la interactividad con el usuario es la posibilidad de que el usuario pueda utilizar su webcam o el micrófono para interactuar con los personajes de Scratch o el sonido para provocar ciertas acciones. ¿Cómo podemos hacer esto? Observa los siguientes ejemplos:

Interactivity3

¿Has visto? Podemos hacer que ciertos conjuntos de bloques se ejecuten cuando el sonido ambiente capturado por el micrófono sea mayor que un determinado umbral, o cuando se produce movimiento del vídeo encima de un objeto o del fondo. Las posibilidades de estos bloques son muy grandes y permitirán que tus creaciones Scratch sean totalmente interactivas con los usuarios.

Cuando tengas tu programa puedes compartir la url aquí, estaremos encantados de verlo y darte nuestra opinión. ¡Manos a la obra!

Habilidades de programación: Pensamiento lógico

El pensamiento lógico es indispensable a la hora de programar, ya que nos permite reconocer el problema que queremos solucionar, buscar una solución que podamos programar y analizar las salidas que obtengamos para formarnos conclusiones.

Un programa no siempre se comportará del mismo modo en todas las situaciones, sino que mostrará unas salidas diferentes según las entradas o la interacción que realice en ese instante con el entorno (si es que utiliza sensores). Por ello, es muy importante poder anticiparnos y programar un código que tenga en cuenta todas estas situaciones. Aquí es donde entra en juego el pensamiento lógico. Cuanto más desarrollada tengas esta capacidad, tu programa hará más a menudo lo que pensabas que haría.

Algunos de los bloques de Scratch que puedes utilizar para ayudarte a desarrollar esta habilidad son los siguientes:

  • Si estás empezando, comienza con:

Logic1

El bloque “si” <condición> “entonces” permite indicar al flujo del programa si deben ejecutarse ciertos bloques de código o no. Es decir, si se cumple la condición entonces se ejecutarán los bloques que están dentro del si. En el ejemplo, si el personaje está tocando el color azul dirá “Llegué a la meta”.

  • Una vez superado el bloque anterior puedes atreverte con el siguiente:

Logic2

Aquí además de tener bloques si  se cumple la condición, también tenemos bloques si esta no se cumple. Es decir, dentro del “si” irán los bloques que queramos que se ejecuten si la condición se cumple y dentro del “si no” indicaremos qué bloques deben ejecutarse si no se cumple la condición.

En el ejemplo, si el personaje está tocando el color azul dirá “Llegué a la meta”, pero mientras no lo esté tocando dirá “Aún no he llegado a la meta”.

  • Para alumnos muy avanzados se propone entender y poner en práctica los siguientes bloques:

Logic3

Prácticamente todos los bloques los conoces, excepto a lo mejor los de color verde, ya que son los más avanzados. Hay tres que vamos a explicar por separado:

  1. La operación Y: esta condición se cumplirá si ocurren las dos cosas simultáneamente. Si nuestro personaje está tocando al enemigo “y además” el número de vidas es 0 será el “Fin de la partida” y todo se detendrá.
  2. La operación O: la condición será verdadera cuando alguna de las dos que la forman se cumplen. En este caso, si nuestro personaje está tocando el borde “o” tocando al enemigo se le quitará una vida.
  3. La operación NO: lo que hace es evaluar la condición y devolver lo contrario, si la condición se cumple devolverá que no se cumple y viceversa. Ahora veremos si hemos llegado al final del juego o no viendo en qué nivel estamos, si el nivel en el que estemos es diferente de 5, la condición igual será falsa, pero “no” se encarga de hacerla verdadera y así podremos ver el mensaje “Aún te quedan niveles por descubrir”.

Estos bloques son los más importantes que hemos visto ya que son los que aportan la lógica a tu programa.Te animamos a que los pruebes y si tienes dudas nos las indiques, estaremos encantados de ayudarte.

¡Utilízalos de la forma más inteligente posible para desarrollar tu pensamiento lógico al máximo!

Habilidades de programación: Control de flujo

El ordenador no es una máquina inteligente que ayuda a gente estúpida, de hecho, es una estúpida máquina que funciona sólo en manos de gente inteligente. Umberto Eco

Todo programa o proyecto de Scratch sigue un flujo de ejecución.

¿Qué es un flujo de ejecución?

Si te lo has preguntado al leerlo, el flujo de ejecución de tu programa es el orden en el que tus personajes realizan las distintas acciones, por ejemplo, moverse en una dirección primero, decir hola después y para acabar cambiando de disfraz.

Y es muy importante que nosotros controlemos el flujo del programa para saber perfectamente qué esta haciendo en cada momento y así nuestros personajes no empiecen a comportarse de forma “rara” debido a que realmente no estamos programando bien.

¿Cómo puedo controlar el flujo de mi programa en Scratch?

  • Nivel básico: El flujo de ejecución más sencillo será aquel en el que primero se realizará una acción (en lenguaje de programación, instrucción), más tarde se ejecutará otra instrucción y después otra… así hasta llegar al final de nuestro programa. A continuación tenemos un ejemplo:

Flow1

Podemos ver que cuando el usuario presione sobre la bandera verde se ejecutarán un bloque detrás de otro y así todos los bloques que se han incluido en el programa. Comenzará por el primero y dirá “Soy un gato que baila” durante 2 segundos, luego ejecutará “mover 10 pasos”, a continuación “girar 15 grados a la derecha”, y así hasta llegar al último bloque del programa.

  • Nivel medio: Algo más avanzado es utilizar lo que en programación se llaman estructuras de control, que en Scratch son los bloques de control de color ámbar. Si los observas uno a uno, todos ellos hacen que el flujo de tu programa cambie de algún modo.

Algunos de estos bloques de control nos ayudan si queremos que otros bloques se repitan varias veces. Intenta adivinar en los siguientes ejemplos, cuál se repetirá 3 veces y cuál para siempre.

Flow3Flow2

¡EXACTO! El programa de la izquierda estará ejecutando dos bloques por siempre, mientras que el bloque de la derecha ejecutará varias instrucciones 3 veces y entre algunos bloques esperará 0.5 segundos. Trata de buscar código que se repite en tu programa y utilizar este tipo de bloques.

  • Nivel alto: Si tu programa es más complicado, te encontrarás con el problema de no saber exactamente qué número de veces se deben repetir algunos bloques, sino que querrás que se repitan hasta que ocurra algo. Aquí te mostramos un ejemplo que puede resultarte de ayuda.

Flow4

Con esto conseguimos que el personaje diga “No me pillas…” hasta que toque al personaje llamado Enemigo, entonces dejará de repetir y dirá “Me pillaste!”.

Estos bloques pueden ser los más difíciles de entender, así que trata de avanzar poco a poco y con paciencia. Pero realmente aquí se encuentra gran parte de la lógica de la programación, entonces es muy importante que aprendas a utilizarlos. Y ya sabes, si tienes alguna duda o problema, no dudes en dejar un comentario y trataremos de ayudarte.

El equipo de Dr.Scratch

Habilidades de programación: Paralelismo

Divide y vencerás. Julio Cesar

Los ordenadores siempre hacen lo que nosotros les decimos que hagan, aunque muchas veces parezca que no. Además, son capaces de realizar muchas acciones en poco tiempo, incluso pueden realizar varias a la misma vez. Lo difícil viene cuando tenemos que solucionar un problema muy complicado, aquí es cuando es una buena práctica utilizar el “divide y vencerás”. Hacemos que nuestro gran problema se divida en otros más pequeños. Pero esto ya lo vimos en la entrada de Abstracción.

Entonces… ¿qué es el paralelismo? 

Es tener la posibilidad de hacer que nuestro programa realice varias acciones a la vez.

Para entendernos, un ejemplo puede ser que dos personajes se muevan al mismo tiempo. Esto se resolvería en primer lugar, dividiendo el problema inicial en dos problemas separados:

  1.  Consigo que el primer personaje haga un movimiento.
  2.  Programo al segundo personaje para que haga otro movimiento.

Y ahora viene la parte del paralelismo, hacemos que ambos hagan sus movimientos a la vez.

¿Cómo puedo conseguir esto en Scratch?

  • Nivel básico: la forma más fácil de hacer que dos acciones ocurran a la vez, es que cuando pulsamos la bandera verde (que es cuando comienza el programa a ejecutarse), ocurran dichas acciones.

En nuestro ejemplo, que los dos personajes se muevan cuando pulso la bandera verde. Por lo tanto, tendremos dos personajes y cada uno tendrá el bloque de evento siguiente:

Paral1

Y por debajo los bloques de movimiento que queramos que hagan nuestros dos personajes.

  •    Nivel medio: sabemos que en Scratch hay muchos bloques de eventos. Así que otra forma de conseguir paralelismo puede ser que ocurran cosas cuando presionamos una tecla, consiguiendo que nuestros personajes realicen acciones de forma paralela (aplicando el concepto de paralelismo).

Un ejemplo puede ser que nuestros dos personajes digan “A” al mismo tiempo durante 2 segundos al presionar la tecla a, lo cual se consigue con los siguientes bloques:

Paral2       Paral3

  • Nivel alto: hay muchos más bloques de eventos que nos ayudan a conseguir que en nuestro programa ocurran acciones de forma paralela. Entre ellos tenemos:

Paral5

Pero la idea es básicamente la misma, colocar alguno de estos bloques en los dos personajes que queramos que hagan acciones a la vez y por debajo de ellos poner los bloques que describan las acciones de dichos personajes.

Lo más divertido de Scratch es que puedes conseguir que los objetos (tus personajes) que incluyes en tu proyecto hagan tantas acciones como quieras, muchas de ellas a la vez aplicando paralelismo. Lo que hemos mostrado aquí son simples ejemplos. Así que, te animamos a que intentes realizar todas las ideas que se te ocurran y si en algún momento no sabes llevarla a cabo en Scratch no dudes en dejar tu comentario y trataremos de ayudarte.

El equipo de Dr.Scratch

Taller de Dr.Scratch en CEIP Lope de Vega

El jueves 9 de abril, se realizó en el colegio CEIP Lope de Vega un taller con 25 alumnos de 5º de primaria. El objetivo de dicho taller era presentarles la herramienta Dr.Scratch y observar cuál era el uso que realizaban de ella.

Los alumnos dirigidos por Jorge Lobo están muy familiarizados con Scratch, por lo que fue un grupo estupendo para realizar el taller. Jesús Moreno procedió a explicarles la finalidad de la herramienta y les indicó que les entregaríamos unas encuestas que tenían que contestar lo más sinceramente posible, las cuales eran anónimas.

17080954486_af5698c33f_o16484467424_05b8638009_o

Sin más rodeos, todos ellos se pusieron manos a la obra, algunos incluso habían accedido a la página de Dr.Scratch antes de indicárselo (las nuevas generaciones vienen pisando fuerte). La aceptación de la página principal de Dr.Scratch fue generalizada y empezaron a analizar uno de sus videojuegos programados por ellos mismos con anterioridad.

En cuanto los resultados de los análisis se fueron mostrando en pantalla, empezaron los primeros comentarios entre ellos, preguntándose qué nota habían sacado, qué iban a contestar en la siguiente pregunta de la encuesta, qué iba a hacer su compañero ahora… Los compañeros que entendían cuál era el siguiente paso ayudaban a los que tenían más cerca instintivamente y poco a poco fueron avanzando y conociendo la herramienta.

17105389452_cb5ce9fbaa_o16919345680_ca4a82bb9f_o

Lo más gratificante del taller y que queremos compartir, fue conseguir que algunos de los alumnos tratasen de mejorar sus habilidades programando, por el  hecho de querer sacar una mayor puntuación. Al principio, la nota generalizada era de nivel medio y prácticamente todos tenían su nivel alto al finalizar el taller. Mencionar el caso de una niña que empezó con un 10 y terminó con un 18, además de ver en su forma de expresarse que le había encantado la experiencia.

IMG_20150409_110626969_HDR

Cuando conseguían mejorar su nota en el proyecto de Scratch se les entregaba un certificado de asistencia al taller y unas pegatinas de la herramienta para agradecer su ayuda al desarrollo de Dr.Scratch con sus opiniones y permitiéndonos tomar nota de sus necesidades.

16919128128_de6bfd2054_o17105381772_52468671dc_o

Durante todo el proceso el equipo de Dr.Scratch estuvimos de soporte a sus dudas y así  hemos podido observar qué dificultades se encontraban al utilizar la web y con su ayuda poder seguir mejorando. La experiencia ha sido muy enriquecedora y desde aquí queremos dar de nuevo las GRACIAS al profesor Jorge Lobo y a todo el claustro del colegio por su agradable acogida y por tratar de acercar a los alumnos a la programación y la robótica con ideas tan originales. Además de agradecer su colaboración al FECYT, la cual nos permite realizar estas actividades.

Errores comunes al empezar a programar

Cada acto de aprendizaje consciente requiere la voluntad de sufrir una lesión en la propia autoestima. Es por ello que los niños pequeños, antes de ser conscientes de su autoestima, aprenden más fácilmente. Thomas Szasz

Cuando empezamos a realizar cualquier actividad, del tipo que sea, siempre cometemos errores, lo difícil es asumir este hecho para más tarde ponerle solución.

Dr.Scratch nos ayuda en la tarea del aprendizaje de los lenguajes de programación y para ello nos indica algunos de los errores más comunes que varios docentes han observado en sus alumnos a lo largo de sus años de enseñanza en la materia.

errores

Estos errores pueden ser difíciles de entender para personas que están comenzando, somos conscientes de ello y estamos trabajando para tratar de mejorar la herramienta y que sean fácilmente entendibles. Pero mientras tanto os facilitamos unas transparencias realizadas por Jesús Moreno que os ayudarán a entender la finalidad de Dr.Scratch y estos errores tan comunes.

Como siempre podéis hacer cualquier comentario y preguntar toda duda que os surja, estaremos muy contentos de recibirlos.

El equipo de Dr.Scratch

Empezando con Dr.Scratch

En el primer tutorial queremos mostraros la versión Beta de Dr.Scratch, la cual empezamos a desarrollar hace algunos meses y en la que seguimos trabajando.

Próximamente tendremos el vídeo en Castellano, pero podéis pasaros ya por la página para echarle un ojo. ¡La traducción al Castellano de la web ya está! Además, veréis que hemos cambiado la apariencia. ¿Cuál os gusta más?

Nos gustaría, también, poder traducirla a otras lenguas y estamos abiertos a cualquier colaboración. Así que si deseas que tú o tus alumnos aprendan a programar en otra lengua, háznoslo saber escribiendo a drscratch@programamos.es

El equipo de Dr.Scratch

Taller para docentes de Dr.Scratch

El equipo de Dr.Scratch realizó el pasado 27 de febrero un taller en MediaLab Prado con el objetivo de dar a conocer la nueva web a todos los profesores de la Comunidad de Madrid que así lo desearan.

16526491469_759610e9c4_o

El taller fue presidido por el director del proyecto Gregorio Robles, y con la colaboración del resto del equipo trataron de observar los problemas y usos que realizaron los docentes de la aplicación.

El desarrollo consistió básicamente en una presentación de cada uno de los asistentes, donde pudieron expresar por qué les interesa Scratch y cuáles son los usos que quieren realizar del lenguaje con sus alumnos, muchas muy interesantes. Tras ello, se procedió a la división del grupo en dos:

  • Un grupo en el que se realizó una iniciación a Scratch impartida por Eva M. Castro, para aquellos profesores y maestros que no habían utilizado aún el lenguaje de programación.

16525172760_e6a4e1a54e_o

  • El segundo grupo aprendió con la ayuda de Jesús Moreno algunos usos de Scratch más avanzados utilizando vídeo, imagen y sonido.

16525191780_dd3045e659_o16712595155_fdd1bb4cd4_o

Cuando todos los participantes tenían un proyecto creado por sí mismos se les presentó Dr.Scratch para que así pudieran analizarlo y ver qué puntuación obtenían. Además se les otorgó un diploma que certificaba su asistencia al taller.

16090304134_48b3a29795_o

La aceptación de la iniciativa fue sorprendentemente alta, con 31 asistentes muy activos que mostraron un gran interés en todo momento. Y no queríamos perder la oportunidad de darles las GRACIAS desde aquí.

De igual modo, queremos agradecer su colaboración al FECYT y a MediaLab Prado por prestarnos sus instalaciones.

El equipo de Dr.Scratch