1. ročník střední školy
Algoritmizace
Výukové materiály k algoritmizaci a programování v Pythonu.
Pro žáky
Lekce
První tematický celek
Algoritmizace – Lekce 0–8
11 lekcí
IT dnes: proč tu vlastně jsme?
Co znamená studovat IT v době AI a proč se stále učíme programovat.
Diskusní lekceAlgoritmus a jeho vlastnosti
Jak poznáme, že je postup dost přesný, konečný, obecný a správný.
Hotová lekceJak zapisovat algoritmus: slovní zápis a pseudokód
Přehledný zápis postupu před tím, než ho později převedeme do Pythonu.
Hotová lekceRozhodování a podmínky
Algoritmus nemusí pokaždé provést stejné kroky. Může se rozhodovat podle situace.
Hotová lekceOpakování a cykly
Jak zapsat kroky, které se mají opakovat vícekrát nebo dokud nenastane určitá situace.
Hotová lekceAlgoritmická dílna I: Jak rozložit problém
Složitější úloha je několik menších problémů spojených dohromady.
Hotová lekceAlgoritmická dílna II: Samostatné řešení problémů
Dostaneš problém a samostatně zvolíš vhodný algoritmický postup.
Hotová lekceAlgoritmy s opakováním
Dvouhodinová lekce pro Mechanika elektrotechnika: cyklus v pseudokódu, ve vývojovém diagramu a na Reeborgovi. Navazuje na lekci Od algoritmu k rozhodování.
Od algoritmu k rozhodování
Dvouhodinová lekce pro Mechanika elektrotechnika: pseudokód, vývojové diagramy a první podmínky. Od slovního algoritmu přes rozhodování až k jednoduchému Pythonu a technickým úlohám.
Přechod k programování
Programování a programovací jazyky – Lekce 9
1 lekce
Programování a programovací jazyky
Co znamená programovat, jak se algoritmus mění ve zdrojový kód a proč začínáme Pythonem.
Nová lekce
Nový tematický celek
Programování v Pythonu
12 lekcí
První program v Pythonu
Od pseudokódu k Pythonu: interpret vs. překladač, instalace Pythonu a VS Code, první program, print a čtení chybových hlášek.
Turtle a proměnné: program, který můžeš měnit
Jedna vyučovací hodina: želva ukáže přesnou posloupnost příkazů a přirozeně dovede žáky k proměnným. Pohyb, otáčení, přiřazení, změna hodnoty a parametrické kreslení bez cyklů.
Vstup, datové typy a výpočty
Souvislá výuková lekce o input, str, int a float. Na jednom programu žáci pochopí vstup, datové typy, převody a výpočty; teprve potom pokračují základní nebo expertní trasou.
Řetězce a formátovaný výstup
Souvislá lekce o f-stringu, formátování čísel, zarovnání do sloupců a metodách řetězců. Žáci se naučí plně ovládnout výstup programu, včetně psaní textu želvou.
Počítání s čísly
Celočíselné dělení, zbytek po dělení, mocnina a odmocnina, pořadí operací, round() a abs() a vysvětlení nepřesnosti desetinných čísel. S využitím v Turtle.
Opakování: od prvního programu k výpočtům
Shrnutí lekcí 10 až 14 před testem: u každé lekce přehled toho, co musíš umět, a krátké ověřovací otázky. Jen základní trasa.
Samostatná práce: čísla a řetězce
Dvouhodinová samostatná práce bez teorie: rozcvička v prohlížeči, krátké programy a projekt (pokladna kina / plánovač výletu). Procvičuje operátory, formátovaný výstup a metody řetězců.
Kontrolní test: lekce 10–14
Dvacet otázek s výběrem odpovědi na látku prvních pěti lekcí Pythonu: proměnné, datové typy, vstup, f-string, metody řetězců a operátory. Každá otázka za jeden bod.
Podmínka: if a else
První rozhodnutí v programu – porovnávací operátory, if, else, povinná dvojtečka a odsazení bloku, datový typ bool. S využitím v Turtle a s kontrolou vstupu.
Podmínky: elif a vnořené podmínky
Víc než dvě možnosti – řetěz if, elif a else, pořadí podmínek u pásem, hraniční hodnoty a vnořené podmínky. Včetně rozhodnutí, kdy použít elif a kdy vnoření.
Logické operátory: and, or, not
Spojování podmínek – and, or, not, operátor in, zápis rozsahu a priorita operátorů. Včetně závorek u kombinace and a or a kontroly vstupu v Turtle.
Seznamy a cyklus for
Seznam jako datový typ – hranaté závorky, indexy od nuly, len(), append(), průchod cyklem bez range() a čtyři vzory nad seznamem: součet, počet, maximum a budování nového seznamu.
Programovací svět
Trénuj algoritmické myšlení v interaktivním světě. Od prvních příkazů přes podmínky a cykly až po řešení algoritmických problémů.
Spustit Programovací svět
Samostatná část
3. ročník C#
17 lekcí
Přehled C# 1: Proměnné, datové typy, vstup a výstup
Stručný přehled základů C#: struktura programu, proměnné a konstanty, datové typy, operátory, převody a parsování vstupu, řetězce a formátování výstupu.
Přehled C# 2: Podmínky a větvení programu
Booleovské výrazy, priorita operátorů a zkrácené vyhodnocení, příkaz if, podmíněný operátor, příkaz switch, switch výraz a porovnávání vzorů (pattern matching).
Přehled C# 3: Cykly a opakování
Cykly for, while, do-while a foreach, řízení cyklu pomocí break a continue, vnořené cykly a základní vzory: součet, počet a největší hodnota.
Přehled C# 4: Metody
Deklarace a volání metod, signatura, předávání parametrů hodnotou a odkazem (ref, out, in, params), návratové hodnoty a n-tice, přetížení, zásobník volání, rekurze a zásady návrhu metod.
Přehled C# 5: Třídy a objekty
Třída jako předpis a objekt jako konkrétní věc: pole a vlastnosti, konstruktor, metody, ToString, this, statické členy, chování referencí a kdy použít record.
Přehled C# 6: Zapouzdření – třída, kterou nejde použít špatně
Pravidla objektu (invarianty), modifikátory public a private, vlastnosti jen pro čtení, kontrola vstupu v konstruktoru a metodách, bezpečné vystavení seznamu a rozdíl mezi vlastností a metodou.
Přehled C# 7: Dědičnost a rozhraní
Dědičnost a volání konstruktoru předka, virtual a override, polymorfismus, abstraktní třída, rozhraní jako společná schopnost, bezpečný test typu a volba mezi dědičností a kompozicí.
Přehled C# 8: Kolekce – pole, List, Dictionary a ObservableCollection
Pole a List<T> – přidávání, odebírání, hledání; Dictionary<TKey, TValue> – ukládání dvojic klíč–hodnota; ObservableCollection<T> pro seznamy ve WPF a volba vhodné kolekce.
Procvičení: třídy a objekty v C#
Osm programovacích úloh ve Visual Studiu s automatickými kontrolami: třídy, zapouzdření, static, dědičnost, polymorfismus, abstraktní třídy a rozhraní.
Přehled C# 10: Verzování a Git – pojmy a první repozitář
Proč verzovat soubory, Git a GitHub, tři oblasti Gitu, commit a stavy souborů, nastavení Gitu, první repozitář a .gitignore pro projekty v C#.
Přehled C# 11: GitHub – push, pull, clone a větve
Vzdálený repozitář na GitHubu, odeslání a stažení změn (push, pull), klonování, práce na více počítačích, jednoduché větve, spojení větví a řešení konfliktu.
Přehled C# 12: Relační databáze a SQLite
K čemu je databáze, relační model (tabulka, řádek, sloupec, primární a cizí klíč, vztah 1:N), datové typy a omezení v SQLite a práce v DB Browser for SQLite. Návrh databáze pro Domácí knihovnu.
Přehled C# 13: Základy SQL
Jazyk SQL v DB Browser for SQLite: výběr dat (SELECT, WHERE, ORDER BY), agregační funkce a GROUP BY, spojování tabulek (JOIN) a změny dat (INSERT, UPDATE, DELETE) nad databází Domácí knihovny.
Přehled C# 14: C# a SQLite
Připojení k databázi SQLite z C# přes Microsoft.Data.Sqlite: připojení, příkazy ExecuteNonQuery, ExecuteScalar a ExecuteReader, parametrizované dotazy a ochrana proti SQL injection. Domácí knihovna ukládá knihy do databáze.
Přehled C# 15: Základy tvorby her – herní smyčka a stav hry
Jak funguje hra: herní smyčka (vstup, aktualizace, vykreslení), snímky a FPS, stav hry, tahová hra na mapě v konzoli, hra v reálném čase s delta time a srovnání s enginem Godot.
Přehled C# 16: Úvod do Godotu – uzly, scény a první skript
Herní engine Godot (verze .NET) s Visual Studiem: instalace a nový projekt, editor, uzly a scény, první C# skript (_Ready, _PhysicsProcess, [Export]), Input Map a pohyb postavy pomocí CharacterBody2D.
Základy Linuxu v Git Bash
Linux, distribuce a shell, adresářová struktura a cesty, práce se soubory a složkami, čtení a úprava textu, roury a hledání, práva souborů. Prakticky v Git Bash, který se instaluje s Gitem.
Žádná lekce neodpovídá filtru.
Zrušit filtry