Uso de bloques de conmutación para la transición de bloques a codificación basada en texto en VEXcode VR

Para acceder a los bloques Switch en VEXcode VR, debe tener una licencia VEXcode VR Premium. Consulte este artículo para obtener más información sobre cómo acceder a los bloques Switch en VEXcode VR.

Si bien los programadores principiantes están más inclinados a utilizar la interfaz basada en bloques, los estudiantes más avanzados pueden estar interesados en codificar su robot utilizando un lenguaje de programación basado en texto, como Python. Históricamente, esta transición de programación en bloques a programación basada en texto puede parecerle a los estudiantes como aprender un lenguaje completamente nuevo, donde no pueden aplicar la lógica que habían aprendido previamente usando bloques.1 Switch Blocks en VEXcode VR se desarrolló para facilitar la transición de la programación basada en bloques a la programación basada en texto. Este artículo cubrirá cómo usar bloques de conmutación en VEXcode VR y lo guiará a través de un escenario de aula para explicar e ilustrar esas características en contexto.

Bloque de interruptor que muestra el código equivalente basado en bloques y basado en texto en VEXcode VR.

Uso de bloques de conmutación

Switch incorpora elementos familiares de la programación basada en bloques e integra cuadros de texto donde se pueden escribir comandos de texto. Esto permite que los estudiantes realicen una transición lenta al texto a medida que aprenden los comandos y la sintaxis que acompañan a Python. Vea el siguiente video para ver un ejemplo de código Python que se introduce en un bloque Switch.


Switch ofrece a los estudiantes un puente natural desde Blocks hacia la codificación basada en texto. A medida que los estudiantes se familiarizan con la lógica y la secuencia de comandos, pueden comenzar a convertir un proyecto un bloque a la vez. En este vídeo se muestra el proceso de conversión de un bloque en un bloque Switch.

Esto permite a los estudiantes continuar trabajando con el flujo lógico de un programa basado en bloques, donde pueden ver físicamente cosas como el enrollamiento de un bucle alrededor de otros bloques y al mismo tiempo comenzar a experimentar con comandos de texto. Una vez que los bloques se convierten en Switch, los estudiantes pueden cambiar fácilmente los parámetros y comenzar a comprender la sintaxis del comando de texto. Esta sección lo guiará a través del uso de Switch por parte de un estudiante para explicarle cómo puede usar estos bloques en un proyecto de VEXcode VR.

Switch está disponible con una licencia VEXcode VR Premium. Obtenga más información sobre las suscripciones de VEXcode VR aquí.

Una vez que tengas tu licencia, cómo acceder a Switch usando la información de este artículo.

Cambiar en el aula

Austin es un estudiante que ha estado codificando con bloques durante varios años. Si bien algunos estudiantes de la clase todavía son codificadores nuevos, Austin quiere aprender más sobre Python y cómo avanzar en la codificación del robot VR usando texto. La Sra. Hunter, profesora de Ciencias de la Computación, notó que Austin estaba listo para un desafío adicional y presentó Switch para ayudar a estructurar el aprendizaje de Austin e introducir la codificación basada en texto. La Sra. Hunter demostró algunos de los conceptos básicos, como convertir un bloque y abrir la Ayuda para aprender más sobre el comando Switch Python para cada uno de los bloques. 

Hoy, la Sra. Hunter asignó la actividad de limpieza arrecifes de coral a la clase. Ella utiliza VEXcode VR para sus clases de codificación porque sabe que puede diferenciar su instrucción y llegar a estudiantes de diferentes niveles de codificación con las mismas actividades. El modo de cambio ayuda a facilitar esa diferenciación para estudiantes como Austin. En la actividad de limpieza de arrecifes de coral, el objetivo es recolectar la mayor cantidad de basura posible antes de que se agote la batería del robot VR. Al comprender el desafío y cómo codificar algoritmos básicos, Austin crea un proyecto VEXcode VR que utiliza el sensor Down Eye para detectar el borde del área de juegos y conducir en reversa para evitar dañar el coral.

Espacio de trabajo VEXcode VR con comandos basados ​​en bloques para programar el robot virtual.

Convertir un bloque único en un conmutador

Convertir 1 bloque


Ahora que Austin tiene un proyecto que ha probado y verificado que funciona, el siguiente paso es convertir un bloque a Switch para comenzar a explorar Python. 


 

Los bloques se pueden convertir a Switch presionando prolongadamente o haciendo clic derecho en el bloque y luego seleccionando la opción 'Convertir a bloque Switch', como se muestra en el video aquí.

Austin ahora puede ver que el bloque [Drive for] se convirtió en el comando Python drive_for. Después de la conversión, Austin dirige el proyecto para garantizar que siga funcionando según lo previsto. Después de la conversión, Austin quiere aprender más sobre el comando drive_for. Al abrir la Ayuda del bloque [Drive for], Austin puede realizar conexiones entre los parámetros del bloque y el comando Python.

Cómo usar la Ayuda para obtener más información sobre los comandos Switch de Python

Abrir ayuda


Para ver la información del comando Switch Python en la Ayuda, Austin abre la ventana de Ayuda y selecciona el bloque [Drive for], luego se desplaza hasta la parte inferior como se muestra en el video aquí. 

La Sra. Hunter se registró y pudo ver que Austin estaba aprendiendo más sobre el bloque [Drive for]. Ella lo desafió a aplicar lo aprendido al convertir un bloque y escribirlo en un nuevo bloque. Ella mostró cómo arrastrar un bloque Switch y le pidió a Austin que intentara escribir un comando turn_for en el bloque. Austin abre la Ayuda del bloque y toma nota sobre la estructura del comando. 

Escribir en un bloque de conmutación

Agregar un bloque


Austin, que conoce el comando de Python gracias a lo que ha consultado en la Ayuda, quiere escribir directamente en un bloque Switch. Arrastrando un bloque [Switch Stack] desde la Caja de herramientas, Austin lo agrega encima del bloque [Turn for] como se muestra en este video. 

Escribe en el bloque


Luego, Austin usa el cursor para seleccionar el bloque Switch y comienza a escribir el comando Python turn_for como se muestra aquí. 


 

Tras introducir el nuevo comando y asegurarse de que los parámetros coinciden con el bloque original, se puede eliminar el bloque [Turn for] como se muestra en este vídeo. 

La Sra. Hunter viene a ver el progreso de Austin. Ella ve el proyecto Switch y pide verlo ejecutarse para asegurarse de que los comandos se escriben correctamente. Después de verificar que el proyecto funciona, demuestra otra característica: bloques multilínea.

Copiar y pegar


El bloque [Switch Stack] puede tener múltiples líneas de código escritas dentro de él. Austin copia el texto turn_for y lo pega en el bloque de arriba como se muestra en el vídeo aquí.

 

Austin ve que al presionar "Enter" o "Return" en el teclado, se pueden agregar líneas adicionales al bloque y continúa agregando comandos de Python.

Sintiéndose un maestro de los comandos Drivetrain en Python, Austin imprime un certificado y guarda el proyecto para la próxima vez.

Conversión de pilas a conmutadores

Más adelante en el año escolar, la Sra. Hunter vuelve a visitar la actividad de limpieza de arrecifes de coral y desafía a los estudiantes a obtener un puntaje más alto o usar codificación basada en texto. Si bien Austin ha estado usando comandos Drivetrain en bloques Switch, esta actividad es una oportunidad para aprender más sobre el equivalente de los bloques 'C' y los valores booleanos en Python. 

Convertir contenedor


Austin mantiene presionado o hace clic derecho en el bloque [Si entonces de lo contrario] y selecciona 'Convertir contenedor y contenido en bloque Switch'. Esto convierte el bucle y su contenido en un único bloque Switch, como se muestra en este vídeo.


 

Tenga en cuenta la sangría una vez finalizada la conversión. Varios comandos en un bloque Switch deben tener la sangría adecuada para funcionar según lo previsto.

Bloques de interruptores adicionales

Si bien Austin ha estado usando exclusivamente el bloque [Switch Stack], hay bloques Switch adicionales disponibles. Austin está listo para entregar un proyecto mejorado de limpieza de arrecifes de coral, pero hace un plan con la Sra. Hunter para probar un nuevo tipo de bloque Switch como los que se enumeran a continuación en la próxima clase.

Los bloques de interruptor siguen las mismas convenciones de forma que otros bloques. La tabla aquí muestra la comparación entre la forma del bloque, su significado y los bloques Switch del mismo tipo.

Forma de bloque Descripción Ejemplos de bloques Ejemplos de interruptores
Bloques de sombrero Comience una pila de bloques y déles forma para colocar bloques debajo de ellos. Espacio de trabajo VEXcode VR con un bloque de interruptor que muestra el bloque equivalente y los comandos Python para un giro del tren motriz en el entorno de pruebas. Ejemplos de formas de bloques de sombrero, pila, booleano y reportero utilizadas con bloques de interruptor en VEXcode VR
Apilar bloques Ejecutar comandos principales. Tienen forma para colocarse encima o debajo de otros bloques apilables. Ejemplos de bloques switch para los tipos de bloques hat, stack, boolean y reporter en VEXcode VR Ejemplos de bloques hat, stack, boolean y reporter con sus correspondientes bloques switch en VEXcode VR
bloques booleanos Devuelve una condición como verdadera o falsa y se ajusta dentro de cualquier bloque con entradas hexagonales (de seis lados) para otros bloques. Espacio de trabajo VEXcode VR con la barra de herramientas de bloques y área de codificación para crear un proyecto con bloques. Ejemplos de bloques hat, stack, boolean y reporter con sus bloques switch equivalentes en VEXcode VR.
Bloques de reporteros Informa los valores en forma de números y se ajusta dentro de cualquier bloque con entradas ovaladas para otros bloques. Ejemplos de bloques de conmutación que combinan código basado en bloques y código basado en texto en VEXcode VR Paleta de bloques VEXcode VR con categorías de bloques sombrero, pila, booleano e informador utilizadas en bloques de conmutación.
Bloques C Recorre el(los) bloque(s) dentro de ellos o verifica si una condición es verdadera o falsa. Tienen forma para poder fijar bloques apilables encima, debajo o dentro de ellos. Ejemplos de formas de bloques VEXcode VR para sombrero, pila, booleano y reportero con sus correspondientes formas de bloques switch. Ejemplos de bloques switch para bloques hat, stack, boolean y reporter en VEXcode VR Ejemplos de bloques de interruptor que muestran las formas de los bloques traducidas a código basado en texto. Proyecto VEXcode VR que muestra bloques de conmutación utilizados para combinar la codificación basada en bloques y la basada en texto en el espacio de trabajo.

Poniéndolo todo junto

Mientras la Sra. Hunter observaba a Austin probar cómo escribir diferentes comandos de Python en bloques Switch, pudo ver cómo Switch permitía a sus estudiantes estructurar su propio aprendizaje. Todos sus estudiantes tenían diferentes experiencias de codificación antes de comenzar su clase, y los desafíos dentro de VEXcode VR les permiten codificar en sus propios niveles. Algunos estudiantes codifican únicamente en Blocks, otros en Python y otros, como Austin, usan Switch para realizar la transición a la codificación en Python. Durante los siguientes meses, Austin pasó a codificar exclusivamente en Python, aplicando lo aprendido al usar Switch para hacer que la transición de bloques a texto sea mucho más fácil y fluida. 

Switch Blocks en VEXcode VR permite a los profesores, como la Sra. Hunter, ser facilitadores del aprendizaje mientras estudiantes de todos los diferentes niveles de codificación completan el mismo desafío. Mientras tanto, los estudiantes, como Austin, se sienten capacitados para probar nuevos métodos de resolución de actividades de codificación a medida que pasan de bloques a texto usando Switch Blocks en VEXcode VR.


1Weintrop, David y Uri Wilensky. "Cómo las modalidades basadas en bloques, basadas en texto e híbridas bloque/texto dan forma a las prácticas de programación de principiantes".  Revista Internacional de Interacción Niño-Computadora 17 (2018): 83-92

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: