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
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.

Odysseus: PewDiePie vydal open-source AI workspace, který běží na vašem vlastním hardwaru

AI
Komentáře: 0
Felix Kjellberg, youtuber se 110 miliony odběratelů, strávil rok učením se programovat a fine-tuningem vlastních AI modelů. Výsledkem je Odysseus – bezplatný, open-source workspace pro práci s umělou inteligencí, který neposílá žádná data do cloudu. Projekt má týden, přes 61 000 hvězdiček na GitHubu a znovu otevírá otázku, komu vlastně patří váš digitální kontext.

Když Git už nestačí: jak izolovat databázový stav pro pokusy AI agentů

Gitová větev vývojářům oddělí kód, ale databáze často zůstává společná. U AI agentů je to slabé místo: rychle spouštějí migrace, mění data a zkoušejí víc cest najednou. Databázová větev jim dá vlastní pracovní prostor, jenže tím práce nekončí. Ještě je potřeba řešit citlivá data, oprávnění, životnost větve i zbytek stavu aplikace.

GitHub vyhrál pohodlím. Stejné pohodlí dnes ztěžuje odchod

GitHub kdysi působil jako přesný opak SourceForge: rychlý, přehledný a přirozený. Dnešní projekt na něm ale často nemá jen kód. Má tam issues, pull requesty, CI, balíčky, bezpečnostní pravidla i AI agenty. Lock-in nevzniká tím, že by nešel odnést Git repozitář, ale tím, že se běžný provoz týmu postupně přesune do jedné platformy.