Kurz Programování na Nuselské bude probíhat od 18. září 2025
a volně navazuje na kurz začátečníci. Je určen pro děti druhých
až pátých tříd libovolné základní školy s tím, že děti druhých
tříd musí mít absolvovaný kurz začátečníci, šikovní jedinci z
řad třetích či čtvrtých tříd mohou přijít i bez předchozího
vzdělání.
Cílem tohoto kurzu je pokračování v rozvoji systematického
myšlení, hlubší poznávání světa informační techniky
a osvojení si základů elektrotechniky.
Kurz bude probíhat 1x týdně, každý čtvrtek od 14:15 do 15:05
v počítačové učebně.
V kurzu budeme využívat robůtky Cubetto,
Beebot i Ozobot.
Později si představíme platformu Micro:bit
a s ní zabředneme trochu blíže k elektrotechnice. Kromě těchto
se budeme věnovat i práci na PC, kde se budeme učit programovat
pomocí vybraných kurzů na code.org,
prostředí scratch a dalších.
To vše proložíme tvůrčími aktivitami s papírem, kostkami a jinými
rekvizitami.
Cílem kurzu není vzdělat hotového programátora, ale rozvíjet logické
myšlení, algoritmizaci a jiné vlastnosti, které se dětem budou hodit
při studiu jakéhokoliv oboru.
Zklkamaly nás počítače, hra fungovala pouze na učitelském, proto jsme využili učitelský a můj notebook; po krátkém hledání to vypadá na problémy s Windows 10, proto doporučuji GNU/Linux (wine/lutris/proton), případně mohou pomoci ovladače dgVoodoo, pokud bude čas, můžeme někdy opět vyzkoušet
Ukázali jsme si lehce adresářovou strukturu:
Audio/ - Zvuky, můžeme nahradit vlastními
Levels/ - Mapy, nelehké úpravy, takže nezajímavé
Scripts/Events - Události, které se mohou dít když cestujeme po mapě, nebo je spouštět - zajímavé, ale moc toho neuděláme
Scripts/Missions - Definice misí - nejzajímavější, v demoverzi se vždy spustí skript mission661.dms a můžeme si ji trošku upravit
Nejzajímavějším zjištěním byl prostý formát definice misí a fakt, že demoverze nám dovolí jakékoliv úpravy v souboru Scripts/Missions/mission661.dms, například:
Vypnutí časovače (Countdown), abychom získali víc času na hraní
Změna cíle (SetTarget 0,1,917,398517), čímž se vyhneme splnění mise a ukončení hry
Vypnutí ničení (DisablePlayerDamage), čímž nás tolik netrápí policisté
Případně vypnutí policistů kompletně (cops_off) a můžeme jezdil dle libosti
Následně jsme si vyzkoušeli splnit upravenou misi (v základu nesplnitelná, je nutnost upravit podmínky, kreativitě se meze nekladou)
Ukázali jsme si CSS - kaskádové styly, které se používají pro definici stylu (barvy, pozice, efektů) na HTML stránce
Styl můžeme “importovat” pomocí <link rel="stylesheet" href="nas_styl.css"> v hlavičce naší HTML stránce
Následně v tomto dokumentu můžeme definovat styl jednotlivým elementům na základě typu/tagu/třídy, např.:
stranka.html
<!DOCTYPE html><html><head><!-- Hlavička stránky, sem jdou informace pro počítač --><linkrel="stylesheet"href="nas_styl.css"><metacharset="UTF-8"></head><body><!-- Tělo naší stránky, sem jdou veci co chceme uživateli zobrazi --><h1>Nadpis</h1><p>Nějaký text</p></body>
nas_styl.css
/* Nastavíme pozadí těla stránky */body{background-color:lightblue;}/* Nastavíme barvu, zarovnání a velikost písma nadpisu h1 */h1{color:rgb(0,255,128);font-size:70pxtext-align:center;}/* Nastavíme druh, barvu a velikost písma textu odstavce p */p{font-family:verdana;font-size:20px;color:#ffcc11}
Neúspěšný pokus o využití WebTop tenkých klientů skrz prohlížeč. Loni nám to jakž-takž fungovalo, letos byly latence příliš veliké (prostě se to sekalo natolik, že se to nedalo použít). Budeme si muset vystačit s Windows a portable verzemi programů.
Vytvoření účtů na lokálně hostovaném Gogs (jednoduchá alternativa github/gitlab, využijeme v dalších hodinách)
Upravovali jsme demo-misi hry driver, zkoumali jsme diffy (rozdíl od předchozí verze), vytvářeli commity (zapsané revize s komentářem) a na závěr jsme se ještě zkusili checkoutnout předchozí verzi a zpět. Všechny změny jsme samozřejmě řádně otestovali.
Těžká hodina. Podívali jsme se na to jak funguje “upstream development” (vývoj v upstreamu u programů s otevřeným zdrojovým kódem), poslední kapitola z našeho dokumentu o gitu. Cílem hodiny bylo připravit prostředí pro tvorbu našich webových stránek přesně tímto způsobem. Ještě nám chybí přidání upstream repozitářů a budeme se konečně moci věnovat HTML stránkám. Pro zjednodušení jsme využili vscode se kterým se v následujících hodinách více seznámíme.
“Commitnutí” změn a jejich publikování do našich “vzdálených” repozitářů. Malinko jsme zápasili se nastavením (falešných) emailových adres a jmen, které jsou vyžadovány pro “git commit” a následně i se zadáním hesel, ale nakonec se zadařilo všem.
Testování a zjištění, že při ovládání záleží na výtahu/zatížení/napájecím napětí a naše hodnoty z minulé lekce zpravidla vůbec nefungovaly. Výtah se pohyboval, ale neustálil se v kýžených patrech.
Lehký úvod k “ovládání” (bez zpětné vazby, nastavím hodnoty a doufám) vs. “řízení” (se zpětnou vazbou, změřím odchylku a upravím vstup)
Postupně přidáváme constrains (vazby/omezení), zpravidla délky stran či vzdálenosti bodů v určitém směru, případně rovnoběžnost, svislost, pravý úhel, …
Pokračujeme dokud není sketch (nákres) plně zavazbený (odstraním nepotřebné vazby, pokud je převazbený) a zavřeme jej.
Zvolíme vhodnou operaci
deska, otáčka, součtové profilování, … - vytáhne/orotuje/proloží náš nákres a přičte k existujícímu tělesu
kapsa, orvor, drážka, odečtové profilování, … - odřízne náš nákres z existujícího tělesa
Pokud je vhodné, využijeme zrcadlení či lineární/kruhové pole pro opakování stejného vzoru
Opakujeme dokud nejsme spokojeni s základním tvarem
Na závěr můžeme některé hrany zaoblit/zkosit (tuto operaci lze využít i na nehotový objekt, ale doporučuje se používat až na závěr)
použít Shape from text na vložení našeho textu (vždy jednu řádku)
posunout text na požadované místo pomocí Transformace (pravé tlačítko na prvku)
přesunout vytovřený ShapeString v panelu Model do našeho tělesa
přepnout zpět na pracovní prostředi Part design
použít Deska, Kapsa či jinou operaci abychom z našeho plochého objektu vytvořili trojrozměrný tvar
Pozor, vždy musí vzniknout jeden souvislý objekt, což bývá nejčastěji problém při operaci Kapsa, kdy mohou vznikat ostrůvky (např pokud vytlačíme o skrz celý objekt, vznikne nám samostatný kroužek uprostřed, což není možné. Řešením je nevytlačovat skrz celý objekt, speciální font bez ostrůvků, nebo propojení ostrůvků pomocí obdélníčků)
Pokud se vám staré hry zalíbí, doporučuji nainstalovat DOSBox-X či DOSBox, mnoho her je k dispozici ke stažení jako abandonware (pozor na viry a licence, stará hra != abandonware)
Mnohé jsou upraveny pro instalaci na nových počítačích ke koupi na GOG