Přejít k navigační liště

Zdroják » Různé » Detekce a korekce chyb (úloha z kroužku programování pro děti)

Detekce a korekce chyb (úloha z kroužku programování pro děti)

Články Různé

Na vysoké škole nás učili, jak počítač dokáže přečíst lehce škrábnuté CD a jak pozná, že je poškozené příliš. Dětem to lze to vysvětlit hravou formou. V dnešní době už asi skoro nebudou znát CD a DVD, ale stejný princip platí i pro jiné nosiče, jakými jsou například QR kódy.

Text vyšel původně na autorově blogu a vychází z díla Parity magic (csunplugged.org) pod licencí CC BY-SA 4.0.

Pro koho je úloha určená

Úlohu jsem dělal s dětmi od druhé do páté třídy.

Potřeby

  • 15 až 20 minut
  • kartičky reprezentující jednotlivé bity
    • ideálně černé a bílé
    • lze použít i žolíkové, a to dvěma způsoby: Buď mají různobarevný rub, nebo použijeme líc, a pak je jedna hodnota červená (srdcové a kárové bez rozlišení) a druhá černá (piky a trefy rovněž bez rozlišení).

Postup

Zeptáme se dětí, zda se někdy setkaly s problémem škrábnutého DVD nebo poškozeného QR kódu. Naznačíme, že malé chyby dokáže počítač opravit. Větší chyby už neopraví, data nepřečte, ale ví, že jsou špatně. To je taky důležitý aspekt, umět odmítnout vadná data a nesnažit se je chybně interpretovat.

Náhodně rozdáme karty (bity) do čtverce 5 x 5, nebo ještě lépe necháme děti, aby je náhodně rozdaly samy. Překontrolujte, že jde opravdu o náhodné rozdělení a že se mezi řádky neopakuje nějaký vzorec.

Nyní učitel přidá paritní bity (sloupce i řádky), a to následujícím způsobem. Pokud je v řádku lichý počet černých karet, přidáme na konec černou kartu. Je-li sudý (včetně situace, kdy neobsahuje žádnou černou kartu), přidáme na konec bílou kartu. Analogicky provedeme se sloupci. V pravém dolním rohu nám vznikne paritní bit paritních bitů jako kontrola, že jsme sloupce i řádky přidali správně (počet paritních bitů, černých karet, v paritním sloupci a paritním řádku nemusí přesně souhlasit, ale souhlasit musí jejich parita, tedy to, zda je obojí sudé či liché).

Chcete-li definici z wikipedie:

Lichá parita znamená lichý počet jedničkových bitů ve slově.

Požádáme děti, aby, až odejdete za dveře, zaměnily právě jednu kartu za jinou barvu. Následně překontrolujete všechny paritní bity. Průnik sloupce a řádku s chybným paritním bitem identifikuje chybnou kartu. Měli byste být schopní identifikovat záměnu i v samotných paritních bitech.

Role si prohoďte. Učitel připraví základní čtverec, děti přidají paritní bity. Pak se otočí a učitel vymění právě jednu kartu. Děti hledají, která karta byla vyměněná.

Nakonec všichni dohromady vyzkoušejte, co se stane, vyměníte-li dvě karty. Poznáte, že je v systému chyba, ale už nedokážete přesně říct, která karta je chybná (můžete přibližně hádat). Při otočení čtyřech karet se vám může stát, že všechny paritní bity budou sedět a chyba tedy zůstane neodhalená.

Didaktické poznámky

Pokud jste s dětmi doposud neprobírali binární čísla, bude potřeba tématu věnovat nějaký čas. Rovněž mladším dětem bude pravděpodobně potřeba vysvětlit koncept lichý/sudý.

V návodu je uvedeno, že máte kontrolovat, zda se mezi řádky neopakuje nějaký vzorec. Osobně jsem s tím problém neměl. Podle Parity Magic pro pokročilé může mít obrazec i jiné rozměry, například: 5 x 9 nebo 6 x 4, ale už ne 3 x 4. Počet řádku a sloupců musí být obojí sudé, anebo obojí liché.

Čistě didakticky je asi nejméně rušivé, když pracujete pouze s černými a bílými kartami (to vyzkouším příště). Vzal jsem zavděk žolíkovými kartami, jelikož jsem šetřil čas na přípravu. S žolíkovými kartami je nejspíš lepší pracovat s rubem, ale měl jsem dvě stejné sady. Na druhou stranu varianta s lícem vypadá jako lepší karetní trik. Odvedení pozornosti má i světlou stránku, a to, že se nepokoušíte hledat v tom kimovku. Tedy zapamatovat si rozložení i bez paritních bitů. (Pro jistotu jsem dětem vyměnil víc karet, myšleno hodnoty, ale barvu jsem změnil jen u jedné.)

Děti jsem nabádal, aby úlohu ukázaly doma rodičům právě jako karetní trik. Což ale nikdo neudělal. Domnívám se, že ty mladší tomu v hodině s dopomocí rozuměly, ale nebyly schopné samostatně úlohu zopakovat.

Komentáře

Odebírat
Upozornit na
guest
2 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře
Robert

No, když jsem něco takového naposledy programoval (pro diskety) tak to spíš hlásilo „sektor nelze přečíst“. Což by spíš odpovídalo tomu, že nějakou kartičku odebereme a pak jí máme dopočítat. A zase tam je možno určovat kolik (a jak srovnaných chyb) jsme schopni dopočítat.

Martin Hassman

Odebrání jedné kartičky je vlastně taková jednodušší podoba úlohy z článku. Bez nutnosti lokalizace problému.

Přístupnost není jen o splnění norem: nový pohled na inkluzivní design

Přístupnost a inkluze možná nepatří mezi nejžhavější témata digitálního světa – dokud o nich nezačne mluvit Vitaly Friedman. Na WebExpo 2024 předvedl, že inkluzivní design není jen o splněných checkboxech, ale hlavně o lidech. S energií sobě vlastní obrátil zažité přístupy naruby a ukázal, že skutečně přístupný web je nejen možný, ale i nezbytný.

Efektivnější vývoj UI nebo API: Co si odnést z WebExpo 2025?

Různé
Komentáře: 0
Jak snadno implementovat moderní uživatelské rozhraní? Které funkce brzdí rychlost vašeho webu? A kdy raději sami přibrzdit, abychom využitím AI nepřekročili etické principy? Debatu aktuálních dev témat rozdmýchá sedmnáctý ročník technologické konference WebExpo, která proběhne v Praze od 28. do 30. května. Který talk či workshop si rozhodně nenechat ujít? Toto je náš redakční výběr z vývojářských hroznů.

Zapřáhněte AI jako nikdy předtím. Květnová konference WebExpo přivítá hvězdy technologického světa

Od 28. do 30. května 2025 promění pražský Palác Lucerna na tři dny technologická konference WebExpo. Na programu je více než 80 přednášek a workshopů od expertů z celého světa. WebExpo tradičně propojuje vývojáře, designéry, marketéry i byznysové lídry a nabízí praktické dovednosti, strategické myšlení a přináší nejnovější trendy nejen v oblasti AI.