Clase 1

Sitio: Aprende Programando
Curso: ORIGEN - Robótica con Microbit 2 (2024)
Libro: Clase 1
Imprimido por: Invitado
Día: domingo, 30 de junio de 2024, 14:42

1. 📝 Clase N° 1





Temario:
  • ¿Qué idioma habla Micro:bit o un robot?
  • ¿Cómo viajan los datos en internet y la programación?
  • Encriptación de mensajes.
Al final de esta clase serás capaz de:
  • Saber qué es un lenguaje de programación.
  • Encriptar códigos con Micro:bit.

2. Lenguajes de programación


Sabemos que el lenguaje en sí, es el medio por el cual nosotros los seres humanos nos comunicamos, con él podemos transmitir lo que queremos expresar. Los humanos contamos con ciertos elementos necesarios para dicha comunicación, como pueden ser los gestos, las palabras, las acciones, un sonido, etc. Ahora bien:


¿Qué se nos viene a la mente cuando decimos “Lenguaje de Programación”? 🤔

Para comunicarnos en programación, funciona de la misma manera, pero con diferentes acciones, pensemos en nuestra vida diaria, en cuando usamos un teclado o un mouse, estos aparatos (que llamamos periféricos) lo que hacen es enviar instrucciones a nuestra computadora, que fue programada para interpretar lo que recibe. Pero estos dispositivos no se comunican con el mismo lenguaje que nosotros. Normalmente, usan un “idioma” de un conjunto de Bits, unos (1) y ceros (0), estas combinaciones de números se conocen como ‘Código Binario’, y es el lenguaje que la computadora entiende.

Entonces, podríamos decir que un lenguaje de programación es un lenguaje especial, que nos sirve para escribir las instrucciones para que nuestras máquinas hagan lo que necesitamos.

3. Tipos de lenguajes de programación



Sabemos como recién lo explicamos, que el primer lenguaje de programación fue el código binario, esto funcionó durante mucho tiempo, pero como todos sabemos, la evolución del humano y la tecnología hicieron que todo hoy en día sea más sencillo y práctico.

Nos preguntamos el porqué de tantos lenguajes; Python Java suelen ser los lenguajes mas usados para programar en Google, también tenemos también C + + que suele usarse en juegos tales como Minecraft. El motivo por el cual se crearon varios lenguajes fue tan solo por el simple hecho de que fueron creados para diferentes fines y propósitos; se acuerdan cuando les dije que hoy en día era todo más sencillo y práctico, esto porque gracias a la evolución de las computadoras y gracias a que el ser humano fue avanzando, dio pie a que la programación sea cada vez más práctica y fácil a la hora de poder aprenderla o emplearla.

4. ✨Micro:Bit


Cuando abrimos Makecode, en la parte superior nos encontramos con que podemos iniciar la programación de nuestra Placa en diferentes lenguajes.

Estos lenguajes pueden ser:

  • Bloques: Funciona a través de un mecanismo de encastres y funciones específicas, esto a nosotros nos ayuda muchísimo ya que nos sirve de iniciación en la programación y nos proporciona una mirada crítica y evolución en nuestro pensamiento computacional.

  • Python: Si nosotros con el código en bloques que programamos, le decimos ahora que queremos compilarlo a Python, quedaría de la siguiente manera:

Como pueden notar a simple vista el código en bloques desaparece completamente y aparecen nuevas estructuras de código en texto. En sí el programa va a seguir siendo el mismo, pero la forma de comunicación y programación que apliquemos va a ser distinta.

Podemos notar que el bloque que nosotros usamos para decirle que ‘Para Siempre’ haga una acción, en Python se llama def on_forever(): (el def significa “define”). Fijense que la sintaxis es distinta y el lenguaje predefinido es en inglés. Posteriormente creamos un string que va a ser un apartado en el cual nosotros escribimos un texto, para eso usamos las comillas “Hola” y después le indicamos una pausa de 2000ms, que equivalen a 2 segundos.

  • JavaScript: Podemos volver a cambiar la compilación, pero en este caso para ver cómo se escribe nuestro código “traducido” a JavaScript.


Notamos ahora como la sintaxis (la manera de escribir las instrucciones que nosotros programamos) cambia nuevamente, esto sucede porque como bien mencionamos anteriormente cada lenguaje tiene sus propias reglas de escritura.

¿Por qué nosotros usamos el lenguaje en Bloques, y no el de Python o JavaScript?

Básicamente, porque estamos iniciando el camino de la programación, y el lenguaje de bloques es mucho más sencillo de entender y aprender. Por ejemplo, cuando nosotros nacemos, no pretendemos caminar y hablar a los 5 meses de nacidos, sino que es todo un proceso que tiene etapas y objetivos a cumplir para después poder lograr esas metas. Nosotros no podemos escribir en Python o cualquier código de texto sin antes conocer el funcionamiento de un algoritmo y sus estructuras.

Ahora sabemos que hay muchos lenguajes de programación que llevan al mismo camino y que la diferencia principal entre ellos es cómo se comunican entre sí. Entendimos también porqué nosotros en este curso vamos a trabajar con Bloques, es por su facilidad y claridad a la hora de aprender a programar.


5. ¡Juguemos!


Vamos a realizar una pequeña actividad que nos va a servir para introducirnos en el próximo tema.

Este juego consiste en descifrar la palabra oculta en las imágenes siguientes:



¿Pudieron descubrir todas las palabras? ¡Felicitaciones! 🎉
¿Se dieron cuenta que lograron descifrar un código oculto entre imágenes y símbolos?

Piensen en las distintas maneras que nosotros tenemos para comunicarnos a través de mensajes ocultos, haciendo uso de imágenes mezcladas con letras y símbolos.

Con eso en mente, pasemos al tema que sigue.

Transferencia de datos… ¿Qué es eso? 🤔

6. Transferencia



Los datos son piezas de información, puede ser un mensaje, un número, una identificación. Nuestros datos pueden agruparse dentro de archivos (conjuntos de datos).

La acción de transferir es pasar algo de un lugar a otro. Por ejemplo; se puede transferir un mensaje, un archivo o quizás dinero desde una cuenta a otra

Entonces, ahora que sabemos mejor qué es transferir, y qué son los datos, podemos decir, en simples palabras, que la transferencia de datos en Sistemas Informáticos es movilizar información de un sistema a otro. En el caso de las personas, cada vez que nos comunicamos estamos transfiriendo alguna información (en forma de mensaje), y a su vez recibiendo información que otro nos transfiere. Esa información (ese mensaje) lo codificamos de manera automática al conocer ya nuestro propio idioma natal, y de ese modo poder entender a esa persona y devolverle una respuesta a lo que nos haya dicho.

6.1. Encriptación de mensajes


Generalmente, cuando nos referimos a encriptación o cifrado, nos referimos al proceso matemático de hacer que un mensaje sea ilegible, es decir la información que nosotros ciframos se va a mantener oculta a simple vista, de manera que hagan falta herramientas o conocimientos para poder descifrar o desencriptar ese mensaje o información.

Intenten descifrar este mensaje que aparece a continuación.

En sí, en el ejemplo de arriba, podemos ver un mensaje encriptado (oculto) a través de la combinación de letras y números, pero también podríamos usar sólo números, o sólo letras. Esto nos da a entender que no existe una sola manera de encriptar o cifrar un mensaje, sino que son varias. Otro ejemplo de cifrado es la clave Morse, que usa sonidos específicos para representar cada letra. Lo que buscamos en un cifrado es que la información no pueda ser accedida por cualquiera que no tenga la clave. Lo hacemos porque la información es secreta, importante, clasificada…

¿Se les ocurre qué tipo de información podríamos querer encriptar o cifrar? 🤔

6.2. Un poco de historia


Los primeros mensajes cifrados que conocemos datan del siglo V antes de Cristo, de la civilización espartana. Ellos usaban un método simple y rudimentario que consistía en usar una vara (llamada escítala), se le enroscaba una cinta de cuero o papiro y posteriormente se escribía de forma longitudinal (como en la imagen).

Y por último se desenrollaba la cinta, con un puñado de letras sin sentido y se mandaba a través del mensajero. Supuestamente solo se podía desencriptar la información con una vara del mismo diámetro (largo) que la original sobre la que se escribió (obviamente si te pones a intentar cuadrar las letras acabas sacando algo en claro, pero en la época no se tenía mucho conocimiento en la lectura, tampoco el idioma de origen y mucho menos tenían la cultura general necesaria para pensar que la información estaba encriptada).

Hablemos un poco de espías

Seguramente hayan oído hablar de espías y agentes secretos que usan códigos ocultos o escritura mágica invisible para intercambiar mensajes. Así es como comenzó el tema de la "criptografía", como el arte de escribir y descifrar códigos secretos.

Cuando la gente comenzó a compartir información entre sí, hubo nuevos usos para las contraseñas secretas. Cuando las computadoras se conectaban en redes, había nuevas razones para proteger la información de personas que quisieran tenerla. Cuando llegó el correo electrónico, se hizo importante asegurarse de que las personas que firman los mensajes son realmente quienes dicen ser. Ahora que la gente puede hacer transferencias bancarias, y comprar y vender usando computadoras, (sin ir más lejos en el propio roblox se pueden comprar cosas utilizando una tarjeta de crédito) necesitamos formas seguras de hacer pedidos y enviar dinero en efectivo en las redes informáticas. Y la amenaza de los ataques de hackers hace que la seguridad informática sea cada vez más importante.

La criptografía probablemente hace pensar en ordenadores que almacenan contraseñas secretas, y que mezclan las letras de los mensajes para que el enemigo no pueda leerlos. Pero la realidad es muy diferente. Los sistemas informáticos modernos no almacenan contraseñas secretas, porque si lo hicieran, cualquiera que lograra acceder a ellas podría traspasar toda la seguridad del sistema. Hoy en día, la encriptación no es solo mezclar las letras de los mensajes: se hace usando técnicas que implican problemas muy difíciles.

7. ¡Practiquemos!

Descifremos el mensaje encriptado:

Les propongo la siguiente actividad que consiste en descifrar un mensaje oculto. Dado que nosotros ya conocemos la historia y sabemos de qué trata y de ese modo nos consideramos expertos en Desencriptación vamos a poner a prueba nuestros conocimientos con el siguiente ejercicio.

¡Excelente! Ahora probemos con un poco más de dificultad 🙌


8. 📝 Desafío N°1

En el desafío de esta semana, vamos a programar como mínimo dos (2) palabras encriptadas, para que una vez terminado, nuestros compañeros descifren nuestro código siguiendo el ejemplo anterior. Vamos a tener en cuenta dos cosas:

1. Como primer paso tener en una hoja y papel anotadas las letras del abecedario con su correspondiente código binario. También pueden tomar como ejemplo esta imagen:

2. Pensar nuestra palabra y encriptarla en micro:bit.

3. En primer lugar abrimos 👉 MakeCode

4. Posteriormente programamos nuestro cifrado de la siguiente manera; Ya sabemos que si queremos escribir una palabra extensa, tendremos que dar uso a varios scroll images ya que cada recuadro vertical equivale a una letra. Es decir que si yo tengo una palabra de 15 caracteres incluyendo los espacios, voy a necesitar tres bloques scroll image, ya que el bloque cuenta con 10 recuadros lineales. Tomando como referencia la palabra “AP ES GENIAL” quedaría de la siguiente manera: