Actualización de Dr. Scratch

¡Hola amigos!

Durante estos meses hemos estado trabajando en mejorar la herramienta, hemos hecho talleres en distintos coles  y hemos escuchado vuestras opiniones y sugerencias. A consecuencia de todo ello, hemos realizado muchos cambios que esperamos os gusten y sobre todo, os sea útil (lo hemos hecho con todo el amor del mundo 🙂 ).

Así pues, vamos a repasar todos los cambios que hemos hecho en la web.

  1. Página principal.

Hasta hace poco, si querías cambiar el idioma de la web tenías que hacerlo desde la configuración del navegador. Ahora eso ya no es necesario ya que hemos incluido una bolita del mundo en el que podrás elegir el idioma que desees. Por ahora tenemos traducido Dr. Scratch al castellano, inglés, catalán, gallego y portugués. Pero eso no quedará allí, pronto se incorporarán idiomas como el griego, ruso o chino. Esto promete…

Casi al final de la página principal, hemos incluido tres interesantes botones, estadísticas, colaboradores y blog:

Captura de pantalla 2015-11-27 a las 16.05.48

Pulsando el botón de estadísticas, podrás ver una página donde se mostrará un resumen de todos los proyectos analizados por todos vosotros. Una puntuación media diaria (que se calcula haciendo la media de la puntuación de todos los proyectos analizados ese día), porcentaje de niveles(donde verás el nivel que tiene la mayoría de las personas), número de proyectos analizados ese día e incluso la puntuación media por habilidad de programación y mal hábito en programación.

Pulsando el botón de colaboradores, verás una página donde se mostrarán fotos de aquellos que han ayudado a que Dr. Scratch sea mejor, ya sea traduciendo la web a algún idioma, etc.

Finalmente, hemos incluido un botón que te lleva directamente a este blog, para que no te pierdas nada de lo que hacemos.

2. Organizaciones.

Una opción muy interesante si necesitas evaluar de una tirada un montón de proyectos Scratch es registrarse como una organización. Esta funcionalidad lleva tiempo en marcha pero esta semana hemos incluido unas páginas nuevas que vamos a comentar ahora.

Captura de pantalla 2015-11-27 a las 16.17.31

Lo que veis arriba es la página principal, Análisis,  que veríamos cuando estuviésemos registrados como organizaciones. Consta de dos partes, análisis de un proyecto y análisis masivo. ¡Para que puedas elegir!Captura de pantalla 2015-11-27 a las 16.22.51

Al pulsar sobre el apartado Gráficas, situado en la barra lateral, veríamos unas estadísticas parecidas a las primeras que os he comentado solo que… ¡Son vuestras y de cada uno de vosotros! Totalmente personalizado, podéis ver en qué es mejor y peor vuestra organización para llevar un seguimiento de todos.

Captura de pantalla 2015-11-27 a las 16.25.21

 

 

Si pulsáis sobre el botón Aprende más, se desplegará un menú con todas las habilidades de programación y malos hábitos, para acceder directamente a cada página con información necesaria para saber más de cada  concepto.

 

 

Hemos incluido también una nueva página, Descargas, donde podrás volver a descargar todos los resultados de los CSVs que ya has analizado. Que no se te pierda ninguno…

Captura de pantalla 2015-11-27 a las 16.28.15

Y finalmente, hemos incluido un apartado de Ajustes, para que personalices tu foto o cambies la contraseña:

Captura de pantalla 2015-11-27 a las 16.30.54

 

NOTA: ¿Quieres probar ésta nueva funcionalidad? Mándanos un correo a team@drscratch.org.

3. Dashboards.

Finalmente, hemos hecho algunos pequeños cambios en los Dashboards:

Captura de pantalla 2015-11-27 a las 16.37.07
Nivel básico
Captura de pantalla 2015-11-27 a las 16.36.11
Nivel medio
Captura de pantalla 2015-11-27 a las 16.38.11
Nivel alto

Como podéis ver, hemos reducido aún más la información mostrada, para que la información principal se obtenga en un vistazo. Si has analizado por URL tendrás la opción de volver a tu proyecto en Scratch para seguir editándolo(gracias al profesor que nos lo sugirió en la jornada Figueres de este junio).

Ahora los enlaces a las páginas de ayuda los tenemos a la derecha y hemos incluido algo muy chulo y que esperamos que os encante: ¡diplomas!

¿Has sacado un nivel que te gusta mucho? Ahora puedes enseñárselo a todo el mundo:

Captura de pantalla 2015-11-27 a las 16.38.32
Así de chulo es nuestro diploma 🙂

¡Pues estas son todas las novedades! Esperamos que os haya gustado, que lo probéis y que nos sugiráis nuevas ideas que incluir para que entre todos hagamos un Dr. Scratch mejor.

Saludos,

El equipo de Dr. Scratch.

 

Anuncios

Taller de Scratch: Semana de la ciencia 2015

El pasado 9 de noviembre realizamos un taller muy divertido con unos chicos de 11 y 12 años por la Semana de la ciencia que se celebra en la URJC del 2 a 15 de noviembre. Los chicos venían pisando fuerte con muchísimas ganas de empezar…¡Y nosotros encantados! Así que nos pusimos manos a la obra y les explicamos lo que íbamos a hacer.

En primer lugar realizarían un proyecto en Scratch que consistiera en un laberinto. Empezaron en seguida a hacer el fondo, cada cual más difícil y enrevesado… ¡No querían ponerlo fácil! Cuando ya tuvieron listo su fondo, se pusieron a programar el movimiento de la bola que se movería por el laberinto. Después se atrevieron a poner más y más trampas, interruptores, cronómetro… Un sin fin de ideas brillantes :).

Después teníamos la idea de realizar otro videojuego, pero estuvieron tan entretenidos con su laberinto que cuando lo terminaron completamente, decidimos que era un buen momento para enseñarles Dr. Scratch.

Así pues, les mostramos la herramienta y les animamos a analizar el proyecto que acababan de realizar y para su sorpresa, casi todos tenían una puntuación de 10/21, excepto una niña que sacó 11/21 y que le hizo una inmensa ilusión.

Archivo_008

¡Gracias a todos por haber venido!

Saludos,

El equipo de Dr. Scratch.

Dr. Scratch Contest!

Si, sí, estás leyendo bien… ¡Estamos de concurso!

Buscamos las mejores ideas, con la mejor puntuación en Dr. Scratch y que promueva vocaciones científicas.

¿Qué quiere decir esto? Pues que si tienes una idea chula sobre cómo explicarías algún concepto matemático, físico, químico, etc, con Scratch, ponte ya manos a la obra y… ¡mándanoslo!

¿Quiénes pueden participar?

Todos aquellos alumnos de primaria y secundaria residentes en España (península), con ganas, motivación e imaginación. No importa si no sabes programar en Scratch o nunca has usado Scratch. Empezar es tan fácil como entrar aquí y pulsar en la barra de navegación de arriba el botón “Crear”. ¡A por ello!

¿En qué consistirá?

Aquél que quiera participar en el concurso tendrá que realizar un proyecto de Scratch que explique conceptos matemáticos, físicos, químicos, tecnológicos… La idea es que sea un proyecto científico, porque la ciencia no tiene por qué ser aburrida :). Por ejemplo, ¿se te ocurre una manera genial de explicar el ciclo del agua con Scratch? ¿Algo que nos muestre los planetas del sistema solar? ¿Quizá algo que ayude a entender los productos notables?

Como veis hay infinidad de temas y conceptos que pueden ser tratados de forma interactiva y mucho más divertida con Scratch. Si ya tienes tu idea, analiza tu proyecto en Scratch y trata de mejorarlo hasta que tengas la mejor puntuación que puedas conseguir.

El concurso no lo ganará quien sólo tenga la mayor puntuación en Dr. Scratch, además se valorarán otros aspectos que la herramienta de análisis no cubre.

¿Y los premios?

Vale, pero ahora lo que nos interesa… ¿Qué premio recibirá el ganador?

Pues aquí viene lo mejor… Porque en cada categoría, primaria y secundaria, habrá ganador y finalista. El ganador recibirá un kit de Lego WeDo y el finalista recibirá un MakeyMakey.

Lego WeDo
MakeyMakey

Además, los galardonados recibirán una ayuda para venir a la entrega de premios en Campus Madrid el día 10 de diciembre.

¿Nada mal no? Así nosotros también participaríamos…

¿Cuáles son los pasos para poder participar?

  1. Crea una primera versión de tu proyecto en Scratch.
  2. Regístrate mediante este formulario y envía tu proyecto antes del 19 de noviembre.
  3. Mejora tu proyecto con Dr.Scratch.

¡Participa! Date prisa, sólo hasta el 19 de noviembre. ¡Suerte!

Aquí te dejamos algunas ideas para que te inspires…

Saludos,

El equipo de Dr. Scratch.

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: Sincronización

Los ordenadores son inútiles, solo pueden darte respuestas.

-Pablo Picasso

A veces queremos que nuestro programa siga un orden determinado. Por ejemplo, que tal personaje realice una acción cuando otro ha acabado, y así formando una cadena ordenada de acciones.

¿Qué bloques podemos usar para controlar esto?

Tenemos varios bloques que nos permiten controlar la sincronización. El más básico es el bloque “esperar x segundos”, que nos permite que dos personajes establezcan una conversación. Es importante que el número de segundos en el que tarda uno en hablar sea el mismo que el que el otro espera escuchando.

Captura de pantalla 2015-05-02 a las 20.56.24

Si probamos a analizar este mini-proyecto en Dr.Scratch, vemos que sacamos en la parte de Sincronización la puntuación 1/3. ¿Te parece poco? ¡Pues a mejorar!

¿Y qué mas bloques podemos usar?

Podemos usar el envío de mensajes. Se encuentra en el apartado “Eventos” de color naranja. Este bloque funciona de la siguiente manera: cuando se ejecuta el bloque “enviar [mensaje]” el [mensaje] lo reciben el resto de personajes:

Captura de pantalla 2015-05-02 a las 21.02.33

En el ejemplo de arriba, el personaje del gato envía el mensaje [Pillado] cuando el puntero del ratón le toca, y la mariposa recibe ese mensaje mediante el bloque “al recibir[mensaje]”. Cuando la mariposa reciba el mensaje “pillado” se ejecutará el resto de bloques que tiene debajo.

Vamos a analizar este proyecto…

Captura de pantalla 2015-05-02 a las 21.11.13

¡Ahora tenemos 2/3! ¡Vamos avanzando! ¿Quieres tener la puntuación perfecta? Sigue leyendo…

Espera… ¿pero existen más bloques para controlar la sincronización?

¡Pues sí! Por ejemplo los bloques “esperar hasta que…” (bloques de color amarillo) o “cuando el fondo cambie a…” (bloques de color naranja). Un ejemplo de uso puede ser el siguiente:

Captura de pantalla 2015-05-02 a las 21.15.27

En el primer ejemplo, cuando la ejecución del programa llegue a ese punto se detendrá hasta que se cumpla la condición, en este caso hasta que vidas sea igual a 0. Cuando vidas valga 0, entonces continuará la ejecución del resto de bloques, en este caso “decir Game Over” y“detener todos”, lo que finalizará la ejecución del proyecto. En el segundo ejemplo, en el momento en el que el escenario cambie al fondo con el nombre “Primavera”, el personaje ejecutará los bloques colocados a continuación de la instrucción “cuando el fondo cambia a Primavera”, es decir, que se mostrará y dirá “¡Ha llegado la primavera!”

¿Se te ocurre algún bloque más? ¡Cuéntanoslo!

Saludos,

El equipo de Dr.Scratch.

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

Habilidades de programación: Representación de la información

Cada proyecto Scratch necesita un conjunto de información sobre los personajes para poder ejecutarse correctamente. Por ejemplo, necesitamos conocer la posición de cada personaje, la dirección a la que está apuntando, su tamaño, etc. Además, podemos guardar otro tipo de datos, como el nivel en el que nos encontramos, el tiempo transcurrido, la puntuación, las vidas, las recompensas recogidas…

Cada personaje tiene una serie de características o atributos, que en cada momento de ejecución del proyecto tienen un valor, y que pueden ser modificadas por los programas. Por ejemplo, un personaje tiene un tamaño determinado que puede ser modificado por el bloque “cambiar tamaño por 10”, haciendo que el personaje aparezca un poco más grande. A continuación mostramos la lista de atributos que tiene cada personaje y los bloques que pueden utilizarse para modificarlos:

  • Posición:

DataRep1

  • Tamaño:

DataRep2

  • Orientación:

DataRep3

  • Disfraz:

DataRep4

  • Visibilidad:

DataRep5

Otra manera de representar información es creando nuestras propias variables. Las variables pueden almacenar datos como la puntuación, las vidas que nos quedan o el nombre del usuario. Para crear una variable simplemente tenemos que acceder a la categoría Datos, pulsar “Crear una variable” y darle un nombre:

DataRep6

El programa de la izquierda fija la variable “Puntos” a 0 (lo que en programación se llama inicializar variables) mientras que el programa de la derecha cambia el valor de “Puntos” cuando se toca el color azul.

Otra opción más avanzada que nos permite la categoría Datos es el uso de listas. Las listas almacenan varios valores a la vez.

Para crear una lista vamos a la categoría Datos y pulsamos “Crear una lista”, le asignamos un nombre y vemos que nos aparecen las siguientes opciones para manejar la lista:


opciones-lista

El primer bloque “añade [thing] a [lista]” es bastante intuitivo y lo que hace es poner el elemento “thing” al final de la lista.

El bloque “borrar (1) de [lista]” nos permite borrar el primer elemento de la lista, pero si cambiamos (1) por (último) o por (todo), borraremos el último elemento o todos los elementos de la lista.

El bloque “insertar [thing] en (1) de [lista]” coloca en la posición (1) de la lista el elemento [thing] (moviendo los demás elementos una posición más atrás) pero si cambiamos (1) por (último) o (azar) lo insertaremos al final o en una posición al azar.

El bloque “reemplazar elemento (1) de [lista]” borra el elemento que haya en la posición (1) y coloca en su lugar un elemento [thing].

El bloque “elemento (1) de [lista]” nos devuelve qué hay en dicha posición.

El bloque “longitud de [lista]” nos dice cuántos elementos hay en la lista.

El bloque “[lista] contiene [thing]?” comprueba si en la lista existe ese elemento y nos devuelve “sí” o “no”.

Y finalmente, los bloques “mostrar lista” y “esconder lista” simplemente nos muestra o esconde la lista en la pantalla.

Una vez repasadas todas las cosas que podemos hacer con la lista, podemos aplicarlas a nuestro programa y hacer un proyecto como el siguiente:

DataRep8

Se trata de un proyecto que saca voluntarios a la pizarra. Primero vamos a borrar toda la lista de Estudiantes por si hubiera algún elemento en ella. Después vamos a querer recopilar los nombres de los estudiantes así que vamos a pedir tres veces (por ejemplo) el nombre del estudiante y lo vamos a insertar en la lista. Finalmente anunciaremos el nombre del voluntario que será elegido al azar. La ejecución del proyecto en Scratch nos da lo siguiente:

Captura de pantalla 2015-04-24 a las 12.14.25Captura de pantalla 2015-04-24 a las 12.14.47Captura de pantalla 2015-04-24 a las 12.15.56

Analizamos este proyecto en Dr.Scratch y observamos qué puntuación hemos tenido en la parte de “Representación de la información”:

Captura de pantalla 2015-04-24 a las 12.22.21

¡¡¡Enhorabuena!!! Hemos conseguido la puntuación completa en “Representación de la información”. ¿Se te ocurren más proyectos en los que usar listas? ¡Cuéntanoslo!

Podéis probarlo vosotros mismos aquí.

Saludos,

El equipo de Dr.Scratch.

Habilidades de programación: Abstracción

Una de las habilidades más complicadas a la hora de programar es la de la abstracción.

Pero, ¿qué significa abstraer? Abstraer consiste en dividir un problema(o reto, o desafío) grande, en problemas pequeños y de fácil solución. Por ejemplo, imaginemos que nos piden que construyamos un coche. En un primer momento podemos llevarnos las manos a la cabeza y pensar “¿Cómo voy a construir yo un coche?”, pero si aplicamos la habilidad de abstracción podemos dividir el problema grande (construir un coche) en problemas pequeños(buscar un motor, montar el volante, montar los asientos, la carrocería, etc). Si lo vemos de ésta manera, el problema grande se ha convertido en un conjunto de metas más alcanzables.

¿Es la abstracción una habilidad utilizada sólo en la programación?

¡¡¡No!!! Podemos utilizarlo en cualquier aspecto de nuestra vida. Es bastante útil cuando, por ejemplo, necesitamos prepararnos para algún examen. En nuestra agenda anotaríamos “Estudiar mates”, pero si en vez de anotar eso apuntamos “Hacer problemas de mates del 1 al 10”, “Hacer esquema”, “Hacer resumen”… Una tarea costosa se ha convertido ahora en un número de tareas que se pueden hacer en una hora cada día.

¿Y en qué me ayuda a mi la abstracción?

La abstracción nos ayuda sobre todo a percibir los desafíos como metas alcanzables. Puede ayudarnos también a avanzar poco a poco en el desarrollo de un proyecto en Scratch y además puede servir para que reutilicemos código que ya hemos hecho.

A continuación vamos a exponer tres maneras de usar la abstracción en Scratch. Trataremos de mejorar el siguiente programa usando la abstracción.

Abs1Abs2

1. Nivel básico:

Abs3

2. Nivel medio: creando funciones propias.

    Abs6      Abs7

3. Nivel avanzado: utilizando clones(cuando queremos repetir personajes).

Abs8

Y hasta aquí todo por hoy, y como siempre, podéis comunicarnos dudas y sugerencias.

Un saludo,

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