Lezione 2: Compressione del Testo

Grades 6-8 | Grades 9-12

Panoramica

A un certo punto si raggiunge un limite fisico di quanto velocemente possiamo inviare bit, e se vogliamo inviare una grande quantità di informazioni più velocemente, dobbiamo trovare un modo per rappresentare le stesse informazioni con meno bit - dobbiamo quindi comprimere i dati. In questa lezione, gli studenti utilizzeranno il pulsante Compressione del Testo per comprimere segmenti di testo inglese cercando modelli e sostituendo simboli con modelli di testo più grandi.

Traguardo di apprendimento

Il principio basilare alla base della compressione è sviluppare un metodo o un protocollo per utilizzare un minor numero di bit per rappresentare le informazioni originali. Il modo in cui rappresentiamo i dati compressi in questa lezione, con un "dizionario" di modelli ripetuti è simile al LZW compression scheme, ma va notato che LZW è leggermente diverso da quello che fanno gli studenti in questa lezione. Gli studenti qui inventano un loro modo. LZW viene utilizzato non solo per il testo (file zip), ma anche con il formato file immagine GIF.

Pianificazione

Introduzione (5-7 minuti)

Attività (45 minuti)

Conclusione (10 minuti)

Approfondimenti

Obiettivi

Gli alunni saranno in grado di:

  • collaborare con un coetaneo per trovare una soluzione a un problema di compressione del testo utilizzando il componente di compressione del testo (schema di compressione senza perdita di dati)
  • spiegare perché la quantità ottimale di compressione è impossibile o "difficile" da identificare
  • spiegare alcuni fattori che rendono difficile la compressione
  • descrivere lo scopo e la logica della compressione senza perdita di dati

Preparazione

  • Prova il pulsante di compressione del testo
  • Rivedi i suggerimenti per l'insegnamento per decidere quali opzioni desideri utilizzare

Collegamenti

Attenzione! Fai una copia di tutti i documenti che intendi condividere con gli studenti.

Per Teacher

Per Students

Glossario

  • Compressione senza perdita - un algoritmo di compressione dei dati che permette di ricostruire perfettamente i dati originali a partire dai dati compressi.

Guida didattica

Introduzione (5-7 minuti)

Introduzione: Abbr In Ur Txt Msgs (5-7 minuti)

Discussion Goal

Per introdurre il tema inizia a pensare alla compressione del testo operata dalla maggior parte delle persone che spesso applica la compressione del testo attraverso abbreviazioni e acronimi con cui molti hanno una certa esperienza nei messaggi di testo.

Proponi alcune idee sul motivo per cui qualcuno vorrebbe comprimere il testo.

Suggerimento:

  • "Quando invii messaggi di testo a un amico, scrivi correttamente ogni parola?"
    • Usi abbreviazioni per parole comuni? Elencane il maggior numero possibile.
    • Scrivi alcuni esempi di cose che potresti vedere in un messaggio di testo che non sono scritte correttamente in inglese.

Vuoi concedere agli alunni un minuto per scrivere qualche esempio e condividerlo con un compagno?

  • "Perché usi queste abbreviazioni? Qual è il vantaggio?"
    • Possibili risposte:
      • per salvare caratteri/sequenze di tasti
      • nasconderlo da genitori/insegnanti
      • essere in gamba, intelligente, divertente
      • per "parlare in codice”
      • per dire la stessa cosa con meno spazio

What's this about? - Compression: Same Data, Fewer Bits

  • La lezione di oggi riguarda la compressione
  • Quando si abbrevia o si utilizza un linguaggio codificato per abbreviare il testo originale, si sta "comprimendo il testo". Anche i computer lo fanno, per risparmiare tempo e spazio.
  • L'arte e la scienza della compressione riguardano il capire come rappresentare gli STESSI DATI con MENO BIT.
  • Perché è importante? Uno dei motivi è che lo spazio di archiviazione è limitato e potendo si preferisce utilizzare sempre meno bit. Un motivo molto più convincente è che esiste un limite massimo alla velocità di trasmissione dei bit su Internet.
  • E se dovessimo di inviare una grande quantità di testo più velocemente su Internet, ma avessimo raggiunto il limite fisico per inviare velocemente i bit? La nostra unica scelta è catturare in qualche modo le stesse informazioni con meno bit; la chiamiamo compressione.

Transizione:

Diamo un'occhiata a un esempio di un messaggio di testo che è stato compresso in modo intelligente.

Attività (45 minuti)

Decodifica questo testo misterioso(10-15 minuti)

  • Distribuisci o mostra la guida alle attività: Decodifica questo messaggio - Guida alle attività
  • Gli alunni possono lavorare con un compagno o da soli.
  • Compito: Qual era il testo originale?
  • Concedi agli studenti alcuni minuti per decodificare il testo. Il testo dovrebbe essere una breve poesia (vedi il riepilogo delle attività di seguito)
Guida alle attività degli studenti Riepilogo attività
**Distribuisci o visualizza ** la Guida alle attività: decode-this-message (Mostra o disegna te stesso) il Riepilogo delle attività: activity-recap-decode-this-message
Decodifica questo messaggio - Guida alle attività Riepilogo attività - Decodifica questo messaggio - Riepilogo attività

Riepilogo: quanto è stato compresso?

Per rispondere, dobbiamo confrontare il numero di caratteri nella poesia originale con il numero di caratteri necessari per rappresentare la versione compressa.

Analizziamolo.

  • **Mostra ** o ** dimostra ** tu stesso le idee da: Riepilogo attività - Decodifica questo messaggio - Riepilogo attività (visualizzate nella tabella in alto)

  • Nota importante:

    • La poesia compressa non è solo questa parte: Se dovessi inviarla a qualcuno tramite Internet, non riuscirebbero a decodificarla.
    • Il testo compresso completo include SIA il testo compresso e la chiave per risolverlo.
    • Pertanto, è necessario tenere conto del numero totale di caratteri nel messaggio più il numero totale di caratteri nella chiave per vedere quanto è stata compressa sull'originale.

Transizione

Ora proverai a comprimere alcune cose da solo.

Usa il pulsante di compressione del testo

Content Corner

Il video spiega un po' sulla compressione in generale - la differenza tra lossless compression e lossy compression. La lezione di oggi riguarda lossless compression eseguiremo la compressione con perdita in una o due classi dopo aver esaminato la codifica dell'immagine.

Teaching Tip

L'insegnante sceglie se mostrare il video a tutta la classe o lasciare che gli studenti lo guardino da Code Studio. Ci sono vantaggi e svantaggi in entrambi i casi.

Opzione da considerare: Porta gli alunni nello strumento di compressione del testo PRIMA di mostrare il video. Potresti scoprire che gli alunni sono più ricettivi ad alcune delle informazioni nel video se hanno già provato prima a utilizzare lo strumento.

Comunicazione e collaborazione: Per sviluppare la comunicazione e la collaborazione tra gli alunni, includi uno dei seguenti scenari in classe:

  • Chiedi agli alunni a cui è stata assegnata la stessa poesia di confrontare i risultati o di farli sedere nella stessa area dell'aula.
  • Fai una piccola competizione amichevole - ma attenzione a non far filtrare la concorrenza "cattiva" - per vedere quale coppia riesce a comprimere più di una poesia. Usa una poesia che nessuno degli studenti ha ancora compresso.
  • Per ogni poesia, chiedi ai gruppi che l'hanno eseguita di individuare la migliore della classe e di registrarla alla lavagna o da qualche parte dove le persone possano vederla.
    • Fissa come obiettivo di classe ottenere le percentuali di compressione più alte possibile per le quattro poesie.
    • Ai gruppi con le migliori percentuali di compressione si potrà chiedere di condividere la loro strategia con la classe.

Gli alunni potrebbero essere riluttanti a condividere se ritengono di non avere i migliori risultati, ma dovrebbero vedere il lavoro degli altri e offrire consigli e strategie.

Video: compressione del testo con Aloe Blacc - Video

  • Il video spiega la compressione
  • Dimostra l'uso dello strumento di compressione del testo.
  • NOTA: Questo video viene visualizzato automaticamente quando gli alunni visitano la fase di compressione del testo in Code Studio.
  • Dividi gli alunni in gruppi di 2
  • Assegna a ciascuna coppia una delle poesie fornite e sfidale, in coppia, a comprimere il loro poema il più possibile.
  • Fornisci o indica semplici istruzioni alla lavagna in modo che gli alunni possano seguirle.
    • Sfida: Comprimi il più possibile la poesia assegnata.
    • Confrontati con altri gruppi per vedere se puoi fare di meglio.
    • Prova a sviluppare una strategia generale che porti a una buona compressione.

  • Dopo un po' di tempo, riunisci le coppie che hanno fatto la stessa poesia per confrontare gli schemi. Come gruppo, il loro compito è trovare la migliore compressione per quella poesia per la classe.

Conclusione (10 minuti)

Discuti delle proprietà e delle sfide con la compressione

Chiedi ai gruppi di fermarsi per discutere sulle domande al termine dell'attività.

Suggerimenti:

  • "Cosa rende difficile questa compressione?"

    • Invita risposte. Dovrebbero emergere alcuni di questi problemi: puoi iniziare in molti modi diversi. Le scelte iniziali influenzano quelle successive. Una volta trovato un insieme di schemi, ne emergono altri.
    • C'è un punto critico: potresti fare progressi nella compressione, ma a un certo punto i suggerimenti della scala e il dizionario iniziano a diventare così grandi che perdi il vantaggio di averli. Ma poi potresti iniziare a ripensare al dizionario per ritoccare alcune parti.
  • _"Pensiamo che queste quantità di compressione che abbiamo riscontrato siano le migliori? C'è un modo per sapere qual è la compressione migliore? _"

    • Probabilmente non sappiamo cosa sia meglio.
    • Esistono così tante possibilità che è difficile saperlo. Si scopre che l'unico modo per garantire una compressione perfetta è la forza bruta. Ciò significa provare ogni possibile serie di sostituzioni. Ma anche su dei piccoli testi questo richiederebbe troppo tempo. Il modo "migliore" è davvero solo il meglio che abbiamo trovato finora.
  • "Ma esiste un procedimento da seguire per trovare la compressione migliore (o una abbastanza buona) per una parte di testo?"

    • Sì, ma è impreciso: pertanto, questa domanda rimane persistente.

Approfondimenti

Mondo reale: compressione zip

  • Fai eperimenti con zip utilizzando file di testo con contenuti diversi. I risultati per file piccoli sono buoni come per file grandi? (Su Mac, nel Finder scegli "Ottieni informazioni" su un file per vedere il numero effettivo di byte nel file, poiché il display del Finder mostrerà 4KB per qualsiasi file inferiore.)
    • Attenzione: i risultati possono variare. Zip funziona molto bene per il testo, ma potrebbe non comprimere molto bene altri file perché sono già compressi o non hanno gli stessi tipi di modelli incorporati dei documenti di testo.

Sfida: Ricerca l'algoritmo LZW

  • .la compressione zip è basata su LZW Compression Scheme

  • Sebbene l'idea alla base dello strumento di compressione del testo sia simile all'algoritmo LZW (zip), tracciare il percorso di compressione e decompressione è alquanto impegnativo. Imparare di più su LZW e su ciò che accade nel corso di questo algoritmo sarebbe un eccellente progetto di approfondimento per alcuni alunni.

Mappatura delle competenze

Visualizza la mappatura completa del corso

CSTA K-12 Computer Science Standards (2011)

CL - Collaborazione
  • CL.L2:3 - Collaborare con compagni, esperti, ed altri usando pratiche collaborative come la programmazione in pari, lavorando in team di progetto e partecipando ad attività di apprendimento attivo di gruppo.
CPP - Pratica e programmazione informatica
  • CPP.L2:4 - Dimostrare una comprensione degli algoritmi e della loro applicazione pratica.
CT - Pensiero computazionale
  • CT.L2:9 - Interagire con simulazioni e modelli specifici del contenuto (ad es. Ecosistemi, epidemie, dinamiche molecolari) per supportare l'apprendimento e la ricerca.
  • CT.L3B:8 - Utilizzare modelli e simulazioni per aiutare a formulare, perfezionare e testare ipotesi scientifiche.
  • CT.L3B:9 - Analizzare i dati e identificare i modelli attraverso la modellazione e la simulazione.

Principi di informatica

2.1 - A variety of abstractions built upon binary sequences can be used to represent all digital data.
2.1.1 - Descrivere la varietà di astrazioni utilizzate per rappresentare i dati. [P3]
  • 2.1.1A - I dati digitali sono rappresentati da astrazioni a diversi livelli.
  • 2.1.1B - Al livello più basso, tutti i dati digitali sono rappresentati da bit.
  • 2.1.1C - A un livello superiore, i bit sono raggruppati per rappresentare astrazioni, inclusi ma non limitati a numeri, caratteri e colori.
2.2 - Multiple levels of abstraction are used to write programs or create other computational artifacts
2.2.1 - Sviluppare un'astrazione quando scrivi un programma o crei altri artefatti computazionali. [P2]
  • 2.2.1B - Un'astrazione estrae le caratteristiche comuni da esempi specifici per generalizzare i concetti.
3.1 - People use computer programs to process information to gain insight and knowledge.
3.1.1 - Usare il computer per elaborare informazioni, trovare modelli e testare ipotesi su informazioni elaborate digitalmente e ottenere informazioni e conoscenze. [P4]
  • 3.1.1A - I computer vengono utilizzati in modo iterativo e interattivo durante l'elaborazione delle informazioni digitali per ottenere informazioni e conoscenze.
  • 3.1.1D - La comprensione e la conoscenza possono essere ottenute traducendo e trasformando le informazioni rappresentate digitalmente.
  • 3.1.1E - I modelli possono emergere quando i dati vengono trasformati utilizzando strumenti computazionali.
3.1.2 - Collaborare durante l'elaborazione delle informazioni per ottenere informazioni e conoscenze. [P6]
  • 3.1.2A - La collaborazione è una parte importante della risoluzione dei problemi basati sui dati.
  • 3.1.2B - La collaborazione facilita la risoluzione dei problemi computazionali applicando molteplici prospettive, esperienze e set di abilità.
  • 3.1.2C - La comunicazione tra i partecipanti che lavorano su problemi basati sui dati dà luogo a maggiori intuizioni e conoscenze.
  • 3.1.2D - La collaborazione nello sviluppo di ipotesi e domande e nel testare ipotesi e rispondere alle domande sui dati aiuta i partecipanti ad acquisire intuizioni e conoscenze.
3.1.3 - Spiegare le intuizioni e le conoscenze acquisite dai dati elaborati digitalmente utilizzando visualizzazioni, notazioni e linguaggio precisi ed appropriati. [P5]
  • 3.1.3A - Gli strumenti e il software di visualizzazione possono comunicare informazioni sui dati.
  • 3.1.3E - L'interattività con i dati è un aspetto della comunicazione.
3.3 - There are trade offs when representing information as digital data.
3.3.1 - Analizzare in che modo la rappresentazione, l'archiviazione, la sicurezza e la trasmissione dei dati comportano la manipolazione computazionale delle informazioni. [P4]
  • 3.3.1A - Le rappresentazioni dei dati digitali comportano compromessi relativi a problemi di archiviazione, sicurezza e privacy.