160
TI4 Propuesta de planificación anual para Tecnologías de la Información _ 4º año de la NES (TI4), CABA Versión 14/02/2018 1 1 Esta obra está bajo Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional. 1/160

Propuesta de planificación anual para ... - program.arprogram.ar/descargas/Planificacion_TI4_ProgramAR_v14-02-2018.pdf · Prólogo Con gran alegría presentamos esta planificación

Embed Size (px)

Citation preview

  • TI4Propuesta deplanificacin anual paraTecnologas de la Informacin_ 4 ao de la NES (TI4), CABA

    Versin 14/02/2018 1

    1 Esta obra est bajo Licencia Creative Commons Atribucin-NoComercial-CompartirIgual 4.0 Internacional .

    1/160

    https://creativecommons.org/licenses/by-nc-sa/4.0/deed.es

  • ndice ndice

    Prlogo

    Historial de versiones

    Resumen de clases Clase 1: La informacin y sus representaciones Clase 2: Sistemas de representacin numrica Clase 3: Repaso de programacin Clase 4: Introduccin a algoritmos Clase 5: La representacin de texto Clase 6: Programacin con textos y caracteres Clase 7: Representacin de imgenes Clase 8: Programacin con imgenes Clase 9: Representacin de audio y video Clase 10: Programacin con audio Clase 11: Introduccin a Internet Clase 12: Protocolo IP (primera parte) Clase 13: Protocolo IP (segunda parte) Clase 14: DNS Clase 15: Infraestructura fsica Clase 16: Ruteo Clase 17: TCP y paquetes de datos Clase 18: Modelo cliente-servidor y HTTP Clase 19: Criptografa Clase 20: La nube Clase 21: Navegando la web Clase 22: Internet, para todos y todas?

    Representacin de la informacin 1. La informacin y sus representaciones 2. Sistemas de representacin numrica 3. Repaso de programacin 4. Introduccin a algoritmos 5. La representacin de texto 6. Programacin con textos y caracteres 7. Representacin de imgenes 8. Programacin con imgenes 9. Representacin de audio y video 10. Programacin con audio

    Internet 11. Introduccin a Internet 12. Protocolo IP (primera parte) 13. Protocolo IP (segunda parte)

    2/160

  • 14. DNS 15. Infraestructura fsica 16. Ruteo 17. TCP y paquetes 18. Modelo cliente-servidor y HTTP 19. Criptografa 20. La nube 21. Conclusin 21. Navegando la web 22. Internet, para todas y todos?

    Crditos

    3/160

  • Prlogo Con gran alegra presentamos esta planificacin como un aporte de la Iniciativa Program.AR a la materia Tecnologas de la Informacin de 4to ao. As como en su hermana mayor, nuestra propuesta de planificacin para TI3 , aqu tambin buscamos ser fieles al diseo curricular acercando nuestra mirada sobre cmo abordar las Ciencias de la Computacin en la escuela argentina. Como una forma de brindar las oportunidades de ejercitar el pensamiento profundo que requieren la programacin y la algoritmia , esta planificacin contina el trabajo con estos temas utilizando como vehculo a las imgenes , el audio y el video. Estos son temas cercanos a la experiencia cotidiana de las y los alumnos: se trata de ejercicios para modificar o sintetizar sonidos e imgenes, que se realizan en el lenguaje Python y con bibliotecas especficas que se encargan de los detalles finos de los formatos de archivo. Para llegar a este punto ofrecemos dos pasos previos. Por un lado, algunas secuencias didcticas para recuperar los conceptos de programacin trabajados con la herramienta Alice en TI3 y para pasar de un lenguaje por bloques a un lenguaje textual. Por el otro, unas clases introductorias que problematizan y distinguen el concepto de informacin del de sus distintas formas de representacin . Otro de los grandes temas que se tocan en TI4 es Internet . Buscamos combinar un enfoque tcnico que explique el funcionamiento de la tecnologa que hace a nuestra experiencia visible, con una visin crtica que permita entender las condiciones sociales en las que funciona y se desarrolla la Red. Para estos temas proponemos un trabajo en clase basado fuertemente en la discusin y en las actividades grupales, y no tanto basado en herramientas puramente informticas, atendiendo a las realidades de las escuelas an no conectadas. Esta planificacin no cubre todo el ao , dejando el espacio para tratar los temas curriculares que no son parte del ncleo de Ciencias de la Computacin que es donde ms tiene para aportar nuestro equipo de expertas y expertos. Este trabajo se pone a disposicin de la comunidad bajo una licencia Creative Commons como 2una forma de incentivar la creacin de obras derivadas. Dicho de otra forma, fomentamos activamente que las y los colegas generen sus propias versiones de este material y las compartan con la comunidad. Esperamos que resulte til para el trabajo en el aula. Nos encantara escuchar sus comentarios, crticas y sugerencias. Los esperamos en [email protected] y queda abierta la invitacin a revisar peridicamente nuestro sitio web, o seguirnos en las redes sociales, para mantenerse al tanto de las futuras versiones. El equipo de Program.AR

    www.program.ar

    @Programar2020 | programar2020

    2 Especficamente, una licencia "Creative Commons Atribucin-NoComercial-CompartirIgual 4.0 Internacional", cuyos detalles pueden consultarse en https://creativecommons.org/licenses/by-nc-sa/4.0/deed.es .

    4/160

    http://program.ar/planificacion-anual-ti3/mailto:[email protected]://www.program.ar/https://twitter.com/programar2020http://facebook.com/programar2020https://creativecommons.org/licenses/by-nc-sa/4.0/deed.es

  • Historial de versiones

    Versin Cambios

    27/11/2017 Versin inicial con la descripcin de todas las clases y la elaboracin completa de las clases 9, 10 y 11 a modo de muestra.

    14/02/2018 Primera versin completa.

    Schinca, Herman Propuesta de planificacin anual para Tecnologas de la Informacin, 4 ao de la NES (TI4), CABA / Herman Schinca ; Daniela Villani ; contribuciones de Franco Frizzo ; editado por Fernando Pablo Schapachnik ; ilustrado por Jaqueline Schaab. - 1a edicin para el profesor - Ciudad Autnoma de Buenos Aires : Fundacin Sadosky, 2018. Libro digital, PDF - (Program.AR. Materiales para Tecnologas de la Informacin, CAB ; 3) Archivo Digital: descarga ISBN 978-987-27416-4-8 1. Computacin. 2. Informtica. I. Frizzo, Franco, colab. II. Schapachnik, Fernando Pablo, ed. III. Schaab, Jaqueline, ilus. IV. Ttulo. CDD 005.1

    5/160

  • Resumen de clases

    N1 La informacin y sus representaciones Ver clase

    Objetivos Palabras clave

    Problematizar las distintas concepciones de

    las y los estudiantes acerca de qu es lainformacin.

    Distinguir entre la informacin y surepresentacin.

    Identificar distintos medios para representarla informacin.

    InformacinSistema de representacinMedio

    Resumen

    Se comenzar realizando una actividad para conocer cules son las concepciones previas sobre elconcepto de informacin y, mediante distintos ejemplos y una prctica reflexiva guiada por el/la docente, sebuscar entender por informacin a una amplia gama de ejemplos.Luego, se comenzar a trabajar en cmo se puede representar la informacin, con el objetivo de distinguirentre la pieza de informacin y el modo en cmo se representa. Para ello ser necesario introducir elconcepto de sistema de representacin, mediante el cual se define de forma clara y precisa cmo es quecierta informacin va a ser representada. Las y los estudiantes debern disear su propio sistema derepresentacin para un fragmento de informacin que elijan.Por ltimo, se traer a la discusin el medio utilizado para representar una informacin, el cual puede servisual, sonoro, tctil, etc.

    6/160

  • N2 Sistemas de representacin numrica Ver clase

    Objetivos Palabras clave

    Reconocer distintos sistemas de

    representacin para los nmeros naturales. Comprender la relacin entre la eleccin de

    un sistema de representacin y su aplicacin. Relacionar los sistemas binarios con el

    campo de la informtica. Reconocer algunas representaciones

    numricas que utiliza la computadora.

    Sistema de representacinNmero binarioBit

    Resumen

    En esta clase se trabajar en torno a la representacin de nmeros, utilizando a los naturales como puntode partida para establecer relaciones entre distintas representaciones, sus objetivos y orgenes.Se debatir sobre el sistema decimal, los smbolos que representan las cifras y la importancia de laposicin de los mismos. Esto servir de introduccin para presentar actividades con sistemas en base dosy poder comprender por qu se utiliza un sistema binario para codificar las corrientes elctricas querecorren los circuitos de las computadoras.Por ltimo, se mostrar que la computadora utiliza sistemas binarios para codificar su informacin y sereflexionar acerca de la relacin entre la cantidad de bits y la cantidad de nmeros posibles derepresentar.

    7/160

  • N3 Repaso de programacin Ver clase

    Objetivos Palabras clave

    Re-familiarizarse con el entorno de

    programacin Alice. Recuperar los conceptos de variable y de

    repeticin condicional. Introducir el uso de un lenguaje textual:

    Python.

    ProgramacinBsqueda linealAlicePython

    Resumen

    Se propone realizar un repaso de programacin utilizando Alice como herramienta y un problema debsqueda lineal como ejercitacin. Para resolverlo se requerir recordar cmo interactuar con el usuario delprograma, qu eran y para qu se utilizaban las variables y la repeticin condicional. Adems se utilizareste problema para reflexionar acerca de la eficiencia de las estrategias elegidas para resolverlo, reflexinque continuar en la siguiente clase de programacin.La segunda actividad introducir un lenguaje de programacin textual: Python. Mediante la resolucin de unproblema sencillo, similar al anterior, se trabajar la sintaxis de este nuevo lenguaje y cmo se puedegenerar un programa ejecutable para poder correr sin la necesidad de un entorno especial como en Alice.Por ltimo, se propone una actividad optativa, variante de la segunda actividad.

    N4 Introduccin a algoritmos Ver clase

    Objetivos Palabras clave

    Comprender los principios bsicos del

    algoritmo bsqueda binaria. Comparar la eficiencia de la bsqueda lineal

    vs. la bsqueda binaria. Relacionar la bsqueda binaria con el

    funcionamiento de los buscadores web.

    Bsqueda binariaPythonBuscadores web

    Resumen

    La clase comienza realizando una actividad sin computadoras en donde se aborda el algoritmo debsqueda binaria relacionndolo con estrategias de bsqueda probablemente conocidas por las/los

    8/160

  • estudiantes. Luego se trata de vincular esta estrategia con el problema de adivinar el nmero elegido por elusuario trabajado en la clase anterior.A continuacin, sobre la base de un cdigo incompleto, se programa en Python una posible implementacinde la bsqueda binaria y se analiza la eficiencia del mismo para distintos rangos de valores.Por ltimo, se relaciona el algoritmo de bsqueda binaria con el funcionamiento de los buscadores web.

    N5 La representacin de texto Ver clase

    Objetivos Palabras clave

    Reconocer diferentes sistemas de

    representacin para letras y textos. Identificar algunas de las codificaciones de

    caracteres que utilizan las computadoras yqu inconvenientes puede traer el uso desistemas de representacin diferentes.

    Comprender el funcionamiento de uncompresor y un descompresor de texto.

    Analizar diferentes algoritmos de compresiny las ventajas y desventajas que puedegenerar su uso.

    TextoCompresinCodificacin de caracteres

    Resumen

    En esta clase se trabajar sobre la representacin de textos.Para comenzar, se discutir sobre las distintas formas de representacin de informacin en forma de texto,utilizando emojis y reconociendo palabras, letras y caracteres y sus diferencias con los nmeros. Sepropondr una actividad en la cual los estudiantes crearn en grupos sus propias representaciones binariaspara codificar textos y analizarn las mismas mediante una gua provista por el/la docente e identificarnsus alcances y limitaciones.Luego se presentarn las representaciones de caracteres utilizadas por las computadoras, identificando lasms usuales y los inconvenientes que puede ocasionar su uso.Para finalizar, se revisarn las ideas previas respecto al funcionamiento de compresores y descompresoresde texto y se realizar una actividad grupal para comprender su funcionamiento.

    9/160

  • N6 Programacin con textos y caracteres Ver clase

    Objetivos Palabras clave

    Programar algoritmos simples sobre textos. Reconocer los problemas que plantea una

    actividad e idear estrategias para suresolucin mediante la creacin deprogramas.

    Identificar la necesidad de utilizar variables,estructuras de repeticin y condicionales eincluirlas durante la creacin de programas.

    Realizar programas que comparen caracteres,cuenten apariciones e identifiquen cantidadesmximas.

    ForCondicionalesBsqueda de mximo

    Resumen

    En esta clase se realizarn algoritmos para poder recorrer textos caracter por caracter y realizarcomparaciones y operaciones simples.La primera actividad ser para comprender y resolver el problema de contar la cantidad de apariciones deun mismo carcter. El/la docente explicar la implementacin en Python y propondr a las/los estudiantesescribir un nuevo programa que cuente la aparicin de dos caracteres diferentes e indique cul es la queaparece una mayor cantidad de veces. Esto requerir utilizar variables, condicionales y estructuras derecorrido.

    N7 Representacin de imgenes Ver clase

    Objetivos Palabras clave

    Comprender cmo se representan las

    imgenes en las computadoras. Identificar al pxel como unidad de

    representacin y las formas en que organizala informacin en imgenes en color o enblanco y negro.

    Analizar la relacin entre las caractersticasde una imagen y su tamao, distinguiendoentre resolucin y profundidad de color.

    ImagenPxelFormatos de imagen

    10/160

  • Comprender la diferencia entre formatos deimagen con compresin y con prdida y sinprdida de informacin.

    Identificar los formatos de imgenes msutilizados y sus principales caractersticas.

    Resumen

    En esta clase se trabajar sobre la representacin de imgenes digitales.Para comenzar, se realizar un intercambio para trabajar sobre los conceptos previos sobre larepresentacin de imgenes digitales y su almacenamiento e introducir una primera aproximacin aconceptos como dimensin de una imagen y pxel. Luego, se utilizarn estrategias de codificacin similaresa las trabajadas en las clases de representacin de nmeros y caracteres pero para representar imgenesen blanco y negro.En la tercera actividad de esta clase se analizarn imgenes en escala de grises para identificar el tipo deinformacin necesaria para su representacin,y analizar cmo vara la dimensin de una imagen almodificar su cantidad de pxeles y de informacin a representar.La actividad siguiente complejizar los abordajes previos para introducir la composicin de rojo, verde yazul dentro de cada pxel para representar imgenes a color.Para finalizar, se discutir sobre formatos de imgenes segn la necesidad de uso y algunas de suscaractersticas, como la compresin con o sin prdida de informacin.

    N8 Programacin con imgenes Ver clase

    Objetivos Palabras clave

    Idear estrategias de resolucin acorde a los

    problemas computacionales propuestos. Programar algoritmos que permitan crear

    imgenes en blanco y negro. Crear algoritmos simples sobre imgenes que

    permitan modificar los colores de uno ovarios pxeles.

    Indagar sobre el funcionamiento de los filtrosde imgenes.

    Identificar las similitudes y diferencias conlos algoritmos programados anteriormenterespecto a las formas de recorrer o modificarla informacin segn se trate de textos,nmeros o imgenes.

    ImagenFiltroRGBPxel

    11/160

  • Resumen

    En esta clase se trabajarn distintos algoritmos para crear y modificar imgenes.Se comenzar creando imgenes simples en blanco y negro, para aproximarse a la forma de recorrer yeditar una imagen como si fuera una cuadrcula. Luego, se retomarn los conceptos de representacin deimgenes a color de la clase a anterior para hacer transformaciones simples de color en fotografasmodificando la informacin de los tres colores primarios dentro de cada pxel.Por ltimo, se propondr una actividad ms compleja que consistir en realizar un programa que rote unaimagen.Las actividades a lo largo de esta clase permitirn una comprensin ms profunda del funcionamiento delos filtros y editores de imgenes y brindarn herramientas para que las y los estudiantes puedandesarrollar filtros propios.

    N9 Representacin de audio y video Ver clase

    Objetivos Palabras clave

    Comprender cmo se representa el sonido en

    las computadoras. Comprender cmo se representa el video en

    las computadoras. Reconocer qu factores impactan en la

    calidad del audio y el video digital. Vincular la representacin de imgenes con la

    representacin de audio y video.

    Audio/SonidovideoDigitalizacinFrecuencia de muestreoProfundidad de bitsCuadros por segundo (FPS)

    Resumen

    En la primera parte de la clase se realizar una breve introduccin sobre qu es el sonido y se utilizar elprograma Audacity para generar algunos tonos simples que permitan visualizar las ondas. A continuacinse problematizar cmo se podran guardar las ondas que definen los sonidos en la computadora. Para elloser necesario conceptualizar las nociones de frecuencia de muestreo y profundidad de bits, las cualespermitirn, adems, reflexionar acerca de la relacin de estas variables con el peso de los archivosresultantes.En la siguiente actividad, se abordar brevemente cmo se almacena digitalmente el video, haciendohincapi en la nocin de cuadros por segundo (FPS) y recuperando las de resolucin y profundidad de colortrabajados en la clase 7. Se propone utilizar dos piezas de software sencillas para trabajar con video:OpenShot y Huayra Motion.

    12/160

  • Los tres programas utilizados en esta clase vienen instalados por defecto en el sistema operativo Huayra.

    N10 Programacin con audio Ver clase

    Objetivos Palabras clave

    Poner en prctica los conceptos sobre

    digitalizacin de audio. Crear y modificar sonidos

    programticamente. Analizar la relacin entre la frecuencia de

    muestreo y la longitud de la lista deintensidades de un archivo wav.

    Frecuencia de muestreoProfundidad de bitsIntensidad

    Resumen

    Las primeras 3 actividades consisten en generar sonidos estilo MIDI a travs de la creacin de ondassenoidales con una frecuencia determinada (esta funcin viene dada). En la primera actividad se analiza unprograma de ejemplo en el cual se muestra cmo crear un sonido de una determinada frecuencia. Acontinuacin, se debe crear un programa que genere un wav que emita el sonido del La central de unpiano. Para finalizar se crear un audio que contenga todas las notas de una escala.Las siguientes actividades consisten en abrir un archivo de audio y modificar su contenido, logrando comoefectos acelerar y ralentizar la velocidad original del audio.

    13/160

  • N11 Introduccin a Internet Ver clase

    Objetivos Palabras clave

    Identificar y establecer las relaciones entre

    los elementos que integran distintos tipos deconexiones en red.

    Presentar una primera aproximacin aInternet, los actores relacionados con suexistencia, los elementos que la componen ya la importancia de comprender sufuncionamiento.

    InternetRedConexin

    Resumen

    En la primera clase de este eje temtico se realizar un intercambio reflexivo introductorio respecto a laimportancia de comprender el funcionamiento de Internet e identificar a los distintos actores y elementosque se relacionan con la misma. Se distinguir entre redes de dispositivos y computadoras e Internet y atravs del diseo de un afiche, que ser guiado por el/la docente, se plasmarn en grupos diferentessituaciones de comunicacin digital.Luego, entre toda la clase se armar una red de conceptos que organizar la informacin trabajada por losgrupos y servir de referencia para las clases posteriores.

    N12 Protocolo IP (primera parte) Ver clase

    Objetivos Palabras clave

    Comprender cmo identificar unvocamente a

    los dispositivos conectados a una red. Profundizar en la nocin de red y su relacin

    con la direccin IP. Reconocer al router como un dispositivo en la

    interfaz entre dos redes. Incorporar el uso de la herramienta

    ipconfig/ifconfig para el anlisis de una red.

    Protocolo IPRedPuerta de enlace / GatewayMscara de subred

    14/160

  • Resumen

    En la primera parte de la clase se problematizar sobre la necesidad de identificar a cada computadora quese conecta a una red con un nmero nico, conocido como direccin IP. Se recurrirn a las dos redeshogareas del diagrama de la clase 11 para trabajar la relacin entre una red y las direcciones IP de losdispositivos que componen esa red. A continuacin, se realizar una actividad con computadoras paradescubrir las direcciones IP de los dispositivos que se estn usando y de la puerta de enlace a la que seest conectado. Para ello, se usarn comandos como ipconfig/ifconfig.Se concluir la clase con un ejemplo concreto de cmo puede impactar el uso de direcciones IP en la vidacotidiana.

    N13 Protocolo IP (segunda parte) Ver clase

    Objetivos Palabras clave

    Comprender por qu son necesarias las

    direcciones IP pblicas y privadas. Analizar cules son los usos concretos que

    se les dan a las direcciones IP pblicas yprivadas.

    Conocer cmo se asigna una direccin IP auna computadora.

    IP pblicaIP privadaDHCP

    Resumen

    Se comenzar la clase evidenciando que la cantidad de direcciones IP disponibles es menor que todos losdispositivos que desean conectarse a Internet globalmente. Este problema dar lugar a problematizar dosconceptos de relevancia: IP pblica e IP privada.Luego, se realizar un ejercicio prctica para notar que la direccin IP del dispositivo que se est usando esdiferente de la direccin IP que ven la mayora de los dispositivos conectados a Internet, permitiendoejemplificar y profundizar sobre las redes privadas y pblicas. Utilizando el diagrama de la clase 11 comorecurso, se notar que las 2 redes hogareas pueden tener las mismas direcciones IP sin que esto resulteen un problema de comunicacin. A su vez, se notar que una de las funciones del router es actuar comonexo entre distintas redes, ya sean privadas o pblicas.Por ltimo, se abordar cmo hace una computadora para obtener una direccin IP a travs del protocoloDHCP.

    15/160

  • N14 DNS Ver clase

    Objetivos Palabras clave

    Problematizar la nocin de dominio. Comprender cmo se traducen los nombres

    de dominio a direcciones IPs. Reconocer la estructura jerrquica de un

    dominio. Conocer quin asigna los nombres de

    dominio.

    Nombre de dominioDNSURL

    Resumen

    En las clases anteriores se estuvieron abordando algunos aspectos de Internet vinculados a la idea deredes interconectadas y cmo identificar a los dispositivos en estas redes mediante direcciones IP. Sinembargo, al navegar por Internet, los usuarios no suelen escribir direcciones IP sino que lo hacen a travsde URLs que contienen nombres de dominio. Se abordar el funcionamiento a alto nivel del protocolo DNSpara entender cmo se realiza la traduccin entre el nombre de dominio y la direccin IP.En la segunda parte de la clase se trabajarn sobre los distintos tipos de nombres de dominio y sobre quinlos asigna y cmo obtener uno.

    N15 Infraestructura fsica Ver clase

    Objetivos Palabras clave

    Explorar el entramado de conexiones fsicas

    de Internet a nivel local y global. Reconocer intereses polticos y econmicos

    en el desarrollo fsico de Internet. Comprender la estructura jerrquica de los

    proveedores de Internet. Establecer relaciones entre la representacin

    de la informacin y los medios paratransmitirla.

    Comprender en qu consiste lasincronizacin comunicacional y el ancho debanda.

    Las ToninasCables submarinosJerarqua de ISPsMedios fsicosSincronizacinAncho de banda

    16/160

  • Resumen

    En las primeras dos actividades, se explorar el mapa fsico de Internet a escala global y se evidenciarquines y cuntos son los dueos de las conexiones que se utilizan alrededor del mundo. Seproblematizar sobre la estructura jerrquica de los proveedores de Internet y la concentracin de los ISPsde nivel 1.En la tercera actividad se relacionarn los contenidos de representacin de la informacin con las formasde transmisin de la misma. Se propondr una actividad de investigacin sobre los medios fsicos y susprincipales caractersticas. Adems, se abordar por qu es necesario un proceso de sincronizacin en lacomunicacin y la nocin de ancho de banda.

    N16 Ruteo Ver clase

    Objetivos Palabras clave

    Explorar cmo se determina la ruta que sigue

    un dato. Comprender que los datos pueden viajar por

    distintas rutas entre dos puntos iguales. Comprender que los routers usan unas tablas

    especiales para determinar cmo llegar a unadireccin IP particular.

    RutaTabla de ruteo

    Resumen

    La primera parte de la clase abordar el problema de cmo se determina la ruta que debe seguir unmensaje atravesando distintas redes para llegar a destino. Para ello, reforzando la estructura deinterconexiones globales vista la clase anterior, se observar que los routers son los que se comunicanentre dos redes y permiten redirigir los mensajes de una a otra. Sin entrar en detalles sobre los distintosalgoritmos, se trabajar acerca de la funcin de las tablas de ruteo y cmo se construyen.En la segunda parte, se abordarn dos cuestiones prcticas en relacin al ruteo: le eleccin de rutas mslargas en vez de otras ms cortas y cmo saber si existe una ruta entre mi dispositivo y un sitio webdeterminado.

    17/160

  • N17 TCP y paquetes de datos Ver clase

    Objetivos Palabras clave

    Comprender que la informacin en Internet se

    transmite separada en paquetes. Descubrir las reglas que garantizan que la

    informacin siempre llegue y se recibacompleta y ordenada.

    Identificar las situaciones que puedenintervenir en el envo de paquetes y susconsecuencias.

    Reconocer posibles soluciones a lacongestin de la red.

    PaquetesTCPPrdidaReordenamientoConfiabilidadCongestin

    Resumen

    Al comenzar la clase se problematizar cmo se organiza la informacin que se transmite por Internetdando lugar a la nocin de paquete. En la primera actividad, se analizarn situaciones de intercambio deinformacin que se ven limitadas por algn aspecto que resuelva el protocolo TCP.A continuacin, se explicar la necesidad de identificar los paquetes y de utilizar acuses de recibo para quequien haya enviado el mensaje confirme la recepcin de todos los paquetes o reenve los que no hayan sidorecibidos. Esto dar pie a reflexionar sobre los efectos de la congestin de las redes y qu mecanismosexisten para mitigarla.Para concluir, se explicitar que todo lo trabajado forma parte del protocolo TCP, uno de los msimportantes de Internet.

    N18 Modelo cliente-servidor y HTTP Ver clase

    Objetivos Palabras clave

    Reconocer las caractersticas del modelo

    cliente-servidor. Diferenciar a Internet de la World Wide Web. Presentar el protocolo HTTP, situaciones de

    uso y posibles inconvenientes. Abordar los conceptos de sesin y cookie.

    Cliente-ServidorWebHTTPCookie

    18/160

  • Comprender que Internet se compone dediferentes capas de abstraccininterrelacionadas.

    Resumen

    En la primera parte de la clase se recuperar lo trabajado en la segunda actividad de IP para presentar elmodelo cliente-servidor, distinguiendo las principales caractersticas del mismo.A continuacin, se abordar HTTP, protocolo que media las transferencias de informacin en la web,enfatizando las diferencias entre la World Wide Web e Internet. Se reconocer que las pginas web seescriben en el lenguaje HTML, se ejemplificar sobre un cdigo de error bien conocido de este protocolo yse relacionarn las nociones de sesin y cookie.Por ltimo, se realizar una actividad de sntesis en donde se vea a Internet como un sistema de distintosniveles de abstraccin y cmo interactan cada uno de los niveles y protocolos para realizar unadeterminada accin: navegar la web, usar una aplicacin de mensajera, etc.

    N19 Criptografa Ver clase

    Objetivos Palabras clave

    Comprender qu significa y por qu es

    necesario cifrar la informacin. Comprender los fundamentos y usos del

    cifrado simtrico y asimtrico. Identificar situaciones en las que se usen

    mecanismos de cifrado.

    Cifrado simtricoCifrado asimtricoClave pblicaClave privada

    Resumen

    Se comenzar la clase presentando un pequeo desafo para motivar la necesidad de cifrar la informacin yreflexionar acerca de uno de los primeros algoritmos de cifrado conocidos: el cifrado Csar. Se reflexionarsobre las caractersticas de este algoritmo y, ms en general, de los algoritmos de cifrado simtrico,haciendo hincapi en el uso de una clave compartida entre emisor y receptor.Luego, se problematizar qu inconvenientes tienen este tipo de algoritmos cuando el emisor y el receptorslo pueden contactarse a travs de un medio inseguro. Cmo ponerse de acuerdo sobre la clavecompartida? Esto motivar la necesidad de otro tipo de protocolos conocidos como de cifrado asimtrico,reconociendo que su fortaleza reside en la dificultad computacional para descifrar la clave privada.

    19/160

  • Por ltimo, se presentarn problemas y soluciones que hagan uso de algoritmos de cifrado ya seansimtricos, asimtricos o una combinacin de ambos.

    N20 La nube Ver clase

    Objetivos Palabras clave

    Comprender las implicancias de compartir

    informacin en Internet. Vincular a la nube con la infraestructura fsica

    necesaria para almacenar esa informacin. Identificar el valor de la informacin privada y

    la existencia de propietarios de los datos quese comparten.

    La nubePrivacidadPerdurabilidad de la informacinData center

    Resumen

    Esta clase se organizar en torno a la informacin que se encuentra en Internet. Se buscar que las/losestudiantes identifiquen el valor de los datos y la privacidad, y cmo una serie de empresas a lo largo delmundo concentran muchsima informacin ofreciendo servicios gratuitos.Se analizar la velocidad en que se genera informacin, la perdurabilidad de la misma y el volumen fsicoque se requiere para almacenarla, vinculando a los data centers con el concepto de nube.

    N21 Navegando la web Ver clase

    Objetivos Palabras clave

    Comprender el rol de los buscadores para

    facilitar, seleccionar y limitar el acceso a lainformacin.

    Indagar sobre el funcionamiento de lassugerencias de las redes sociales y losbuscadores.

    Identificar la existencia de contenidos noindexados por los buscadores.

    Algoritmos de recomendacinFiltro burbujaDeep web

    Resumen

    20/160

  • En esta clase se abordarn los distintos contenidos que se encuentran disponibles en Internet y cmo esposible accederlos. Se indagar cmo las redes sociales y los buscadores limitan y condicionan lassugerencias que brindan a las/los usuarias/os, regulando los consumos y organizndolos en diferentesgrupos con intereses afines o perfiles similares.Se investigar respecto a la informacin disponible en la red pero que no es indexada por diversos motivos,motivando as la presentacin de la denominada Deep web o Internet oculta.

    N22 Internet, para todos y todas? Ver clase

    Objetivos Palabras clave

    Identificar la presencia de Internet en objetos

    de la vida cotidiana y el uso responsable delos mismos.

    Reflexionar sobre las posibilidades de accesoa internet y las problemticas en torno a sudimensin social.

    Dimensin social de InternetInternet de las cosas

    Resumen

    Diversos objetos de la vida cotidiana incluyen conectividad y funcionalidades vinculadas al acceso a travsde Internet. Esto implica transformaciones respecto a la calidad de vida y a la forma de relacionarse con losobjetos, pero tambin respecto a las precauciones que deben tomarse y a los problemas de seguridad quepueden ocasionar. En la primera actividad de la clase se trabajar sobre estas transformaciones.En la segunda actividad se problematizar respecto al acceso a Internet, las posibilidades y limitacioneseconmicas, de infraestructura, de voluntades polticas, etc. Para ello se responder en grupo uncuestionario para reflexionar sobre el acceso a Internet y para hacer un repaso integrador de los contenidostrabajados a lo largo de las clases.Como actividad de cierre de los contenidos de Internet, se propondr la escritura de un cuento de cienciaficcin a partir de algunas preguntas disparadoras.

    21/160

  • 1Representacinde lainformacin_

    TI4 | Planificacin anual para Tecnologas de la Informacin4 ao de la NES (TI4), CABA

    22/160

  • La informacin y sus representacionesClaseN1

    En esta primera clase se buscar motivar la distincin entre la informacin y las formas de representarla. Esta divisin conceptual permitir, en las clases posteriores, separar con mayor claridad aquello que se quiere representar (nmeros, texto, imgenes, etc.) de los sistemas de representacin que codifican dicha informacin. Tambin se mostrar que es posible representar la 3informacin a travs de distintos medios y no nicamente utilizando sistemas visuales.

    Actividad 1.1

    En los primeros minutos de clase se realizar la presentacin e introduccin a la materia. Como primera actividad, se buscar motivar la idea de que la informacin puede ser representada de diversas maneras. En pequeos grupos, debern determinar qu pelculas, grupos musicales y refranes representan las siguientes secuencias de emojis:

    Pelculas Grupos musicales Refranes

    1

    2

    3

    4

    5

    6

    7

    Tabla 1.1. Secuencias de emo ji s que representan pelculas, grupos musicales y refranes. A continuacin se realizar una puesta en comn en donde cada grupo vaya completando una de las celdas, hasta cubrir toda la tabla. En la Tabla 1.2 se muestran las respuestas para cada una de las secuencias.

    3 Se utilizar indistintamente y a modo de sinnimos representar-codificar y representacin-codificacin.

    23/160

  • Pelculas Grupos musicales Refranes

    1 Titanic Guns and Roses A caballo regalado no se le miran los dientes

    2 Up La oreja de van Gogh Mejor pjaro en mano que cien volando

    3 Buscando a Nemo Coldplay Ojos que no ven, corazn que no siente

    4 Kung Fu Panda Las pastillas del abuelo Al pan pan, al vino vino

    5 El seor de los anillos Los palmeras A ro revuelto, ganancia de pescadores

    6 Rpido y furioso Rage against the machine Al mal tiempo, buena cara

    7 Batman La nueva luna Nunca digas: de esta agua no he de beber

    Tabla 1.2. Respuestas de las secuencias de emojis de la Tabla 1.1. El/la docente preguntar a la clase:

    La secuencia de emojis y los nombres de las pelculas, bandas y refranes son lo

    mismo? O representan lo mismo? Se podra haber jugado al dgalo con mmica para representar a las pelculas?

    Qu recurso se utiliza en ese juego para representar las cosas? Si los nombres hubieran estado escritos en rabe, representaran lo mismo? Lo

    hubieran podido entender? Qu otras formas de representar informacin conocen?

    A continuacin, el/la docente guiar un debate buscando que se empiece a diferenciar la informacin de cmo se la representa , adems de entender a la informacin en un sentido amplio y no solamente como aquella que es presentada por la televisin, el diario, la radio, Internet, los libros, etc. Se busca que las/los estudiantes empiecen a ampliar el espectro de lo que consideran informacin y que una misma informacin puede ser expresada de maneras diferentes. El objetivo es introducir la idea de que puede haber varias formas de representar una informacin y que para poder interpretarla correctamente el consumidor de dicha informacin debe conocer la manera en cmo fue representada. Por ejemplo, si el juego de los emojis hubiera sido remplazado por frases en rabe, probablemente nadie (o casi nadie) podra haber interpretado dicha informacin. La ltima pregunta busca anticiparse un poco a la actividad 1.3, notando que las representaciones no tienen que ser necesariamente visuales sino que tambin se puede representar informacin mediante sonidos, tacto u otros sentidos.

    24/160

  • Actividad 1.2

    Se repartir un mazo mezclado de tarjetas para que, en grupos, las/los estudiantes asocien cada tarjeta con una informacin particular. A modo ilustrativo, en la Imagen 1.1 se propone un mazo de tarjetas, que ya estn agrupadas por el tipo de informacin representada.

    25/160

  • Imagen 1.1. Tarjetas con distintas representaciones de una misma informacin. Luego de que hayan terminado de agrupar las distintas tarjetas, se proceder a realizar una puesta en comn en donde se debate cuntos tipos de informacin distinta encontraron y cules son. Tambin, es interesante orientar la discusin para notar que algunas representaciones podran estar indicando distintos tipos de informacin, por lo cual qu es lo que representa una tarjeta depende del contexto y de cmo se interprete dicha representacin. Por ejemplo, la tarjeta que muestra una indicacin en un mapa podra referirse a una direccin o a una casa (la casa que se encuentra aqu); la tarjeta que muestra una tira de 0s y 1s podra ser la representacin de un archivo, de una fecha, de una direccin, etctera. En este punto se puede plantear a la clase las siguientes preguntas:

    De qu depende que una representacin sea interpretada de una u otra forma? Cmo saber si la tira de 0s y 1s est representando a un archivo o a una fecha?

    Lo interesante de estas preguntas es que las/los estudiantes puedan comprender que solamente con una representacin no alcanza para que todas y todos nos pongamos de acuerdo sobre qu es lo que se representa. Distintas miradas pueden otorgarle distintos significados. Por ello, cuando se establece cmo se va a representar un tipo de informacin, se debe definir un conjunto de smbolos y reglas claras que describan cmo se va a codificar dicha informacin. Y tanto quien la codifique como quien la interprete deben estar en conocimiento de cul es el sistema de representacin (smbolos + reglas).

    Actividad 1.3

    En esta ltima actividad, sern las/los estudiantes quienes, en grupos, debern elegir algn tipo de informacin que no se haya trabajado previamente en la clase y definir un sistema de representacin. Se puede proponer que piensen en sistemas que no sean necesariamente pictricos o visuales, y mediante qu otros medios se podra representar la informacin. A continuacin, cada grupo le mostrar a sus compaeras y compaeros una representacin concreta y debern tratar de reconocer el tipo de informacin representada y el sistema de representacin elegido. El grupo que dise el sistema podr ir dando pistas sobre la informacin representada, en caso de que el resto de las/los estudiantes no se terminen de dar cuenta. Al finalizar, se explicitar el sistema de representacin diseado, es decir, cules fueron los smbolos y las reglas para codificar la informacin elegida. En caso de que ningn grupo disee sistemas no visuales, el/la docente podr dar algunos ejemplos de representacin de la informacin utilizando otros medios. Por ejemplo, el cdigo morse, el lenguaje hablado, los semforos que emiten sonidos y las campanadas de una iglesia, son sistemas sonoros que representan distintos tipos de informacin: letras, nmeros y smbolos de puntuacin; palabras; si se puede o no cruzar; y la hora respectivamente. Tambin podemos pensar en sistemas

    26/160

  • en donde el medio sea tctil como, por ejemplo, el sistema Braille de lecto-escritura para personas no videntes. Es importante que las/los estudiantes comprendan que la informacin se representa a travs de un medio en particular y que, incluso, la misma informacin puede ser representada mediante distintos medios (lenguaje escrito, lenguaje hablado y lenguaje Braille; semforos para videntes y para no videntes; etc.) ya que ms adelante se ver cmo mediante un medio elctrico tambin se puede representar informacin.Conclusin

    En esta primera clase se busca entender a la informacin en una concepcin amplia y problematizar cmo se la puede representar para poder ser comunicada. Para ello, resulta necesario introducir la nocin de sistema de representacin como un conjunto de elementos que permiten caracterizar a la informacin de manera clara. Uno de los aspectos ms notorios es que una informacin puede ser representada a travs de distintos sistemas (por ejemplo, las fechas) y que una misma representacin concreta puede estar representando distintas informaciones, dependiendo el sistema con el que se la interprete (por ejemplo, la tira de 0s y 1s de la Actividad 1.2).

    V olver al ndice

    27/160

  • Sistemas de representacin numricaClaseN2

    En la clase anterior se trabaj sobre qu es la informacin y distintas posibilidades y medios para representarla. En esta clase se comenzar a trabajar con un tipo de informacin en particular: los nmeros. Adems de profundizar sobre las diversas formas de representacin posibles para el conjunto de los nmeros naturales o enteros positivos, el objetivo es destacar la relacin que existe entre una forma de representacin y su contexto de aplicacin. Esta distincin dar el pie necesario para llegar al punto clave de la clase: el porqu del sistema binario en el campo de la informtica, y cmo se lo utiliza para representar nmeros naturales.

    Actividad 2.1

    En la primera actividad de la clase se discutir sobre el uso de sistema binario en computacin, sin profundizar sobre el sistema de representacin en s sino sobre las concepciones previas que tienen las/los estudiantes. Facu, Cami y Fede son amigos y se propusieron desarrollar un programa para jugar al truco. Antes de ponerse a programar, decidieron comenzar definiendo todo el maquetado y diseo grfico del juego. Acordaron que cada uno pensara una propuesta de diseo por separado para luego juntarse a discutir con cul se quedaban o si hacan un mix entre todas las opciones. En general esta estrategia les result muy bien salvo cuando tuvieron que decidir cmo se iba a mostrar al puntaje. En la Imagen 2.1 se muestra la opcin que cada uno eligi.

    Imagen 2.1. Las 3 formas de mostrar el puntaje del truco elegidas por Cami, Fede y Facu. Se podrn ir proponiendo las siguientes preguntas para generar un breve debate:

    Hay alguna que sea mejor que otra? Cul elegiran? Por qu? Todas se refieren a lo mismo? Cami dice que su forma de mostrar el puntaje es la mejor porque es fcil de leer a simple

    vista. Fede, en cambio, dice que el truco se anota as, que todos los que juegan truco la comprenden. Y Facu dice que la suya es mejor porque la computadora trabaja en binario. Qu opinan? El sistema de Facu es el mejor para hacer en computadora? Por qu?

    Las computadoras trabajan en binario, es cierto. Por qu entonces no ven 0s y 1s todo el tiempo cuando ustedes usan la computadora?

    El/La docente ir orientando la discusin destacando la diferencia entre la existencia, por un lado, del concepto de nmero 5 y, por el otro, de la pluralidad de formas en que se lo puede representar; que la computadora trabaja operando en binario (0s y 1s) por razones tecnolgicas (bien podra pensarse una mquina que operara en base 10); que 5, V y 101 son representaciones de la misma informacin, lo nico que cambia es la forma en cmo se muestra esta informacin pero no es cierto

    28/160

  • que una sea ms eficiente que otra; que este problema tiene 3 niveles: el 5 como concepto, la forma en que la computadora representa al 5 (101) y la forma en cmo se muestra el 5 en pantalla (5, ,V, 101, IIII o cualquier otra representacin). En la Imagen 2.2 se muestran distintas representaciones posibles del nmero 5.

    Imagen 2.2. Diferentes representaciones del nmero 5. Tal y como lo usamos en nuestro sistema de numeracin, 5lneas sucesivas |||||, el nmero 5 en el dado, el 5 en la notacin usual de truco, como gesto con una mano y ennmeros romanos.

    Se puede aprovechar para trabajar los contenidos referidos a sistemas denumeracin en conjunto con el rea de matemticas.

    Nota

    Se comentar que distintas culturas a lo largo de la historia idearon diferentes sistemas de numeracin en funcin de sus necesidades y contextos de uso [1]. Pueden mostrarse algunas imgenes de ejemplo:

    Egipcio

    Maya

    Babilnico

    29/160

  • Azteca

    Imagen 2.3. Sistemas de numeracin a lo largo de la historia. Para terminar, se mostrar que incluso en una misma cultura pueden convivir varias maneras de representacin. En particular, ya se vio que en la vida cotidiana se suelen utilizar los nmeros arbigos (1, 2, 3, 4, 5, ...) pero cuando se juega al truco se utiliza otra notacin.

    Usamos alguna otra manera de representar los nmeros en la escuela? Conocen la notacin cientfica?

    La notacin cientfica es un ejemplo de representacin creada para una necesidad de uso particular. Escribir magnitudes muy grandes o muy pequeas y operar con ellas se simplifica muchsimo con la eleccin de este sistema.

    Actividad 2.2

    En la segunda actividad, se buscar que en grupos puedan razonar acerca de los sistemas de representacin posicionales. Se dispondr de un tablero de 2 casilleros y 2 tarjetas con el nmero 0, 2 con el nmero 1 y as siguiendo hasta completar los 10 dgitos del sistema decimal.

    Imagen 2.4. Imagen representativa del tablero y algunas fichas. Se propondrn las siguientes preguntas:

    Cmo representaran al 42? Y el 24? Cules son los smbolos que usan para representar los nmeros? En el nmero 22, el primer 2 significa lo mismo que el segundo 2? Cuntos nmeros distintos pueden representar en este sistema? En qu influye la cantidad de casilleros? Qu pasara si tuviramos 3 casilleros

    en vez de 2?

    30/160

  • El objetivo de este pequeo debate es reflexionar acerca del rol de los distintoscomponentes del sistema posicional decimal para luego comenzar a abordar lossistemas binarios.

    Nota

    La primera pregunta del debate buscar distinguir entre el valor de un nmero y los smbolos que lo representan. En el ejemplo de los nmeros 24 y 42, smbolos iguales describen dos nmeros diferentes al ubicarlos en distintas posiciones. El nmero 22 se representa con dos smbolos iguales pero sus posiciones hacen que determinen magnitudes distintas: la primera cifra indica que el nmero est compuesto por 2 decenas y la segunda que est compuesto por dos unidades. Por ltimo, la idea ser reflexionar acerca de cunta informacin (nmeros) nos permite codificar este sistema y qu papel juega la cantidad de posiciones. 4

    Actividad 2.3 (optativa)

    Siguiendo con la lgica de la actividad anterior, en este caso se presentar un tablero de 3 casilleros y 3 tarjetas con el dibujo de una manzana y 3 con el de una pera. Se sabe que los nmeros 0, 4 y 7 se representan de la siguiente manera:

    0

    4

    7

    Imagen 2.5. Representacin de los nmeros 0, 4 y 7. Ejemplo de tablero y fichas.

    Los casilleros siempre tienen una fruta, no pueden quedar vacos. Las preguntas que se debern responder sern:

    Cules son los smbolos disponibles en este caso? Cuntos nmeros distintos se pueden representar? Qu otros nmeros representaran con el resto de las combinaciones posibles

    de manzanas y peras? Qu criterio utilizaron para elegir los nmeros a representar y su

    representacin?

    4 En cada casillero se puede elegir entre 10 smbolos diferentes. Como hay 2 casilleros, existen 10*10 combinaciones posibles. Si hubiera N casilleros, seran 10 N .

    31/160

  • Se buscar que las/los estudiantes identifiquen a la pera y la manzana como los dos smbolos de este sistema. En cuanto a la cantidad de nmeros que se pueden representar, depender de la codificacin que utilice cada grupo de estudiantes. Es fundamental que se describa con claridad y por escrito cul es la representacin para poder deducir la cantidad de nmeros codificados. Si cada combinacin distinta de tres frutas representa un nmero diferente, es decir, si la codificacin es biyectiva, con dicho sistema se pueden codificar exactamente 8 nmeros. En la Imagen 2.6 se muestran las 8 combinaciones posibles de peras y manzanas (sistema binario).

    0

    1

    2

    3

    4

    5

    6

    7

    Imagen 2.6. Representacin binaria estndar, representando a los nmeros entre el 0 y el 7.

    32/160

  • En la Imagen 2.7 cada manzana suma 4 en cualquier posicin que no sea la del medio y resta 1 cuando est en el medio. La pera vale 0 en cualquier posicin. ste sera un sistema binario en donde la representacin de los nmeros no es nica por lo que un mismo nmero es representado con distintas combinaciones.

    0

    4

    -1

    3

    4

    8

    3

    7

    Imagen 2.7. Representacin no biyectiva, 6 nmeros posibles de ser representados. A continuacin, se har una puesta en comn en donde cada grupo contar qu conjunto de nmeros eligi representar, y cmo se codifica cada uno de ellos con las peras y las manzanas. Se espera que cada una de las decisiones tomadas pueda ser justificada.

    33/160

  • En caso de que las/los estudiantes hubieran elegido para representar nicamente alos nmeros del 0 al 7, el/la docente podr sumar oralmente algunas preguntasextra para motivar la idea de que se podra elegir otro conjunto:Podemos representar al 106 con 3 casilleros y 2 tipos de frutas? Sabemos quepodemos representar hasta 8 nmeros, es necesario que sean consecutivos?Todos tienen que ser necesariamente enteros?Se podra representar este conjunto: {0, 4, 7, 106, pi, 665, 1001, 1020}?

    Nota

    Como cierre, el/la docente mencionar que existen mltiples maneras de representar un conjunto de nmeros con peras y manzanas, pudiendo tener cada sistema usos y aplicaciones particulares. En la Imagen 2.6 se vio, por ejemplo, una de las codificaciones binarias ms conocidas, la cual permite operar (sumar, restar, multiplicar, etc.) de manera anloga a cmo se lo hace en base 10. Sin embargo, existen otras formas que resultan pertinentes en otros contextos: complemento a dos, con signo, gray binario [2], etc. En particular, a los sistemas que usan nicamente dos smbolos para representar nmeros u otro tipo de informacin se los conoce como sistemas binarios.

    Actividad 2.4

    En esta ltima actividad, se buscar relacionar lo visto en las actividades precedentes con el manejo de la informacin que hace la computadora. La pregunta disparadora ser

    Cmo relacionamos las actividades anteriores con la computadora?

    Una respuesta que puede surgir es que la computadora trabaja en binario. A esto, el/la docente puede repreguntar:

    Por qu? En la computadora hay ceros y unos? O manzanas y peras?

    En caso de que no surgiera entre las respuestas de la clase, el/la docente contar que, en realidad, por la computadora no pasan ni nmeros, ni ceros y unos, ni mucho menos manzanas y peras. Los famosos ceros y unos de los que tanto se dice que es lo nico que la computadora maneja no son ms que una abstraccin de cmo codifica la informacin la computadora. Pero, qu est abstrayendo? A nivel de los circuitos, la computadora slo puede distinguir entre 2 niveles de energa: alto voltaje o bajo voltaje. Para quienes ya lo hayan trabajado en Tecnologas de la Informacin de 3 ao (TI3), se puede recordar que sta fue una de las conclusiones de la clase 14 [3], cuando se termin de abordar los temas referidos a organizacin de la computadora. Por ende, y vinculado con la ltima actividad de la clase 1 , el medio que se utiliza para representar la informacin en las computadoras es elctrico. Luego, para simplificar la comunicacin se abstrae la nocin de voltaje y se la reemplaza por 2 smbolos: 1 para alto voltaje y 0 para bajo voltaje. Podra haber sido el dibujo de una manzana y el de una pera? S, aunque hubiera sido ms engorroso para escribir quizs.

    En vez de binario, se podra pensar en computadoras que codifiquen la informacinen sistemas ternarios, decimales u otras bases? A nivel terico s, ya que cualquierbase tiene la misma capacidad representativa. Sin embargo, el binario resulta msconveniente a nivel prctico puesto que distinguir entre solamente 2 niveles deenerga resulta ms sencillo que distinguir entre una cantidad mayor de niveles.Adems, requiere menos circuitera. Estas son dos de las razones ms fuertes por lascuales la mayora de las computadoras operan en binario y no en base decimal, comoestamos acostumbrados en la vida cotidiana.

    Sabas qu?

    34/160

  • En particular, en esta clase se vio que los nmeros naturales pueden ser representados en base dos, la base que utilizan las computadoras. En las prximas clases se profundizar en cmo tambin es posible representar de esta manera otros tipos de informacin como textos, imgenes, audio y video. Para dar un ejemplo concreto sobre cmo la computadora representa los nmeros, se puede contar que, si bien utiliza distintas codificaciones , una de ellas ya la vimos en esta misma clase. En la 5Imagen 2.6, cuando realizamos la tercera actividad, abordamos una de las codificaciones que se usa en computacin para trabajar con nmeros naturales. La nica diferencia es que en vez de usar solamente 3 bits, usa 8. Bits? Y eso qu es? Un bit es como uno de los casilleros del tablero que usamos en las actividades anteriores; un espacio que la computadora utiliza para guardar un 1 o un 0. Cuando se trabaja con 8 bits se habla de de Byte. Para quienes ya lo trabajaron en TI3, se puede hacer referencia a lo visto en la clase 11 [3]. Como actividad final y para reforzar lo practicado previamente en esta clase, se puede preguntar:

    Cuntos nmeros distintos se pueden codificar con 1 B (byte)?

    Cuando se aproximaba el ao 2000, el mundo informtico se convulsion por lo quese supona poda ser un problema devastador. En aquel entonces, para codificar lasfechas en la computadora, era habitual omitir los primeros 2 dgitos ya que sesobreentenda que estos eran 19. Por lo tanto, 25/5/1995 se abreviaba como25/5/95. Siguiendo esta forma de representar las fechas, el 1/1/00 se entenderacomo 1/1/1900 y no como 1/1/2000. Este hecho podra haber desencadenado seriosinconvenientes en aquellos programas que utilizaran la fecha para tareas crticas.Durante todo el ao 1999 se trabaj arduamente para modificar estos sistemas yfinalmente se reportaron muy pocas fallas [4]. ste es un claro ejemplo de lasconsecuencias que puede tener la eleccin de un sistema de representacin.

    Sabas qu?

    Conclusin

    El recorrido propuesto en esta clase busca darle sentido y problematizar la nocin vox populi de que las mquinas trabajan con ceros y unos. Por qu en binario? Cmo hacen para codificar la informacin tan slo con ceros y con unos? La computadora maneja efectivamente ceros y unos o qu representan? Cunta informacin se puede codificar? Estas preguntas resultan centrales para la comprensin de cmo se codifica y maneja la informacin, en particular los nmeros, en computacin.

    [1] Perelman, Y. (2015). Aritmetica Recreativa. Createspace Independent PublishingPlatform: Estados Unidos.[2] Gardner, M. (1987). El cdigo Gray binario. En Rosquillas anudadas y otrasamenidades matemticas . Labor: Espaa.[3] Alberto, T., Schapachnik, F., Schinca, H., Villani, D. (2017). Propuesta deplanificacin anual para Tecnologas de la Informacin, 3 ao de la NES (TI3), CABA .Fundacin Sadosky: Buenos Aires, Argentina.[4] El Efecto 2000: https://histinf.blogs.upv.es/2012/12/18/el-efecto-2000/

    Recursos

    V olver al ndice

    5 Hay distintos formatos para nmeros naturales, enteros, con coma, nmeros muy grandes, etc.

    35/160

  • Repaso de programacinClaseN3

    Esta clase utiliza herramientas de software que requieren instalacin previa.

    A lo largo de esta planificacin se propone realizar diversos talleres de programacin con el objetivo de que las/los estudiantes puedan poner en prctica algunas de las ideas y algoritmos fundamentales de las Ciencias de la Computacin. Para ello, se considera que es necesario realizar, al menos, una clase de repaso en la cual las/los alumnas/os vuelvan a relacionarse con la programacin. El problema a trabajar ser el de la bsqueda lineal que, a pesar de su sencillez, permite recuperar los conceptos de variable y repeticin condicional. Otro de los objetivos es comenzar a utilizar un lenguaje de programacin textual y familiarizarse con su sintaxis. El lenguaje elegido es Python debido a que es sencillo para programar, flexible y fcil de instalar. Los archivos correspondientes a cada actividad de esta clase pueden descargarse en http://program.ar/descargas/TI4_clase3_codigo.zip Los talleres presuponen que las/los estudiantes ya tuvieron programacin en la materia TI3 , 6utilizando principalmente la herramienta Alice. La dinmica de trabajo tambin ser similar: cuando las/los estudiantes estn resolviendo una actividad en la computadora, el/la docente tendr un rol activo de acompaamiento pasando por cada uno de los grupos para ver cmo van, dar alguna orientacin, ayudar con las dudas que surjan, etc.

    Actividad 3.1

    Los primeros minutos de la clase ser importante dedicarlos a hacer un repaso del entorno de programacin Alice y los temas trabajados el ao anterior. Dependiendo de cunto recuerden las/los estudiantes se podr repasar: cmo agregar un personaje, cmo y dnde se escriben los programas, cmo se ejecutan y cules fueron los conceptos de programacin vistos (repeticin simple, repeticin condicional, alternativa condicional, variables, mtodos e interactividad). Para ejemplificar, en cada uno de los puntos se pueden usar proyectos o actividades que hayan realizado el ao anterior ya que les resultarn familiares. A continuacin, se propondr resolver en Alice el siguiente problema:

    Vamos a comenzar haciendo un juego sencillo en Alice. El programa le pedir al jugador que elija un nmero entre 1 y 10. Luego, el mismo programa, debe tratar de adivinar el nmero elegido. Para ello, el programa podr irle preguntando al usuario El nmero que elegiste es el X?, donde los X representa algn nmero entre 1 y 10.

    La actividad es similar a la que hicieron en la clase 21 de TI3 pero, en este caso, el jugador que adivina no es una persona sino que es el mismo programa. El problema se puede resolver de distintas maneras, tratando de adivinar el nmero elegido por el usuario siguiendo estrategias variadas. Una de las ms sencillas es realizar lo que se conoce como bsqueda lineal , es decir, ir preguntando uno por uno y en orden por cada uno de los nmeros:

    6 Se puede ver una propuesta de planificacin para Tecnologas de la Informacin de 3 ao en: http://program.ar/planificacion-anual-ti3/

    36/160

    http://program.ar/descargas/TI4_clase3_codigo.ziphttp://program.ar/planificacion-anual-ti3/

  • El nmero que elegiste es el 1?El nmero que elegiste es el 2?El nmero que elegiste es el 3?

    En el momento en que el usuario responde afirmativamente a una de las preguntas, el juego termina y dice el nmero que elegiste es el Z . En el Anexo 3.2 presentamos un anlisis detallado de las posibles soluciones. A lo largo del trabajo que las/los estudiantes vayan realizando en grupos en la resolucin de esta actividad, y posteriormente en la puesta en comn, ser pertinente recordar varios de los aspectos conceptuales necesarios para obtener y entender este cdigo: cmo funciona la repeticin condicional, qu es una variable, para qu y por qu se usan, que cada variable tiene asociado un tipo (el conjunto de valores posibles al que pertenece), etc. Para concluir con esta actividad, se buscar comenzar a motivar la nocin de peor caso , es decir, 7aquellos valores de entrada (en este caso es el nmero elegido por el jugador) para los cuales el algoritmo o programa realiza la mayor cantidad de pasos posibles. Para ello, se proponen las siguientes preguntas:

    Cuntas veces se entra al ciclo del programa si el usuario elige el nmero 10? Conviene entonces cambiar la estrategia e ir de arriba para abajo? Y si cambiamos la estrategia y el usuario elige el 1? En el peor caso, con cualquiera de las 2 estrategias, se deber entrar 10 veces al ciclo

    hasta adivinar el nmero que eligi el usuario. Existir una estrategia que realice menos pasos, independientemente del nmero que elija el usuario?

    Las primeras 3 preguntas buscan notar que, ms all de que se empiece del 1 o del 10, en el peor de los casos (cuando el usuario elije el ltimo nmero que pregunta el programa), se harn 10 preguntas, es decir, se recorrern todos los nmeros del espacio de bsqueda. La ltima pregunta no se espera que la respondan por la positiva o la negativa sino dejarla como inquietud. En el prximo taller se retomar y resolver a travs del abordaje y problematizacin de la bsqueda binaria.

    Actividad 3.2

    A partir de esta actividad, se comenzar a trabajar con Python , un lenguaje de programacin textual, 8a diferencia de Alice en donde se programa mediante bloques. Ms all de diferencias en la apariencia, los conceptos fundamentales que se trabajarn son los mismos. El uso de lenguajes textuales habilita a realizar experiencias como las de las siguientes clases en donde se procesarn de forma sencilla texto, imgenes y sonido.

    Comenzar a utilizar un lenguaje textual como Python tiene varias ventajas:

    Posibilita que las chicas y chicos se relacionen con una de las herramientasde desarrollo que se utiliza ampliamente para producir el software que ellasy ellos usan en sus netbooks, celulares, tablets y dems dispositivos.

    Sabas qu?

    7 Esta nocin est fuertemente relacionada al concepto formal de complejidad temporal algortmica o, en ingls, Big O notation . 8 Python es un lenguaje con un alto poder expresivo, muy utilizado tanto a nivel profesional como acadmico por lo que posee una gran comunidad. En la mayora de las distribuciones de Linux, incluyendo Huayra, ya viene instalado por defecto; en el Anexo 3.1 se brindan instrucciones para su instalacin en Windows. La versin que se utilizar es la 2.7.

    37/160

  • Permite seguir trabajando los conceptos de programacin vistos en Alicedesde otro entorno. Es importante que noten que las nocionesfundamentales siguen siendo las mismas: repeticin simple, repeticincondicional, alternativa condicional, etc. Lo que va a cambiar es cmo seescriben los programas.

    En las prximas clases de programacin, en las cuales se trabajar contexto, imgenes, sonido, etc., Python junto con algunas de sus bibliotecasespecializadas harn que resulte mucho ms sencillo manipular estos tiposde informacin.

    Los programas realizados se pueden compilar y ejecutar directamente, sin lanecesidad de tener que abrir un entorno especial, como ocurre con losprogramas hechos en Alice.

    Tambin se presentarn algunas dificultades iniciales, como aprender una nueva forma de escribir los programas, respetar la sintaxis para que un programa se ejecute (en Alice todos los programas son sintcticamente correctos por construccin) y que el lenguaje est en ingls. Con el objetivo de comenzar a conocer este nuevo lenguaje se propone realizar una variante del adivinador lineal, debiendo ahora realizar la bsqueda de manera descendente. La programacin se realizar de manera interactiva, de modo tal que sea el/la docente quien vaya mostrando el cdigo en pantalla pero que sean las/los estudiantes quienes vayan sugiriendo cul debera ser la siguiente idea a incorporar al programa. El/La docente, ante cada nueva instruccin, mostrar la similitud con las instrucciones de Alice. Una solucin posible es la que se muestra a continuacin, muy parecida al cdigo realizado en Alice: import time def adivinador ():

    adivino = False numero_a_probar = 10

    print "Pensa un numero entre el 1 y el 10." time.sleep( 5 ) while not adivino:

    respuesta = raw_input ( "El numero elegido es " + `numero_a_probar` + "?" )

    if respuesta == "si" : adivino = True

    numero_a_probar = numero_a_probar - 1

    print "El numero que pensaste es " + `numero_a_probar + 1 + "." adivinador() Hasta ahora las/los estudiantes han podido ejecutar su programa utilizando el intrprete de Python, es decir, un programa que lee las instrucciones del programa escrito en Python y las traduce a cdigo de mquina para poder ejecutarlas en la computadora. Este proceso es similar al que vieron el ao anterior cuando programaron en C y compilaron su cdigo a lenguaje de mquina.

    Actividad 3.3 (optativa)

    Como actividad opcional se puede sugerir que sea el usuario quien decida entre qu par de nmeros va a elegir el nmero que el programa debe adivinar. Esto requerir realizar 2 preguntas al usuario,

    38/160

  • guardar las respuestas en 2 variables y utilizarlas como las cotas del rango de nmeros en el cual buscar. import time def adivinador ():

    adivino = False

    numero_minimo = int ( raw_input ( "Desde que numero comienza la busqueda? " )) numero_maximo = int ( raw_input ( "Hasta que numero sera la busqueda? " ))

    print "Pensa un numero entre el " + `numero_minimo` + " y el " +

    `numero_maximo` + "." time.sleep( 5 )

    numero_a_probar = numero_maximo

    while not adivino:

    respuesta = raw_input ( "El numero elegido es " + `numero_a_probar` + "?" )

    if respuesta == "si" : adivino = True

    numero_a_probar = numero_a_probar - 1

    print "El numero que pensaste es " + `numero_a_probar + 1 + "." adivinador() La instruccin int () que encierra a los primeros dos raw_input () se utiliza para que la computadora interprete que los valores ingresados por el usuario son numricos. Si no, la computadora los interpretar como texto. Conclusin

    El objetivo principal de esta clase fue haber vuelto a familiarizar a las/los estudiantes con la programacin y recuperar y relacionar algunos de los conceptos de trabajados durante el ao anterior. La discusin acerca de la eficiencia de un programa y la actividad realizada en Python fueron una introduccin a nuevas conceptos y herramientas que se continuarn trabajando en las prximas clases de programacin.

    Anexo 3.1 Instalacin de Python 2.7 en Windows Si se est utilizando el sistema operativo Windows , Python 2.7 puede instalarse siguiendo los pasos que se enumeran a continuacin. Los pasos 1 y 2 requieren disponer de una conexin a Internet .

    1. Utilizando un navegador web, ingresar a la direccin https://www.python.org/downloads/windows/ . Una vez all, hacer clic en el link Latest Python 2 Release .

    2. Se ofrecer una lista de archivos para descargar. En caso de contar con un procesador de 64 bits (lo ms habitual), seleccionar la opcin Windows x86-64 MSI installer ; si se cuenta con un procesador de 32 bits, elegir Windows x86 MSI installer .

    3. Ejecutar el archivo descargado en la computadora donde se desea instalar Python.

    39/160

    https://www.python.org/downloads/windows/

  • 4. Seguir los pasos del asistente hasta completar la instalacin. Importante : en la pantalla titulada Customize Python 2.7... , se debe hacer clic en el cono junto a la opcin Add python.exe to Path y, en el men que aparece, seleccionar Will be installed on local hard drive .

    Anexo 3.2 Posibles soluciones a la actividad 3.1 Al reflexionar sobre la estrategia de resolucin lineal, pueden surgir las preguntas sobre cmo hacer para que no se realicen ms preguntas luego de que el programa haya adivinado el nmero y cmo lograr ir modificando el nmero en las preguntas que se le realizan al usuario. La primera pregunta se puede repensar del siguiente modo: el programa debe seguir preguntando hasta que haya adivinado el nmero o mientras el programa no haya adivinado el nmero debe seguir preguntando. La segunda forma se asemeja a la instruccin de repeticin condicional que en Alice se llama While (Mientras en espaol), la cual permite repetir una secuencia de instrucciones mientras una condicin sea verdadera. La condicin en este caso ser no haber adivinado. Una de las instrucciones que seguramente se deber repetir ser preguntarle al usuario si el el nmero que eligi es 1 la primera vez que se ejecute la repeticin, 2 la segunda, 3 la tercera y as siguiendo hasta haber adivinado. La segunda pregunta da la pauta de que entre una repeticin y la siguiente algo vara: el nmero por el que se est preguntando. Justamente, como se tiene un valor que vara a lo largo de la ejecucin del programa, se puede utilizar una variable para almacenar y modificar dicho valor. Cada vez que la pregunta sea respondida por la negativa, el valor de la variable ser aumentado en 1. La siguiente es una de las soluciones posibles:

    Imagen 3.1. Una solucin posible del adivinador. En el cdigo propuesto, estas 2 ideas se ven reflejadas en la creacin y uso de la variable Nmero a probar y el uso de la instruccin While. Dentro de la repeticin condicional se incrementa el valor de la variable y se pregunta si ese valor es el elegido por el usuario. Alice interpreta la respuesta por S o por No como True o False, Verdadero y Falso en espaol respectivamente. Esta respuesta es la que se utilizar como condicin para saber si hay que seguir preguntando por los nmeros siguientes o el programa lo adivin en esta iteracin . Para ello, la respuesta se guarda en otra 9variable, en este caso booleana, llamada Adivin. Esta variable contendr verdadero si el programa adivin el nmero elegido por el usuario y falso en caso contrario. Por lo tanto, inicialmente la variable comenzar con el valor falso puesto que an no se adivin el nmero. En la condicin de la repeticin condicional se debe preguntar por la negacin del valor que est en la variable Adivin puesto que la repeticin debe continuar mientras no se haya adivinado. La funcin redondear slo se utiliza para que los nmeros los muestre sin coma. Sin esta instruccin, en lugar de mostrar un 3, Alice mostrar un 3.0.

    9 En este contexto, el trmino iteracin se refiere a una pasada particular de una repeticin, ya sea simple o condicional. Es til cuando se requiere hablar de la primera iteracin, la segunda iteracin, la ltima iteracin, etc.

    40/160

  • Existe una variante pequea de esta solucin que consiste en inicializar el valor de la variable Nmero a probar en 1 y realizar el incremento de la variable luego de preguntarle al usuario si se adivin el nmero. A algunas personas le resulta ms intuitiva esta forma. Sin embargo, hay que realizar un cambio ms: en la ltima lnea, cuando se le dice al usuario cul fue el nmero que eligi, hay que restarle 1 a la variable Nmero a probar ya que dentro del ciclo se incrementa dicha variable por ms que ya se haya adivinado el nmero. V olver al ndice

    41/160

  • Introduccin a algoritmosClaseN4

    En esta clase se abordar desde distintos enfoques una idea nodal en las Ciencias de la Computacin: la bsqueda binaria, un mecanismo que permite encontrar informacin muy rpidamente y que es la base de la mayor parte de las tecnologas de bsqueda que se utilizan en la vida cotidiana. Para ello, primero se indagarn acerca de estrategias de bsqueda que las/los estudiantes conozcan sobre grandes volmenes de datos en formato fsico y en formato digital. Algunas de estas estrategias probablemente resulten similares a la bsqueda binaria, lo cual permitir introducir la idea de descartar grandes porciones de informacin del espacio de bsqueda. Por ltimo, se trabajar con una aplicacin concreta y sumamente cotidiana de este algoritmo: los buscadores web

    Actividad 4.1

    Los primeros minutos de la clase estarn dedicados a preguntar a la clase cmo creen que un sitio como YouTube o Spotify hace para encontrar tan rpidamente la pelcula o video que se le pide . Para tener una idea de la dificultad de la tarea, se recuperar la discusin realizada en la clase 3 acerca de cuntos nmeros deba evaluar el programa hasta acertar el elegido por el usuario, en el peor de los casos. Una de las conclusiones era que, independientemente de si se recorren los nmeros hacia arriba o hacia abajo, en el peor caso el usuario podra elegir el extremo opuesto y, por ende, se debera preguntar por todos los nmeros del rango hasta adivinar. Una de las preguntas que qued abierta es si exista alguna estrategia que permitiese encontrar el nmero elegido por el jugador sin tener que barrer todo el conjunto de posibilidades . En el caso de que el espacio de bsqueda sean slo 10 nmeros no parece un problema preguntar por todos. Pero, si fueran 100?, o 1000? Y si fueran 100 millones? Eso nos llevara a tener que revisar, cien, mil y cien millones de posibilidades respectivamente.

    Se les ocurre algn contexto en donde haya que buscar entre tantas cosas? Alguna vez tuvieron que buscar entre miles o millones de elementos?

    Algunas posibles respuestas de las/los estudiantes sobre bsquedas en soportes fsicos pueden ser buscar una palabra en un diccionario de papel, un nombre en una gua telefnica o en una agenda. Tambin pueden mencionar buscar una/s palabra/s en un buscador web, un video en YouTube, un usuario en una red social, etc. Si no surgieran entre los ejemplos mencionados, el/la docente podr agregar que en estos ltimos casos, las bsquedas suceden entre millones, incluso, miles de millones o billones, de elementos. Por ejemplo, un buscador web debe buscar entre ms de mil millones de sitios web para determinar cul es la lista de los que se corresponden con la bsqueda deseada.

    Cmo hace para hacer la bsqueda en tan poco milisegundos? Cada vez buscar uno por uno entre todos los sitios? Existir una manera ms eficiente?

    42/160

  • Para motivar el abordaje de la bsqueda binaria , el/la docente propondr buscar un nmero en una secuencia de nmeros ordenados. Cada nmero estar escrito en un papelito y tapado por un pequeo vaso plstico . Adems, los nmeros estarn ordenados de menor a mayor. En la Imagen 104.1 se muestra una secuencia de ejemplo. Se les pedir a las/los estudiantes que determinen si el nmero 8 est o no en la secuencia de nmeros pero asegurando que no van a revisar debajo de todos los vasitos.

    La estrategia de tapar los nmeros con un vaso intenta simular lo que hace unacomputadora: revisar de a un nmero por vez. A diferencia de los seres humanos,que podemos ver varios nmeros a la vez y decidir en un golpe de ojo si el nmeroest o no, la computadora no ve sino que para cada posicin se fija cul es elvalor que all est.

    Nota

    Imagen 4.1. Secuencia ordenada de nmeros tapados por un vaso: 1-2-3-5-8-13-21.

    Qu opinan de empezar por el vaso del medio? Si justo es el 8 listo. Y si no? Qu se puede hacer?

    Para comenzar con la demostracin se dar vuelta el vaso del medio, descubriendo el nmero 5, el cual no es el nmero buscado. Se realizar nuevamente la segunda pregunta y recordando que la secuencia de nmeros est ordenada de menor a mayor, por ms que no se sepa qu nmeros hay debajo de cada vaso. Por lo tanto, como el 8 es mayor que el 5, seguramente el 8 no podr estar debajo de ninguno de los 3 vasos a la izquierda del 5 ya que estos deberan ser menores que 5. Por lo tanto, si el 8 estuviera presente en la secuencia, lo estara debajo de alguno de los 3 vasos a la derecha del 5. Habiendo llegado a esta conclusin se pueden quitar de la mesa los 3 vasos que cubren al 1, al 2, al 3 y al 5, obteniendo as una nueva secuencia de 3 nmeros: 8-13-21.

    Cmo podemos seguir? Se podr repetir el proceso en esta nueva secuencia de 3 elementos?

    Ahora sern las/los estudiantes quienes deban continuar el proceso levantando el vaso que cubre al 13, verificar que no es el 8 y descartar los vasos que estn a su derecha, quedando tan solo el vaso que cubre al 8. Para terminar, levantarn este vaso concluyendo que el 8 s est en la secuencia de nmeros presentada.

    Si en vez del 8 hubiera habido un 7, hubiera cambiado algo? Qu? Tuvimos que revisar todos los nmeros de la secuencia?

    10 Se puede utilizar la variante de poner los papelitos dados vuelta.

    43/160

  • Si en lugar del 8 hubiera estado el 7, el procedimiento hubiera sido anlogo. La nica diferencia hubiera sido que la respuesta sobre si el 7 estaba o no habra sido negativa.

    Se podra hacer algo similar con el problema de adivinar el nmero elegido

    por el usuario? Si cambiamos la pregunta que hace el programa? Cul podra ser?

    En este punto, el/la docente ir guiando la discusin para llegar a que, de modo similar a como hicieron recin, se podra preguntar si el nmero elegido por la computadora es mayor (o menor, es anlogo) al nmero que eligi el usuario. De este modo, se descartan todos los nmeros mayores -en caso negativo- o todos los nmeros menores o iguales -en caso afirmativo.

    Qu nmero elegiran para preguntar como primera opcin entre el 1 y el 100? Y por cul seguiran preguntando si el usuario responde que el nmero que eligi

    es mayor?

    Conviene anotar esta idea en el pizarrn y trabajarla con un ejemplo en donde sea el/la docente quien piense un nmero y lo escriba en un papel que nadie ms que l o ella puedan ver hasta que no hayan adivinado. Una forma posible de escribir el algoritmo de bsqueda binaria es Bsqueda binaria entre MIN y MAX:Preguntar si el nmero elegido es mayor a MITAD, el nmero del medio entre MIN y MAX.Si la respuesta es s:

    Continuar la bsqueda entre MITAD+1 y MAX.Si la respuesta es no:

    Preguntar si el nmero elegido es igual MITAD.Si la respuesta es s:

    El nmero elegido por el usuario es MITAD.Si la respuesta es no:

    Continuar la bsqueda entre MIN y MITAD.

    El equipo que dise las famosas actividades CS Unplugged, tambin desarrolluna gua de trabajo en clase sobre temas de Ciencias de la Computacin [1]. En laseccin de 2.2, se abordan los algoritmos de bsqueda. A pesar de estar en ingls,hay 2 actividades interactivas tituladas Searching boxes que pueden ser utilizadascomo ejemplos para probar las distintas estrategias de bsqueda.

    Nota

    Actividad 4.2

    En esta actividad, el objetivo es ver en funcionamiento el algoritmo de bsqueda binaria programndolo en Python. Como programarlo desde cero puede resultar difcil, se propondr que completen los espacios con ... del siguiente cdigo incompleto, disponible en el archivo busqueda_binaria_para_completar.py en http://program.ar/descargas/TI4_clase4_codigo.zip junto con la solucin correspondiente.

    44/160

    http://program.ar/descargas/TI4_clase4_codigo.zip

  • import time def busquedaBinariaEntre (minimo, maximo): adivineElNumero = False print "Pens un nmero entre el " + `minimo` + " al " + `maximo` + "." time.sleep( 5 )

    while minimo

  • 1-1000000 1000000 Aprox. 20

    1-1000000000 1000000000 Aprox. 30

    Tabla 4.1. Comparativa de la cantidad de pasos realizadas en el peor caso para los algoritmos de bsqueda linealy bsqueda binaria.

    Actividad 4.3

    La ltima actividad, que puede dejarse de tarea, muestra un caso concreto de aplicacin del algoritmo de bsqueda binaria en un dominio que las/los estudiantes suelen utilizar con frecuencia: Google o, ms en general, los buscadores web. Para ello se propone leer el artculo Destripando Google [2] y responder las siguientes preguntas:

    Cmo relacionan la forma en que un buscador busca en una serie de palabras con el

    algoritmo de bsqueda binaria? Qu caracterstica tienen todas las palabras que estn a la izquierda de un nodo 11

    particular en un rbol AVL? Y las que estn a la derecha? Por qu es importante esta caracterstica?

    Conclusin

    La bsqueda binaria es una de las ideas fundamentales de las Ciencias de la Computacin ya que permite realizar la bsqueda de un elemento de manera muy eficiente. Gracias a ello, los buscadores web como Google pueden devolver los resultados de las bsquedas que realizamos en Internet de manera tan rpida.

    [1] Seccin 2.2. Searching. En Computer Science Field Guide (Teacher Version) , CSEducation Research Group, Universidad de Canterbury, Nueva Zelanda, 2017 .http://www.csfieldguide.org.nz/en/teacher/index.html[2] Schapachnik, F. (2015). Destripando Google.https://elgatoylacaja.com.ar/destripando-google/

    Recursos

    V olver al ndice

    11 Un nodo es un elemento de un rbol. En el ejemplo del artculo, cada palabra es un nodo.

    46/160

    http://www.csfieldguide.org.nz/en/teacher/index.htmlhttps://elgatoylacaja.com.ar/destripando-google/

  • La representacin de textoClaseN5

    En esta clase se analizarn diferentes sistemas de representacin de texto, detenindose especialmente en las formas de representacin que utilizan las computadoras. El objetivo principal ser afianzar la idea de que la informacin a la que accedemos con las computadoras, en este caso texto, es representada a travs de nmeros. Se analizar la relacin entre la codificacin y su tamao, y diversas estrategias para comprimir y descomprimir texto.

    Actividad 5.1

    En la primera actividad se retomar lo visto en clases pasadas acerca de que la computadora codifica la informacin en binario. Las ltimas clases se trabaj sobre formas de representar los nmeros; en esta actividad se comenzar a pensar cmo se podra representar al texto como tipo de informacin. Para comenzar, se presentarn imgenes con un mismo emoji representado diferente segn el entorno o aplicacin dnde se lo use.

    Se plantear un debate para reflexionar sobre el origen de las diferencias en los emojis y comparar las representaciones de emojis, nmeros, letras y caracteres:

    Por qu creen que se ven diferentes los emojis de las imgenes?Representan lo

    mismo? Si copio un emoji en una aplicacin y lo pego en otra Se ve exactamente igual? Cuando inclumos emojis en un mensaje La informacin que se enva es la imagen

    representada o creen que existe alguna representacin de la misma? Un carcter representa siempre una letra? Qu caracteres conocen? Qu datos deberamos tener en cuenta para poder definir un sistema de representacin

    de caracteres? Y de texto?

    Los emojis permitirn separar el emoji y su codificacin de la representacin. Si bien las imgenes son prcticamente iguales, presentan variaciones segn la aplicacin que las est utilizando. La codificacin asociada ser la que se enve y no la imagen representada en cada caso. Este ejemplo servir de introduccin para poder comprender que las letras y smbolos tambin pueden ser representados. Tras indagar en los caracteres conocidos que no representan letras, como por ejemplo los nmeros o smbolos como @, %, , etc., se revisar la relacin, trabajada anteriormente, entre la cantidad de caracteres a representar, la base de la representacin y la cantidad de casilleros o bits disponibles.

    Actividad 5.2

    A continuacin, se propondr que las y los estudiantes definan en grupos un sistema de representacin binaria para codificar cualquier tipo de texto.

    47/160

  • No es necesario que cada grupo escriba por extensin la representacin completa,sino que para representar las letras ordenadas alfabticamente a-z se podrasignar un nmero inicial, por ejemplo el 1, para la primera letra, contar cuntashay en total y establecer los siguientes nmeros consecutivos hasta llegar a la z.Se recomienda orientar a las y los estudiantes con la aritmtica binaria en caso deque no sepan representar la cantidad de smbolos que establecieron.

    Nota

    Una vez completadas las representaciones, el/la docente presentar las siguientes preguntas a cada grupo:

    Con el sistema propuesto se pueden escribir las palabras grito, Grito, grit, sueo,

    TC2000? Y frases como Hola mundo, Caso cerrado!, Mi mail es [email protected] o tiene

    cambio de $100?? Y leccin, leon, , , , , ? Hay combinaciones de 0s y 1s que no representen ningn carcter? Cuntos bits utilizan para codificar un carcter? Se podran usar menos?

    Puede hacerse una puesta en comn de las representaciones creadas para destacar algunos de estos puntos. Por ejemplo, que 27 letras no son suficientes para escribir los textos propuestos ya que adems de las letras a-z tambin aparecen caracteres de otros idiomas, smbolos, signos de interrogacin y exclamacin, nmeros, letras con tildes y maysculas. La cantidad total de caracteres en la representacin determinar la cantidad de bits necesarios para codificarlos, pero pueden surgir codificaciones que no utilicen nmeros en base dos consecutivos y desaprovechen smbolos. Para ejemplificar se podr presentar una codificacin para los 4 smbolos, , ?, , ! segn la siguiente tabla:

    Smbolo Representacin

    000

    ? 001

    010

    ! 100

    Tabla 5.1. Ejemplo de representacin para 4 caracteres que no utiliza todas las codificaciones binariasconsecutivas.

    Lo que ilustra el ejemplo es que al no utilizar la combinacin 011 se requieren tres casilleros para representar 4 nmeros cuando podra haberse hecho una codificacin completa con slo dos casilleros. A partir de esta actividad se espera que las y los estudiantes identifiquen el alcance y las limitaciones de los sistemas de representacin binaria que definieron y comprendan algunas caractersticas generales respecto al tamao, las consideraciones previas y las posibilidades de una codificacin en base dos de textos y caracteres.

    48/160

  • Actividad 5.3

    En esta actividad se explorarn las formas de representar textos que utilizan las computadoras. Para comenzar, se debatir brevemente con las siguientes preguntas disparadoras:

    Cmo piensan que hace una computadora para representar textos? Existir ms de una representacin posible? Aproximadamente cuntos caracteres creen que pueden ser representados por una

    computadora? Cuntos bits se necesitan para la cantidad que pensaron?

    El primer objetivo de estas preguntas ser enfatizar el hecho de que las computadoras operan con nmeros y que por esta razn toda la informacin que utilizan tiene que ser representada con ellos. Adems, se retomar el anlisis de la cantidad y variedad de caracteres que puede requerir representar una computadora.

    Es lo mismo el nmero uno que el carcter 1?En este punto se recomienda distinguir con claridad entre nmeros, caracteres quelos representan y los cdigos asociados a esos caracteres en algunarepresentacin binaria (no necesariamente coincidir el valor de cada nmero consu codificacin base dos).

    Nota

    Tras estas preguntas se mostrarn imgenes de distintos cdigos de representacin de caracteres y antes de profundizar sus caractersticas principales, que podrn ser investigadas en un trabajo prctico grupal, se analizarn los inconvenientes que puede presentar su uso utilizando la computadora.

    49/160

  • Imagen 5.1. Tabla ASCII con caracteres de control, imprimibles y del listado extendido.

    Imagen 5.2. Tabla de doble entrada con algunas representaciones de caracteres en Unicode.

    50/160

  • Mediante el uso de un editor de texto simple, como el bloc de notas de Windows u otro similar, se crear un texto con letras maysculas, minsculas y con tildes, signos de puntuacin y otros caracteres especiales. Al momento de guardar el archivo se seleccionar alguna de las codificaciones que estn disponibles en el editor: ANSII, UTF-8, Unicode, etc. Luego se intentar abrir el archivo desde el programa pero seleccionando otra codificacin. Al abrirlo, los caracteres ya no sern los ingresados en el texto original ni la misma cantidad, de lo que se podr deducir no slo las diferencias entre los sistemas sino tambin entre la cantidad de bits que utiliza cada uno. Puede mencionarse que al utilizar un mismo archivo en distintos sistemas operativos tambin suelen encontrarse diferencias en algunos caracteres, ya que no necesariamente utilizan las mismas codificaciones de texto.

    Actividad 5.4

    Para finalizar, se realizar una actividad para comprender el funcionamiento y poner en prctica algunas formas de compresin de archivos. En un comienzo se indagar sobre las ideas previas respecto a qu es la compresin y cmo funciona. Se espera que surjan ideas como qu es reagrupar la informacin de manera que no queden espacios vacos o que es achicarla o apretarla como si fuera una esponja. Lo que se buscar aclarar es que la compresin es una forma de codificacin de texto que permite un resultado ms pequeo que el original. Y que existen distintos algoritmos de compresin. Se mostrarn algunos ejemplos de compresin, por ejemplo, que si se utiliza un byte por carcter, EEEEEEE ocupa 7 bytes. Si se cuentan las repeticiones y se codifica cantidad-smbolo , 7E representar la misma informacin pero ocupar solamente dos bytes.

    Resulta til esta codificacin para comprimir un libro? Cuntos caracteres ig