3. 9.: Organizace a motivace. Programovací jazyky. HTML tagy a základní struktura dokumentu, tag script. 1. písemka
10. 9.: HTML: základní formátovací tagy, odkazy, vlastnost id. JS: událost kliknutí, přístup k prvkům pomocí getElementById, globální proměnné. Nebyla písemka.
17. 9.: HTML: základní prvky formuláře. JS: událost onsubmit a zrušení odesílání. 2. písemka
24. 9.: Témata ročníkových projektů. Některé datové typy Javascriptu. Typy čísel v počítači: integer, floating point. Podmínka if - else v Javascriptu. 3. písemka (dopadla špatně, nepočítá se), řešení na ukázku
1. 10.: Praktické příklady (na oddělené stránce, dále doposud probraná řešení). Zatím jen první dvě části, tj. opakování základů syntaxe a podmínek. Vlastnost event.target. Nebyla písemka.
15. 10.: Začátky s Pythonem. Základy syntaxe: příkazy, funkce, zabudované datové typy. Instalace, příkazová řádka a programátorské pohodlí. 5. písemka (čtyři různá zadání, řešení je tam označené)
29. 10.: podzimní prázdniny
5. 11.: Podmínky a cykly v Pythonu. Práce s řetězci: sčítání, čtení od uživatele. Podmínka in pro hledání podřetězce. 6. písemka (pro vadné zadání se dávaly jen desítky). Zápisky.
12. 11.: Cyklus for. Hledání pythagorejských trojic hrubou silou. 7. písemka (dvě různá zadání, řešení je označené). Zápisky.
19. 11.: Prezentace ročníkových projektů, kdo to stihl. Letmé dokončení výpočtu odmocniny z minula. Na počítačích je odteď už Python instalovaný. Neprobralo se nic. 8. písemka
26. 11.: Prezentace zbylých ročníkových projektů. Ukázky webové komunikace: klient, server. Indexování prvků a hledání v řetězcích. Zápisky (shodné s následující hodinou). 9. písemka (nepočítá se).
3. 12.: Opravné písemky 5., 7. a pak obyčejná 10. Cvičení na indexování v řetězcích. Pokus s přestávkou v půli. Seznamy a n-tice v Pythonu: stručný úvod. Zápisky.
17. 12.: Zápisky / cvičení (nepovinné, jen pro zájemce). Zpracování csv tabulek. Rozcvička s grafickými prvky (jednoduché vykreslování pomocí tkinter). Prolézání webu pomocí BeautifulSoup: stažení Hany a Hany.
24. a 31. 12.: zimní prázdniny
7. 1.: Nebyla písemka. Cvičení: práce se seznamy a slovníky. Povídání o objektech a importování knihoven. Velmi zběžná ukázka grafiky pomocí pygame. Zápisky.
14. 1.: Cvičení: podmínka is a prvočíselný rozklad (opakování z minula). Další ukázkové úlohy v hodině. Praktické použití pro jednoduchou hru v Pygame. Zápisky: pygame. 13. písemka
21. 1.: Písemka nebyla. Modul Numpy pro řešení řešení obecných soustav rovnic a pro vykreslování různých dat. Jednoduché programy na související témata. Zápisky.
28. 1.: Vlastní třídy, dědění, konstruktor a destruktor. Znovu: kopírování Pygame na počítače a spouštění ukázky staré tři týdny. 14. písemka.
4. 2.: Pygame: obrázky a sprites, zpracování událostí. Jednoduchá kinematika, výpočty v reálném čase. Zápisky. Nebyla písemka.
11. 2.: Cvičení. Zápisky (probrány jen z části). Dědičnost objektů. Další ukázky programů s pygame. Organizační poznámky k ročníkovým projektům. 15. písemka.
18. 2.: jarní prázdniny
25. 2.: Prezentace práce na ročníkových projektech (rámcově, pro motivaci ostatních). Zápisky, podrobně probrán zatím první příklad. Nebyla písemka.
4. 3.: poslední hodina II. trimestru. Jestli jste rozpracovaný (běžící) program nepředváděli minulou hodinu, do této doby mi pošlete mailem rozpracovaný kód anebo si ho bezpečně připravte na tuto.
Dokončení z minula: dynamické programování pro složitější úlohy na řetězcích – zápisky. Čtení a zápis souborů – zápisky. Cvičení, 16. písemka (nepočítá se, dopadla hrozně).
25. 3.: 18. test a komentáře. Orientovaný úhel v rovině pomocí vektorového součinu. List comprehensions a generátory (v zápiskách úplně na konci). Ukázka hry FoFiX (založená na Pygame).
1. 4.: Ověření konvexnosti a výpočet konvexního obalu. Rozbor výpočetní složitosti obou algoritmů. Otáčení vektorů, zatím jen úvod. Nebyla písemka.
8. 4.: Transformační matice a zběžný náhled do projektivní geometrie. Zápisky. Úvod do síťování.
20. 5.: Fyzikální výpočty s využitím Numpy a Matplotlib. Hodinu vedl Filip Dominec. Ukázkový soubor.
27. 5.: Garbage collector. Debugger, profiler. Některé zajímavé algoritmy. Písemka nebyla (na hodině byli čtyři lidi).
3. 6.: Termín odevzdání ročníkových projektů, prezentace výsledků. Opravné písemky.
přítomnost
10. 6.: poslední hodina. Nouzový deadline pro odevzdání ročníkových projektů.
Ročníkové projekty
Každý účastník semináře si musí (případně ve dvojici) zadat téma projektu a potom ho v nějakém jazyce naprogramovat. Téma a výsledek musí na konci prvního resp. třetího trimestru stručně prezentovat ostatním. Celkově by výsledek projektu na konci roku měl odpovídat 10 hodinám soustředěné práce na člověka.
Cílem třetího trimestru je dokončit ročníkové projekty, a bude se od toho významně odvíjet závěrečné hodnocení přístupu. Jestli narazíte na potíže, konzultujte to s Adamem buďto před hodinou, po ní, anebo kdykoliv mailem, ale každopádně včas.
Hodnocení
Hodnocení prospěchu je aritmetickým průměrem známek z písemek. Hodnocení přístupu se zakládá na aktivitě v hodině (za otázky k tématu se každému počítají plusy), na dojmu z celkové aktivity studenta během hodiny a na práci věnované ročníkového projektu. V prvním semestru sloužilo hodnocení přístupu jen jako trest za výrazné porušení pravidel, především za opisování.
Následuje tabulka výsledků písemek s předzdívkami lidí, kteří si přáli mít zde známky zveřejněné. Jestli se chcete přidat nebo nechat vymazat, ozvěte se na hodině nebo mailem.
Kódové označení
25.3.
15.4.
29.4.
6.5.
20.5.
123456789
10
*
-
10
10
9607220249
3
*
8
10
-
Cabbage
9
10
10
10
-
nigga
-
-
10
-
-
Kingnothing
9
*
10
8
3→9
queensomething
9
-
10
10
-
NIC
5
8
10
6
-
Papathepig
9
*
10
-
4
Snoopcz
10
-
10
10
-
undefined
10
10
10
10
10
vmasarik
10
-
10
10
10
Xargo
-
9
10
10
-
Odkazy
W3Schools – spolehlivý a úplný popis HTML, CSS a Javascriptu Jakpsatweb – český web o psaní webu, vydatný (leč mírně zastaralý) návod na HTML a praktické komentáře k CSS Py.cz – rozcestník českých webů o Pythonu s několika návody a přeloženými učebnicemi Stack Overflow – web stylu otázka-odpověď na všechna témata související s programováním