El proceso de codificación corresponde al de "traducir" un modo de representación de
información en otro modo. Así, al utilizar códigos para transmitir la información a
distancia, una letra se traduce en una serie de puntos y rayas, o de unos y ceros, o luces prendidas y apagadas. Una
vez que la información codificada llega a destino, se la decodifica. Esto es, se la vuelve a convertir para
que recupere su forma original.
En la actualidad, la mayoría de los códigos utilizados en las nuevas tecnologías de la
información y de las comunicaciones poseen una cantidad fija (o múltiplos de esa cantidad fija) de
dígitos binarios, cada uno de los cuales corresponde a un bit (binary digit, dígito binario en
inglés). Esto no sucede con todos los códigos. Uno de los más conocidos debido a su frecuente
aparición en enciclopedias y textos de diverso tipo es el código Morse, hoy prácticamente en
desuso. Este código tiene una longitud variable y en realidad, contrariamente a lo que aparenta, no es un
código binario sino ternario. Posee tres elementos que son el pulso largo, el pulso corto y el espacio.
Cuando se codifica información en computadoras se dispone solamente de dos símbolos ("0" y
"1") y no existe nada equivalente a un espacio. Esto obliga a definir modos de determinar cuándo
finaliza una "letra" del mensaje y cuándo comienza la siguiente. Un modo de solucionar este problema
es normalizar los códigos para que tengan longitud fija. Éste es el motivo por el que se trabaja con
grupos de bits de longitud preacordada. El uso extendido de esta solución ha llevado a darle nombre a una
agrupación típica que es el byte, que se pronuncia "báit", y corresponde al grupo de 8
bits.
Para que un código sea válido es necesario que la decodificación tenga una única
interpretación. Sobre este último punto es que se propone un trabajo con los alumnos.
La primera parte puede realizarse en cualquier aula, mientras que la segunda (de carácter opcional o
complementario) requiere del uso de computadoras. Pensamos esta propuesta con el fin de que los alumnos:
- traduzcan información mediante el uso de códigos.
- reconstruyan partes del proceso de creación de códigos.
- identifiquen características que permitan que un código pueda ser decodificado.
- descubran y comprendan algunas necesidades de orden técnico que llevan a codificar la información
en grupos de longitud fija.
Duración estimada de la actividad: dos a tres clases.
Desarrollo de la propuesta
- Se organizan grupos de al menos tres alumnos cada uno y se los provee de dos fichas o tarjetas en blanco y un
cuaderno. Se les propone que codifiquen, en una de las fichas, un mensaje de pocas palabras (tres o cuatro)
utilizando como referencia el código Morse, adaptando las rayas como unos y los puntos como ceros, y
separando cada letra mediante un espacio. Luego, se propone que cada alumno le pase su mensaje a un
compañero (por ejemplo, al de la derecha) y que a su vez reciba un mensaje codificado cuyo contenido
desconoce. Cada alumno debe decodificar el mensaje que recibió y escribirlo en una hoja propia. El docente
puede entregarles una tabla con el código Morse o pedirles a ellos que la busquen en textos o
enciclopedias.
Por ejemplo, si el mensaje es "EN CLAVE", quedaría "0 10 1010 0100 01 0001 0".
- Se sugiere hacer notar aquí que el Morse es considerado por algunas personas como un código de
tres símbolos y no de dos: punto, raya y espacio. Así puede promoverse una breve discusión en
el grupo para que cada uno argumente sobre el sentido y la razonabilidad de esta afirmación.
- Se propone luego que cada alumno tome la tarjeta que recibió y haga una copia en otra tarjeta pero
salteando los espacios en blanco que separan una letra de la siguiente. Luego pasará la nueva tarjeta a otro
compañero para que intente decodificarla, lo que provocará grandes dificultades de
interpretación. Puede ponerse esto en evidencia pidiendo que comparen los resultados de la
interpretación del mensaje con espacios y sin espacios.
Por ejemplo, el mensaje anterior "0101010 010 0 010 0 010" podría ser interpretado como
"0;10;1010;0100;01;0001;0" (EN CLAVE), o como "01;0;10;1;0010;0;0100;010" (AENTFELR), o de
muchas otras formas posibles.
- Se pide entonces a los alumnos que encuentren una solución creando un nuevo código que permita
codificar frases utilizando ceros o unos sin espacios que los separen. El modo de trabajo es libre y podrá
consistir en inventar un nuevo código o en modificar el código Morse, si así lo desean.
- Es de esperar que las soluciones se ubiquen en alguna de estas tres categorías:
a. longitud fija: que evita el problema del espacio como modo de separar cada letra. Esto puede conseguirse creando
un código completamente nuevo o modificando el código Morse con ceros hasta completar una cantidad
fija de cifras (pueden ser cuatro). Por ejemplo: la A que es "01" se transforma en "0100", y la
T que es "1" se transforma en "1000".
b. longitud variable: en la que cada palabra del código propuesto sea identificable porque no forma parte
del comienzo de ninguna otra. Por ejemplo: A es 01, B es 001, C es 0001, etc.;
c. símbolo de finalización: permite utilizar longitud variable por medio de la incorporación
de un "símbolo" que corresponde al fin de letra (por ejemplo seleccionando como símbolo de
finalización el "0001" y modificando aquellas palabras de códigos en las que pueda haber
tres ceros juntos).
- Se sugiere dejar que los alumnos intenten proponer soluciones dentro de los grupos, y en caso de necesidad,
ayudarlos brindándoles pistas mediante preguntas como: ¿qué pasaría si todos los
códigos fueran de la misma longitud? ¿No se podría inventar una palabra de código que
significara "fin de letra"?
- Se propone cerrar el trabajo comentando que cada "cifra" de las utilizadas recibe el nombre de bit y
que en muchas ocasiones resulta necesario el trabajo con grupos de bits de longitud fija. Un tamaño fijo de
bits muy común es el de grupos de a ocho, que se denominan bytes (se pronuncia "báits"), y
que es la unidad de medida de la memoria de las computadoras.
La computadora como herramienta
En caso de disponer de un laboratorio que tenga computadoras, la propuesta puede incluir una segunda parte para
trabajar en base a textos algo más extensos mediante el uso de un procesador de texto y de la función
de "búsqueda y reemplazo". De este modo el procesador de textos tomará la función de
procesar información, en un sentido más técnico que el que se le atribuye normalmente.
Así, para codificar un mensaje se lo escribirá y luego se procederá a buscar todas las
"A" y reemplazarlas por "01", y así siguiendo con cada letra del código. Incluso es
posible automatizar el proceso mediante la creación de macros dentro del Word. Esto permitirá la puesta
a prueba de diferentes códigos en forma automática. También permitirá utilizar la
herramienta de "contar caracteres con espacios" para poder comparar de manera rápida la eficiencia
del código utilizado por diferentes grupos de alumnos.