Reconstruyendo el molinillo

Ruthless Suggestions from Al

Teacher feedback from 2017-2018: one teacher: "On page 5 the picture of the asterisk does not look like what their output should be, it should be all one color and all equally spaced. This really confused all students. On page 7 the rectangle block. My students were able to do this but most of them did not use loops here. This would be a great opportunity for them to get a better understand of the importance of loops and see if we can challenge them to write a loop or have them trace a rectangle on paper and see how many times they repeat. This is what I did with my students. Students had a lot of problems understanding parameters I did a mini lesson on this. This might be something we might want to go into more examples and explanations of. The quick blurb about the definition did not get them the understanding they needed." --MF, 3/6/19

PG: Why is "remix" a useful, or even appropriate term here? Edit? Modify?

It comes from Scratch by way of Selim. But Scratch uses it to mean modifying someone else's project, which is also what it means in its original context of music. -bh

En esta página vas a utilizar el código de molinillo para hacer nuevos bloques asterisco y póligono.
Animation cycle from Asterisk to Polygon

Puedes usar el procedimiento molinillo con propósito general para crear otro, un procedimiento más simple con propósito especial que realice un trabajo concreto.

Asterisk with 12 branches
  1. Si aún no has abierto el proyecto U1L3-Pinwheel de la página anterior, ahora es el momento.
  2. Usa el código del bloque pinwheel para crear un bloque más especializado llamado asterisk.
    1. El primer paso es crear un nuevo bloque llamado asterisk con dos parámetros: uno es número de ramas y otro llamado largo de cada rama. Para recordar la forma de crear un nuevo bloque visitar: Unidad 1 Lab 2 Página 4: Creando un nuevo bloque.
    2. asterisk, branches:(branches) branch length:(length){pinwheel, branches: ( ) size:( ) backup:( )}
    3. Ahora introduce los valores a pinwheel para que pueda dibujar correctamente un asterisco.
Pair Programming Swap
  1. De una forma similar, ahora es el turno de escribir un bloque polygon que haga uso de pinwheel con los valores apropiados para dibujar un polígono que reciba el número de lados y el largo del lado.

En la página Unidad 1 Lab 2 Página 2: Haciendo que los programas hablen has aprendido acerca de la abstracción procedural: darle un nombre a un segmento de código (haciendo un bloque). De esta forma es posible hacer llamadas al bloque más de una vez en lugar de copiar y pegar el código cada nueva vez que se necesita.

Mary, please fix CSS so that <code> comes out with style="color: #f0f" and something for var and also side/endnotes come out color:black.
AAP-3.B.4

Aquí se presenta otra clase de abstracción: nos damos cuenta que ambos asterisk y polygon son un tipo de molinillo. Procedemos a escribir un bloque pinwheel más general que tome como entrada valores que puedan ser usados para hacer asteriscos, polígonos u otros diseños interesantes.

AAP-3.B.5

Est es un ejemplo de abstracción por generalización: observamos porciones de código que son muy parecidos para luego escribir un bloque que utilice ciertos parámetros para diferencias los diferentes casos o variaciones.

  1. Si ves detenidamente dentro del código de pinwheel y analizas la forma en que se usa en polygon, es posible darse cuenta que hay algunos pasos que no son necesarios realizarlos para este caso en particular. Escribe otra versión de polygon que sea construido directamente de los bloques primitivos (move, turn y similares). ¿Qué tan simple lo puedes hacer?
  2. AAP-3.B.7
    Una vez que el bloque polygon dibuje la figura correcta, no es de mayor importancia para el resto del proyecto conocer que hay dentro de él.
Now Is a Good Time to Save
  1. Usa el bloque pinwheel una última vez para crear un bloque círculo que reciba como entrada el tamaño del radio.
  2. Usa el bloque random junto a los bloques set pen color y set pen size para dibujar una variedad de formas.
    assortment of pinwheels
  1. Reto: Crea un programa que dibuje un cuadrado azul de tamaño 100, y luego dibuje un círculo que se ajuste perfectamente dentro del cuadrado.
    círculo rojo dentro de un recuadro azul
  2. En cada uno de los retos que se presentan abajo necesitas escribir un código que permita llevar un automóvil que viaja desde el punto (A) hasta su destino final. Haz clic en cada una de las imágenes para cargar el proyecto en Snap!.
    Triangle and square tesselation path Triangle, square and hexagon tesselation path Octagon and square tesselation path