Un proyecto analizado con Dr. Scratch.

30/10/2016 at 5:39 pm Deja un comentario

drscratchDr. Scratch es una herramienta bien interesante para analizar proyectos de Scratch partiendo del código empleado en los proyectos, en esta publicación voy a analizar uno proyecto que realicé especialmente para esto, se trata de un tutorial sobre coordenadas, donde cuatro personajes de la biblioteca de objetos comienzan a explicar de qué se trata. Les recomiendo registrarse, para que tengan acceso a la documentación y otros recursos.

El proyecto está documentado de manera que si existe alguna dificultad para entender el código, puede ayudarse con los comentarios. Le invito a revisarlo antes de abordar el análisis.explicacoordenadas

Tradicionalmente, en scratch hay dos maneras de sincronizar los objetos; una consiste en colocar tiempos de espera a los programas para que las acciones o los mensajes sucedan cuando deben, esto es algo complicado porque la secuencia se debe llevar en la mente un ejemplo puede detallarse en una publicación anterior llamada Pensamiento Computacional: Paralelismo . Para Dr. Scratch esta forma de sincronización es básica.

La otra forma es mediante mensajes, es decir, Un objeto inicia con su actuación, al final envía un mensaje con el bloque  enviar-a-todos  al  siguiente, o a los siguientes objetos que le corresponde actuar. Para Dr. Scratch esta forma es más avanzada.

Este proyecto utiliza otra forma, los objetos se sincronizan mediante una variable general que no es más que un contador, los objetos por su parte esperan a que el contador llegue al número que le corresponde para actuar. Es decir, trabaja mediante estados. Hay un programa que está en el escenario del proyecto que controla todo, cambiando los estados y los tiempos de cada uno.

Dr. Scratch, funciona buscando secuencias clave del código que hay en el proyecto y comparando los programas para determinar el nivel de la técnica y le da una puntuación, para esto, se basa en algunos indicadores, algunos de los cuales coinciden con  el Pensamiento Computacional como lo hemos visto en este blog, aunque todos puede ser considerados parte del mismo.  En este caso son Paralelismo, Pensamiento Lógico, Control de Flujo, Interactividad con el usuario, Representación de la información, Abstracción y Sincronización. Al final suma todo para dar una calificación global con la cual categoriza como: Medio, Alto,

También tiene una sección de buenas prácticas donde muestra algunos aspectos a mejorar en cuanto a la forma y estilo de programar. Aquí pueden observarse indicadores como Programas Duplicados, Atributos sin Inicializar, Nombres Inadecuados y Código muerto. A continuación la evaluación de Dr. Scrach del proyecto que nos ocupa:

explicacoordenadas_certificado

Figura 1 – Certificado Dr. Scratch

Antes de analizar es necesario aclarar que una puntuación media o baja no necesariamente debe considerarse mala, todo depende de las circunstancias, esto es del tipo de proyecto que vaya a hacer o el grado de complejidad. Este aspecto se estará resaltando más adelante.

Indicadores Principales.

Bueno comencemos por el principio, Paralelismo, para Dr. Scratch el paralelismo es la capacidad de que ocurran cosas simultáneamente, por lo tanto la puntuación se mide en función del uso de los bloques al presionar bandera pero en el mismo objeto, o el uso de los bloques al presionar,al presionar tecla, siempre en el mismo objeto. En nuestro caso solo hay un solo objeto que hace esto que es “copo”, los otros son bastante secuenciales. Aunque los cuatro personajes inician en paralelo sus programas. Esto parece no tomarse en cuenta, o simplemente se considera un uso básico del paralelismo.  ¿Para llegar a un paralelismo 3, será necesario que varios programas se disparen de forma simultánea en el mismo objeto y motivados por diferentes eventos?, pues habrá que hacer la prueba.

proyecto antiaereo.sb2 objeto, canon

Figura 2 – Anidación.

El Pensamiento Lógico tiene relación (inversa por cierto) con la linealidad de los programas, según la documentación ofrecida por Dr. Scratch, lo básico es utilizar bloque si del tipo, un nivel 2 implica el uso de los bloques si.., si … sino..,  pero complementados con operadores booleanos como decision y ydecision o,no se especifica que se requiere para un 3 en esta categoría pero asumo, analizando otro proyecto que llegó a esta puntuación, que para llegar a este nivel será necesario anidar además estas estructuras, como se muestra en la Figura 2.En el proyecto analizado no hay bloques de este tipo, es por ello que no aparece puntuación en certificado.

 

El Control de Flujo, alcanzamos un 3, ya que esto tiene que ver con el uso de estructuras de repetición de bloques como repetir n veces, por siempre, repetir hasta que, las cuales se usan extensivamente en el proyecto.

Respecto a la Interactividad con el Usuario, cuyo valor obtenido es 1, tiene que ver con la forma en que interactúa el usuario con el proyecto, lo básico es tener un bloque al presionar bandera. Para obtener un 2 es necesario hacer uso además de bloques como preguntar-y-esperar y respuesta también  utilizar otras formas de interacción como sonidos y video, ¿Cómo obtener un 3 en esta categoría?. Hay que probar.

En representación de la Información, ha ocurrido algo interesante que pone de manifiesto una de las debilidades de esta herramienta, aquí para obtener un 1, debe utilizarse variables, lo cuan ocurre en el proyecto, de hecho hay dos una de cada tipo, para obtener un 2 hace falta utilizar listas (esta fue la puntuación obtenida en el proyecto) , en nuestro caso se creó una lista para mejorar un programa, al final no se hizo pero se dejo una lista que no se usa para nada. Estas cosas hay que tenerlas en cuenta, al momento de evaluar a nuestros estudiantes porque ellos son expertos en “darle la vuelta” a las cosas. Hay que indagar un poco más como llegar a un 3 aquí, eso queda pendiente.

La abstracción por su parte se mide en cómo organizamos el código y lo reutilizamos en la documentación de Dr. Scratch se especifica que para tener un 1 se debe tener organizado el código de tal manera que ejecute funciones específicas, para esto cuenta con los bloques definidos por el usuario,  un 2 está reservado para proyectos que usan la clonación, un concepto interesante que introduce a la POO, en este proyecto se obtuvo un 1, ya que solo se utilizaron bloques y no conación. Asumo que cuando se utilizan las dos técnicas simultáneamente se obtiene un 3, (analizando los el certificado de aniaereo.sb2, donde se obtuvo tal puntuación). pero hay que hacer más pruebas.

La sincronización, como se explicó al principio, tiene que ver con la forma en que los objetos actúan en relación con los demás, aquí se obtuvo un 3, veamos que dice la documentación de Dr.  Scratch al Respecto: Lo básico es utilizar el bloque esperar-segundos, pero para obtener un 1 es es necesario utilizar los mensajes, esto es los bloques enviar-a-todos y al-recibir. El 2 se obtiene sincronizando por estados como se hizo en este proyecto. Dr. Scratch detecta los bloques esperar-hasta-que, asumimos que el 3 que obtuvo el proyecto se debe a que todos los objetos se sincronizan de esta forma, es decir hay uso masivo de este bloque en el proyecto.

Buenas Prácticas.

Respecto a las buenas prácticas, estas no agregan valor a la calificación total, pero identifican los vicios comunes además que ubican la fuente del problema (no de una manera muy legible, pero ayuda)

En esta caso Código Repetido, tiene que ver con la potencialidad que tiene el proyecto de utilizar lo bloques configurable, cuando se identifican programas con la misma estructura y solo cambian valores, entonces aparece esta advertencia.

La Inicialización de variables tiene que ver con la fijación de valores iniciales en variables y atributos que se usan el proyecto. La regla es que si vas a utilizar un atributo, una variable o una lista, sus valores iniciales deben estar fijados antes de que comience la acción, por eso es que, normalmente se busca los bloques de inicialización en los programas encabezados por al presionar bandera.

El código muerto se refeiere a los bloques que dejamos por allí sin agregarlos a algún programa, a veces son grupos de bloques completo. La herramienta los detecta por que no se encabezan por los bloques de encabezamiento tradicionales, naturalmente, si no tienen estos bloques no se ejecutarán nunca (a menos que hagamos clic sobre ellos).

Nombres adecuados, hace referencia a colocar los nombres que corresponde a objetos y disfraces, no dejarlos con los que traen ya que eso contribuye a codificar y depurar más eficientemente.

Antes de concluir quisiera hacer notar que esta herramienta es posible gracias (además de los dueños de la página,  Programamos quienes tienen todo el mérito ) un framework de programación denominado HairBall, el cual es un conjunto API  para integrar estos análisis a cualquier página web.

Quedan muchas cosas por indagar respecto a esta herramienta, pero ya tendre oportunidad de develar estas interrogantes con Procodi.

 

conclusiones.

Este tipo de análisis es muy útil para agilizar la evaluación integral del participante ya que muestra un punto de partida que no es abrir el proyecto y ver todo lo que el participante escribió.

También permite ver la evolución de los participantes bajo la perspectiva de los indicadores que analiza su la utilizamos transversalmente.

Puede ser además una herramienta muy buena para la auto evaluación, es fácil de utilizar y un chico de 8 u 9 años puede hacer uso de ella.

Dado a que se basa en la presencia o ausencia de determinados bloques o series de ellos, no es infalible y puede tergiversarse.

No es una herramienta de evaluación completa, siempre requerirá el análisis y consideración del docente (o del estudiante) para llevar la evaluación al nivel que permita una mejora en el estudiante.

 

Entry filed under: educacion, Integración de las TICs, pensamiento computacional, programacion para niños, SCRATCH, Serie ELPE, Serie PC. Tags: , , .

Venezolanos. Herramientas Tic para el Desarrollo de la Creatividad

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Subscribe to the comments via RSS Feed


LICENCIA

Licencia de Creative Commons
Blog Competencias Estudiantiles del Tercer Milenio by Ing. Julio Cubillan Msc, is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License

Publicaciones por mes

Categorías

octubre 2016
L M X J V S D
« Sep   Nov »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Estadísticas

  • 32,809 Visitas

Ingresa tu e-mail para recibir notificaciones.

Únete a otros 376 seguidores

Mis enlaces en la Web


A %d blogueros les gusta esto: