Když už se tu tak řeší, jak učit děti programovat, se známým jsme se bavili o tom, zda by nemělo smysl začít s výukou ještě něčím jednodušším - bohužel si nepamatuji název, ale setkali jsme se s deskovou hrou, kde člověk ovládá robota v herním poli. Každý hráč má sadu karet, každá reprezentuje nějakou akci (pohyb, natočení), v každém kole si hráči připraví určitou sadu příkazů a ty se pak vyhodnotí.
Jistě, nejsou v tom podmínky, smyčky, nelze v tom implementovat nějakou skutečnou logiku, ale přijde mi, že to nutí se lidi zamýšlet nad tím co přesně po tom robotovi chci a proč, včetně následků (v jakém budu stavu po vykonaní konkrétní akce) - což je IMHO důležité pak při samotném programování (po vykonání instrukce se aplikace dostane do nového stavu a ten si musím uvědomovat, abych mohl napsat adekvátní následující příkaz). Byl jsem svědkem toho, že i dospělí lidi (neprogramátoři) měli problém si uvědomit, že když robota natočím jednou akcí, od té doby je jeho „vpřed“ jiné.
Tohle je taky pěkné řešení, vidím jej teď prvně, nicméně ano, je to v tom stylu, co jsem myslel.
Ne, že by to bylo nějak důležité, nicméně to, co jsem zmiňoval, byla fyzická/papírová deskovka (+ plastoví roboti), která byla částečně jednodušší (v každém kole si každý hráč připravoval ~4 příkazy, přesné číslo si nepamatuji) a částečně složitější (větší herní plocha a různé překážky či aktivní prvky).
Njn, ač jsem rád, že doba Flashová je za námi, měla spousty perel a málokteré v nějaké formě přežily. (OT: jednu z mých oblíbených naštěstí portovali.)
Něco podobného se mi před časem taky stalo - člověk si pak uvědomí, jak moc vypadává ze cviku v rámci čehokoli, co nedělá denně...
"nutí se lidi zamýšlet nad tím co přesně po tom robotovi chci a proč,"
Jojo, deti se musi naucit myslet v nejake 'posloupnosti', kdyz po nich chci aby rekli co musi robot udelat, jde videt ze preskakuji nejake kroky a musi naprit svou mysl aby si uvedomili postup. A to ze po konci akce robot skonci nekde jinde, a nemuzou ji jen tak spustit znova ale musi treba robota rucne vratit na start se taky musi naucit. Hezky to bylo videt s nasim lego boost - tam je jezdici robot, jezdi treba po sachovnicovem poli. Ukol je napr. vyhnout se bazine a najit nejakou postavicku. Programovalo se to pomoci ikonek 1x dopredu, otacka vlevo atd., jako stary Karel. Kdyz uz to zvladali, zkousel jsem zvednout uroven a ucit je komplikovanejsi akce pomoci 'motor o 3/4 otacky', ale to slo ztuha, budu muset jeste pockat.
Ono vlastně to, co popisujete, se dá generalizovat na lidi obecně - podobného chování jsem si všiml i u dospělých (myšleno obecně, ne jen v rámci učení se programování). U nich je navíc mnohdy problém v tom, že když „[...] preskakuji nejake kroky [...]“, nenechají si to vysvětlit, protože „to přece chápu, ne? Nedělej ze mě vola.“