Añadir números a una cantidad dada.
Matemáticas: Aritmética
Argumentar que los 0 y los 1 siguen siendo una forma correcta de explicar lo que hay almacenado en el ordenador.
Pensamiento computacional: Abstracción
Explicar cómo al entender cómo aumentan los números binarios se respalda tu conocimiento del valor posicional.
Matemáticas: Aritmética
Explicar la lógica de por qué el bit de la derecha debe representar un uno.
Pensamiento computacional: Lógica
Explicar por qué podemos usar dos estados o cosas diferentes para representar el sistema binario; no tienen que ser solo 0 y 1.
Pensamiento computacional: Abstracción
Identificar números pares e impares explicando por qué el número más a la derecha es diferente a los otros.
Matemáticas: Aritmética
Justificar por qué no hay 0 y 1 reales dando vueltas dentro de un ordenador.
Pensamiento computacional: Abstracción
Realizar una demostración de cómo funciona el sistema numérico binario convirtiendo cualquier número decimal en un número binario.
Pensamiento computacional: Pensamiento algorítmico
Preguntas clave
¿Qué diferentes sistemas numéricos conocemos? (Las respuestas pueden incluir: Números romanos; Marcas de conteo; Bases numéricas como binario, octal y hexadecimal; Sistemas basados en idiomas como el chino o el egipcio antiguo).
¿Por qué normalmente usamos 10 dígitos? (Probablemente porque tenemos 10 dedos, además, es una manera bastante eficiente de escribir las cosas en comparación con, digamos, las marcas de conteo).
¿Por qué tenemos diferentes sistemas numéricos? (Son prácticos para cosas diferentes, por ejemplo, las marcas de conteo son fáciles si estás contando; los números romanos pueden ser útiles para hacer que un número parezca más misterioso o más difícil de leer).
Clase inicial
Ve el ejemplo de clase
Nota de los autores
Hemos notado que una vez que los alumnos comprenden cómo funciona el sistema numérico binario, tienen muchas preguntas y les interesa explorar más a fondo los conceptos descritos en esta clase. Hemos añadido mucha información a esta clase, sin embargo, no es nuestra intención que enseñes y cubras todos los conceptos, sino que tengas a tu alcance la información que necesites cuando tus alumnos expresen interés en aprender más.
Notas sobre los recursos
También hay una versión interactiva en línea de las cartas binarias aquí, de la Computer Science Field Guide, pero es preferible trabajar con las cartas físicas.
Sostén las primeras 5 cartas (1, 2, 4, 8 y 16 puntos), pero no dejes que los alumnos vean los puntos. Pide a 5 alumnos que se ofrezcan como voluntarios para ser los “bits” y que se pongan de pie en una fila delante de la clase.
Entrega la carta de 1 punto a la persona de la derecha. Explica que ellos son un "bit" (dígito binario) y que pueden estar encendidos o apagados, ser blancos o negros, tener 0 o 1 punto(s). La única regla es que su carta sea completamente visible o no visible (es decir, volteada). Entrega la segunda carta a la segunda persona de la derecha. Remarca que esta carta tiene 2 puntos (visible) o ninguno (boca abajo).
Pregunta a la clase cuál será el número de puntos en la siguiente carta. Haz que expliquen sus respuestas.
Observaciones didácticas
Los alumnos normalmente sugieren que debería ser tres. Si sugieren 4, probablemente han hecho la actividad antes (¡o han visto las cartas que tienes de la mano!) Si sugieren el número equivocado, no los corrijas, continúa sin hacer ningún comentario, para que puedan construir la regla por sí mismos.
Entrega en silencio la carta de cuatro puntos y deja que intenten averiguar el patrón.
Observaciones didácticas
Por lo general, algunos alumnos se quejarán de que te has saltado el tres, solo tienes que indicar que no has cometido un error. Esto les da la oportunidad de intentar construir el patrón por sí mismos.
Pregunta cuál es la siguiente carta y por qué.
Observaciones didácticas
Llegado este punto, es común que los alumnos supongan que es 6 (ya que sigue a los números 2 y 4). Sin embargo, si dejas que lo piensen un poco más, algunos generalmente dirán el número 8 y esos estudiantes deberían de ser capaces de convencer a los otros de que están en lo correcto (un alumno puede explicar esto de varias maneras, por ejemplo, que cada carta es el doble de la anterior o que si tomas dos de una carta, obtienes la siguiente)
Los alumnos deberían de poder averiguar la quinta carta (16 puntos) sin ayuda:
¿Cuántos puntos tendría la próxima carta si continuamos hacia la izquierda? (32) ¿La próxima...? (No hay necesidad de que los alumnos sostengan estas cartas, ya que no se usarán en la siguiente parte de la actividad, pero se las puedes mostrar para confirmar que están en lo correcto).
Continúa con 64 y 128 puntos.
Observaciones didácticas
Con 128 puntos habría 8 cartas. Esto es 8 bits, que es comúnmente conocido como byte. Mencionar esto en este punto puede suponer una distracción, pero puede que algunos alumnos ya estén familiarizados con la idea de que 8 bits es un byte y hagan esa observación. Sin embargo, mientras tanto trabajaremos con una representación de 5 bits, la cual no es tan útil como un byte entero, pero es un buen tamaño para enseñar. (Un byte es una práctica agrupación de bits y normalmente el almacenamiento de los ordenadores se basa en bytes en lugar de en bits individuales; es igual que que los huevos se vendan en docenas; podrían venderse individualmente, pero los grupos de una docena son generalmente más prácticos para todos los interesados).
Un error común es entregar las cartas de izquierda a derecha, pero una convención en la representación numérica es que el valor menos significativo esté a la derecha y esta es una idea importante que los alumnos deberían asimilar con esta actividad.
Actividades de la lección
Recuerda a los alumnos que la regla es que una carta o tiene los puntos completamente visibles o ninguno de ellos es visible. Si podemos encender y apagar las cartas mostrando el anverso y el reverso de la carta, ¿cómo mostraríamos exactamente 9 puntos? Empieza preguntando si quieren la carta 16 (deberían mencionar que tiene demasiados puntos), entonces la carta 8 (probablemente razonarán que sin ella no quedan suficientes puntos), luego 4, 2 y 1. Sin que se les haya dado ninguna otra regla aparte de que cada carta sea visible o no, los alumnos normalmente harán la siguiente representación.
Vínculos matemáticos
Base 10 (nuestro sistema de conteo) tiene 10 dígitos, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Cuando contamos en base 10, contamos de 0 a 9 y entonces nos quedamos sin dígitos. Así que necesitamos añadir otra columna; ponemos un 1 en esa columna y empezamos a contar de nuevo desde 0. Esto forma el número 10, luego repetimos ese proceso hasta que la columna de las decenas es 9 y la columna de las unidades es 9 (haciendo 99); a partir de ahí añadimos otra columna. Por lo tanto, tenemos el familiar sistema de valores posicionales que se puede mostrar de esta forma:
100.000 | 10.000 | 1.000 | 100 |10 | 1
Nota: Utiliza el ejemplo de valor posicional apropiado en base a lo que ya hayas enseñado en tu clase; este es un ejemplo ampliado.
Base 2 (binario) sigue la misma lógica, excepto en que se mueve mucho más rápido al "siguiente" valor posicional, ya que solo hay dos dígitos, 0 y 1. Los valores posicionales en binario tienen el siguiente aspecto:
32 | 16 | 8 | 4 | 2 | 1 |
A veces, los alumnos confunden el orden de los dígitos en una representación binaria. Para ayudar a los alumnos a comprender el orden correcto de los dígitos binarios, haz esta pregunta: Si yo te diera 435,00$, ¿qué número te interesa más? ¿Es el 4 o el 5? ¿Y eso por qué? Ocurre lo mismo en el código binario, el valor más bajo (el dígito menos significativo) es el que está más a la derecha, mientras que el dígito más significativo es el que está más a la izquierda.
Ahora pregunta: "¿Cómo formaríais el número 21?" (De nuevo, empieza preguntando si quieren la carta 16, luego la carta 8 y así sucesivamente de izquierda a derecha).
Se trata de un algoritmo para convertir números a una representación binaria. Pensemos en los pasos a seguir para hacerlo juntos.
a. Empieza con todos los números encendidos (mostrando los puntos).
b. Piensa en la representación del número 10
c. ¿El 16 cabe en el 10? No, así que apágalo
d. ¿El 8 cabe en el 10? Sí, así que déjalo encendido. ¿Cuántos faltan? (2)
e. ¿El 4 cabe en el 2? No, así que apágalo
f. ¿El 2 cabe en el 2? Sí, así que déjalo encendido. ¿Cuántos faltan? (Ninguno)
g. Apaga el 1.
Aplicación de lo que acabamos de aprender
Divide a los alumnos en parejas.
Dale a cada pareja un conjunto de las cartas binarias más pequeñas (5 o 6 cartas, dependiendo del intervalo de números con el que se sientan cómodos).
Empezando con solo 5 cartas, haz que practiquen el algoritmo (decidiendo sobre cada carta de izquierda a derecha) para números como 20, 15 y 8.
Explica a los alumnos que estamos trabajando con solo dos dígitos, por lo que se denominan dígitos binarios. Son tan comunes que tenemos un nombre corto para ellos: escribe "dígito binario" en un pedazo de papel, luego rasga la "bi" del principio de binario y luego la "t" de dígito, colócalos juntos y pregunta cuál es la palabra que se ha formado al combinarlos ("bit"). Este es el nombre corto para un dígito binario, así que las 5 cartas que ellos poseen son en realidad 5 bits.
Ahora vamos a contar desde el número más pequeño que podemos formar hasta el número más alto:
a. ¿Cuál es el número más pequeño? (puede que sugieran el 1, pero luego se darán cuenta de que es el 0).
Muestra el número cero en las cartas (es decir, sin que se muestren los puntos).
Ahora cuenta 1, 2, 3, 4 … (cada pareja debería resolver estos números entre ellos).
Una vez que empiecen a acostumbrarse, pregúntales: ¿con qué frecuencia estamos viendo la carta de 1 punto? (de forma alternada, que es cada número impar)
a. ¿Qué otros patrones vemos? (algunos pueden observar que la carta de 2 puntos se voltea cada dos veces, la de 4 puntos cada 4 veces y así sucesivamente; ¡por lo que la carta de 16 puntos no hace mucho!)
Continúa hasta que todas las cartas estén "encendidas" y hayan contado hasta 31. ¿Y después qué? (Tenemos que añadir una carta nueva). ¿Cuántos puntos tiene? (32) ¿Qué tenemos que hacer con las otras 5 cartas cuando lleguemos a 32? (tenemos que apagarlas todas)
Investiguemos esto un poco más ...
a. Cuando tengo dos bits, ¿puedo formar un máximo de? (3)
b. Añado otro bit, ¿cuántos puntos tiene? (4)
c. Apago los dos primeros bits para formar 4, ¿cierto?
d. Ahora vamos a encender los tres bits, ¿cuántos tenemos ahora? (7)
e. Añado otro bit, ¿cuántos puntos tiene? (8)
f. Repítelo hasta que se reconozca el patrón que consiste en que el número de la siguiente carta a la izquierda es una unidad mayor que el número total de puntos en todas las cartas de la derecha (ej. hay 15 puntos en las cartas de 8, 4, 2 y 1, por lo que la siguiente carta a la izquierda es de 16). Esto hace más fácil calcular el número si todos los bits están encendidos - duplica la carta de la izquierda y resta 1.
g. ¿Cuántos números diferentes puedo formar con dos bits? (4; los alumnos suelen decir 3 porque no han contado el 0)
h. Añadamos el siguiente bit; ¿cuántos números diferentes podemos formar ahora? (8, de nuevo, a menudo 7 será la primera respuesta)
i. Repítelo hasta que se reconozca el patrón que consiste en que cada vez que añadimos otro bit podemos representar el doble de números.
Observaciones didácticas
Un concepto con el que puede que los alumnos tengan problemas es que el número de valores es uno más que el valor máximo (p.ej. desde 0 hasta 7, hay 8 números diferentes). La misma observación se presenta con el número de dígitos en los números decimales convencionales; el dígito más grande es el 9, pero hay 10 dígitos posibles (contando el 0). Esto a veces se conoce como el problema del poste (el número de postes de una valla es uno más que el número de espacios entre ellos) y se da mucho en informática.
Reflexión de la clase
¿Funcionaría esta actividad si usamos cartas blancas y cartas color crema? ¿Por qué? ¿Por qué no? (En principio, podrías usarlas, pero no sería una buena idea. La respuesta que buscamos es que no son colores que contrasten, por lo que sería difícil ver si están encendidas o apagadas. Esto nos da una pista de por qué los ordenadores usan representaciones físicas fáciles de distinguir).
¿Qué símbolos o formas contrastantes podemos mostrar como encendidos y apagados en binario?
(Las ideas podrían incluir sostener las cartas arriba o abajo; simplemente levantando una mano; sentándose o poniéndose de pie; o usando representaciones diferentes tales como luces encendidas o apagadas).
Los ordenadores son más baratos y más fáciles de fabricar si representan datos con solo dos valores contrastantes, que representamos con los números 0 y 1. ¿Qué otra cosa podemos usar en la escritura para representar dos opuestos? (Tal vez cara o cruz; cara feliz o cara triste; o cualquier otra pareja de símbolos).
Ampliando esta idea, los números se pueden representar por un voltaje cercano a 5 voltios o a 0 voltios. Los circuitos se montan de forma que cualquier voltaje menor a 2,5 voltios cuente como 0 y cualquier voltaje mayor a 2,5 voltios cuente como 1. Al igual que los colores contrastantes de las cartas, resulta muy fácil reconocer esto. Podríamos haber tenido 10 colores de cartas para representar los dígitos del 0 al 10 y podríamos tener diez rangos de voltaje ( de 0 a 0,5, 0,5 a 1,0 y así sucesivamente), pero es mucho más complicado fabricar circuitos rápidos y precisos así.
Visualización de las conexiones del pensamiento computacional
A lo largo de las lecciones, hay enlaces al pensamiento computacional. A continuación, hemos anotado algunos enlaces generales que se aplican a este contenido.
Teaching computational thinking through CSUnplugged activities supports students to learn how to describe a problem, identify what are the important details they need to solve this problem, break it down into small logical steps so that they can then create a process which solves the problem, and then evaluate this process. These skills are transferable to any other curriculum area, but are particularly relevant to developing digital systems and solving problems using the capabilities of computers.
Estos conceptos del pensamiento computacional están todos conectados entre sí y se apoyan mutuamente, pero es importante tener en cuenta que no todos los aspectos del pensamiento computacional ocurren en cada unidad o lección. Hemos resaltado las conexiones importantes para que puedas observar a tus alumnos en acción. Para obtener más información acerca de nuestra definición del pensamiento computacional, consulta nuestras notas sobre el pensamiento computacional.
Pensamiento algorítmico
En esta clase hemos usado un algoritmo para convertir un número decimal en uno binario. Es un algoritmo porque es un proceso que se realiza paso a paso y el cual siempre proporcionará la solución adecuada para cualquier entrada siempre que se siga fielmente el proceso descrito.
Aquí tenemos un algoritmo escrito en texto para averiguar qué cartas de puntos deberían mostrarse:
Averigua el número de puntos que se mostrarán. (Nos referiremos a él como el "número de puntos restantes", que inicialmente es el número total que se mostrará.)
Para cada carta, de izquierda a derecha (es decir, 16, 8, 4, 2 luego 1):
Si el número de puntos en la carta es mayor que el número de puntos restantes:
Ocultar la carta
De lo contrario:
Mostrar la carta
Resta el número de puntos en la carta del número de puntos restantes
Ten en cuenta que este algoritmo (de derecha a izquierda) funciona muy bien con las cartas, pero si buscas programas de ordenador que hagan esto, puede que encuentres uno diferente que funcione de derecha a izquierda. Es normal tener varios algoritmos que consigan el mismo resultado.
Ejemplos de lo que podrías buscar:
¿Qué alumnos son metódicos a la hora de convertir entre decimal y binario? ¿Cuáles comienzan con la carta que está más a la izquierda y mueven una carta a la derecha cada vez, en vez de elegir y voltear cartas de manera aleatoria hasta conseguir el número correcto?
Abstracción
La representación de números binarios (usando solo 0 y 1) es una abstracción que oculta la complejidad de los componentes electrónicos y el hardware que hay dentro de un ordenador que almacena datos. La abstracción nos ayuda a simplificar las cosas porque nos permite ignorar los detalles que no necesitamos conocer en este preciso momento.
En este caso, los detalles que podemos ignorar incluyen: que los ordenadores usan dispositivos físicos como circuitos electrónicos y voltajes en circuitos para almacenar y mover datos y que existe una gran cantidad de complejas teorías físicas y matemáticas que hacen que todo esto funcione.
No necesitamos entender cómo funcionan estos circuitos para usar datos y representar cosas usando binario. El uso del binario es una abstracción de estos circuitos y nos permite representar números como si estuvieran formados por bits (0 y 1), para entender datos y resolver problemas sin tener que pensar en lo que está sucediendo en el interior del ordenador.
Otro uso de la abstracción es considerar qué se necesita para representar cualquier dígito en binario. La respuesta es que solo se necesitan dos cosas diferentes. ¡Y pueden ser cualquier cosa! Dos colores diferentes, dos animales diferentes, dos símbolos diferentes, etc. Siempre que haya dos y que sean diferentes, puedes usarlas para representar cualquier número, usando binario, de la misma manera que un ordenador usa electricidad para representar datos.
Podemos usar dígitos binarios para representar cualquier tipo de datos almacenados en un ordenador. Cuando representamos otras formas de datos (como letras, imágenes y sonido) también usamos la abstracción porque ocultamos los detalles de todos los números binarios que se encuentran por debajo y solo vemos una porción completa de datos. Todas las formas de datos terminan siendo representadas como números (que en realidad son solo combinaciones de bits) - para el texto tenemos un número para cada letra, para imágenes usamos un número para cada color y así sucesivamente. ¡Usamos varias capas de abstracción! Por ejemplo, una forma familiar de abstracción es que el mes "octubre" se puede representar con el número diez, que en realidad se representa con los bits 01010, y si estos se almacenan como voltajes en la memoria de un ordenador, al final esto para los voltajes es: "bajo, alto, bajo, alto, bajo".
Ejemplos de lo que podrías buscar:
Qué alumnos demuestran la conversión y representación de números binarios usando cosas que no sean “1 y 0”, "blanco y negro” y “encendido y apagado" (por ejemplo usando :) y :( o usando gente de pie o sentada). Si eres capaz de intercambiar términos como "blanco" y "negro" con 0 y 1 sin que los alumnos se preocupen por la diferencia, estarán ejercitando la abstracción.
Descomposición
Un ejemplo de descomposición es separar la conversión del número a binario en pasos de un bit cada vez. Las preguntas "Esto debería ser 1 o 0" para cada una de las cartas de puntos descomponen el problema en una serie de preguntas.
Ejemplos de lo que podrías buscar:
¿Qué alumnos reconocen que es importante empezar con la carta más a la izquierda y solo considerar un bit cada vez? ¿Qué alumnos se concentran en un bit individual cada vez, en lugar de agobiarse intentando trabajar con todos ellos de una sola vez?
Generalización y patrones
El reconocimiento de patrones en el funcionamiento del sistema numérico binario nos proporciona un entendimiento más profundo de los conceptos involucrados y nos ayuda a generalizar estos conceptos y patrones para que podamos aplicarlos a otros problemas.
A un nivel sencillo, comenzamos con los números 1, 2 y 4 y los alumnos lo generalizaron a valores dobles. El ejercicio utiliza números de 5 bits, pero los alumnos deberían de ser capaces de generalizarlo a números de 8 bits o más.
El algoritmo para convertir un número decimal a un número binario sigue un patrón que se puede generalizar para resolver el problema de la devolución de cambio cuando alguien paga en efectivo. Para los números binarios, empieza con el bit más grande, siempre puedes activar un bit si lo necesitas, igual que cuando devuelves cambio empiezas con la denominación más grande y luego siempre usas una moneda (o billete) cuando lo necesitas. Nota sobre la jerga: Este algoritmo se conoce como voraz - ¡toma todo lo que puede cada vez!
Vínculos matemáticos
Pregúntale a los alumnos qué tiene de especial la conversión de decimal a binario, en contraste con el algoritmo general de devolución de cambio y hazles observar que en el caso general puede ser necesario dar más de una moneda de la misma denominación, mientras que en la conversión binaria siempre hay una (o ninguna) de cada.
Al contar de forma ascendente en binario, existe un patrón para la frecuencia con la que se voltean cartas concretas. El primer bit (con 1 punto) se voltea todas las veces, el segundo (con 2 puntos) se voltea cada dos números, el tercero (con 4 puntos) se voltea cada cuatro... ¿Existe un patrón similar al contar en números decimales?
Si tienes 5 cartas y todas son visibles, tendrás el número 31, que es 1 menos que el valor de la siguiente carta, 32. ¿Es este patrón siempre verdadero?
La cantidad de números que puedes representar con un cierto número de bits es la misma que el valor del siguiente bit que se pueda añadir. Por ejemplo, usando 4 cartas (1, 2, 4, 8) puedes representar 16 números diferentes (0-15) y la siguiente carta en la secuencia es el número 16. Cada vez que añadimos la siguiente carta, también duplicamos la cantidad de números diferentes que podemos representar.
Trabajar con estos patrones es valioso para calcular la relación entre el número de bits que están siendo usados y la potencia de lo que pueden representar.
Explica uno o más de los siguientes patrones:
Que con un cierto número de cartas puedes formar la misma cantidad de números diferentes que el número de puntos que habría en la siguiente carta que se añadirá a la izquierda (recuerda que 0 es un número).
Al contar en orden ascendente: la primera carta (1 punto) se voltea cada vez, la segunda carta (2 puntos) se voltea cada dos veces, la tercera (4 puntos), cada cuatro veces y la cuarta (8 puntos), cada ocho veces...
Que cuando todas las cartas que tienes sean visibles, sumarán el número de la siguiente carta binaria menos 1.
Ejemplos de lo que podrías buscar:
¿Qué alumnos reconocieron rápidamente que cada carta estaba duplicando el número de puntos? ¿Pueden los alumnos ver las similitudes entre esto y la multiplicación de los valores posicionales por 10 cuando usan el sistema decimal?
¿Qué alumnos entienden fácilmente los patrones de volteo de las cartas al contar con números binarios?
Lógica
El pensamiento lógico consiste en usar reglas que ya conoces y usar la lógica para deducir más reglas e información a partir de estas. Una vez que sabemos el número que representa cada carta binaria, podemos usar este conocimiento para averiguar cómo representar otros números con las cartas. Si memorizas cómo representar los números que podemos formar con 5 cartas, ¿significa esto que entiendes cómo representar cualquier número con cualquier número de bits? No, pero puedes entender cómo hacerlo si entiendes la lógica tras la formación de estos números con las 5 cartas.
Un buen ejemplo de pensamiento lógico en números binarios es el razonamiento que explica por qué cada bit "tiene" que tener un valor particular (ej. tiene que ser 1 o tiene que ser 0) para representar un número dado. Esto a su vez lleva a entender que solo hay una representación para cada número.
Ejemplos de lo que podrías buscar:
¿Explican los alumnos explícitamente que el bit más a la derecha tiene que ser un uno porque es el único número impar y por lo tanto es necesario para que podamos formar todos los números impares? Sin él solo podríamos formar números pares.
¿Son los alumnos capaces de explicar que cada carta "tiene" que estar en la forma que está para un número dado, por ejemplo, la carta de 16 puntos es necesaria para el número 19 porque sin ella solo hay 15 puntos restantes a su derecha (no son suficientes); pero la carta 16 no es necesaria para el número 9 porque proporcionaría demasiados puntos?
Evaluación
Un ejemplo de evaluación consiste en averiguar cuántos valores diferentes se pueden representar con un número dado de bits (p.ej. 5 bits pueden representar 32 valores diferentes) y viceversa (para representar 1000 valores diferentes, necesitas al menos 10 bits).
Ejemplos de lo que podrías buscar:
¿Puede un alumno averiguar el intervalo posible con 4 bits? (16)
¿6 bits? (64)
¿8 bits? (256)
Si añadimos un bit más a una representación, ¿cuánto aumenta el intervalo? (lo duplica)
Si añadimos dos bits más a una representación, ¿cuánto aumenta esto el intervalo? (se cuadriplica)
¿Cuántos bits necesitamos para representar 1000 valores diferentes? (10 es suficiente)
¡Lamentablemente esta definición no está disponible en español!