Putovní přednášky 2015
Přednášky obecně

Přednášky typický trvají pět vyučovacích hodin. Jejich složení bývá následující:

Začátek přednášek se nám osvědčil přibližně od druhé vyučovací hodiny na škole, ale můžeme se po domluvě přizpůsobit.

Nabízené přednášky

Úvod do informatiky

Informatika není jen Word (nebo poslední díl vaší oblíbené počítačové hry), naopak se pod tímto názvem ukrývá mnoho zajímavých problémů. Takovým problémem můžou být automatické opravy textu nebo rychlé vykreslování odrazů na vodní hladině, ale také vyhledání nejkratší cesty na mapě a lecos dalšího. Jedno však mají společné: hledáme postup, kterým by měl daný problém řešit počítač (takzvaný algoritmus). Přitom různé algoritmy jsou různě rychlé, některé doběhnou do vteřiny, některé by výsledek nedopočítaly ani za stovky let. Naznačíme si, jak právě algoritmy vymýšlet, jak je porovnávat i jak je vylepšovat.

Programujeme reálný svět

Jak navést návratový modul od Měsíce na sestupnou dráhu do zemské atmosféry? Jak předpovědět chování proteinů v buňkách? Co to spolu má společného a jak se to dá naprogramovat? Ukážeme, jak v počítači reprezentovat reálné fyzikální procesy. Stručně představíme použité matematické metody a povíme si, co by měly splňovat. A mimochodem i vyřešíme uvedené problémy.

Jak vypadá zrcadlo v číslech

Na přednášce se podíváme na to, jaká matematika stojí za grafickými filtry obrázků. Ukážeme si, jak můžeme otáčet předmět pomocí jeho zobrazení osovou souměrností, a budeme si hrát s dalšími transformacemi. Dozvíte se, jak vypadají matice a jak je násobit s vektory. Povíme si, co všechno stojí na lineární algebře a jaké problémy dokáže vyřešit.

Do hlubin počítačové grafiky

Co musí počítač umět, aby mohl vykreslovat grafické prvky? Přemýšleli jste někdy o tom, jak souvisí antialiasing s geometrií a jak je vlastně nakreslení něčeho jako kolečko zajímavý problém? Na toto všechno přednáška zkusí odpovědět a navíc poskytne náhled do toho, jak se liší výpočty, které provádí procesor a grafická karta, a jak zajímavý problém je vlastně kreslení trojrozměrné grafiky. Nepůjdeme do detailů žádné grafické knihovny, ale pokusíme se ukázat, jak vše funguje "pod kapotou".

Šifrování

Jak bezpečně přenést tajnou zprávu, když nás odposlouchává nepřítel? Jak přesvědčit někoho, že znáte heslo, aniž byste mu ho říkali? Ukážeme si běžné šifrovací techniky, základní myšlenky jejich fungování a občas i trochu matematiky, která za nimi stojí. Stejné techniky mají i spoustu dalších nečekaných aplikací, například v anonymní internetové komunikaci (Tor) či digitálních měnách (Bitcoin).

Unix – sestavte si své zaklínadlo

Jaké to je, když vás počítač poslouchá na slovo? Povíme si něco o Linuxu a jeho ovládání prostřednictvím příkazového řádku. Ukážeme si, proč často může být efektivnější než klikací uživatelská rozhraní. Naučíme se skládat složitější celky (skripty) z jednoduchých příkazů, podobně jako z kostiček Lega. Pomocí nich dokážeme zautomatizovat spoustu mechanických a opakujících se činností. Přenechme nudnou práci strojům!

Pravděpodobnost v informatice

Kombinatorika a pravděpodobnost jsou nerozlučně provázané. Jak ale souvisí s informatikou? Ukážeme si nejen, že jsou pro ni obě zcela zásadní, ale především, že na kombinatorice je celá informatika postavena, a tudíž by bez ní ani nemohla existovat. Najdeme nejlepší způsob, jak kódovat data, a prozkoumáme nějaké algoritmy, které využívají náhodu. A především se naučíme náhodu oklamat.

Plánování cest (nejen) na mapě

Jistě jste už někdy hledali nejrychlejší cestu z jednoho bodu do druhého pomocí mapy. Jak takovou věc ale může provádět počítač? A proč by chtěl hledat cestu z Prahy do Brna přes Plzeň? Nejprve se musíme zabývat tím, jak naši mapu počítači předat. Popíšeme si kombinatorické grafy, jednoduché datové struktury, a několik si jich nakreslíme. Na nich si předvedeme algoritmy spojené s hledáním cest a všechno zobecníme i pro jiné, zdánlivě nesouvisející úlohy.

Počítačový překlad

Počítače nás už pár desítek let spolehlivě překonávají ve schopnosti něco spočítat, vyhledat v textu, odsimulovat, … a přece průměrný člověk přeloží cizojazyčný text lépe než průměrný počítač. Čím to je? Ukážeme si, proč jsou přirozené jazyky tak zrádné a jak se s tím vším přesto poprat.

Jak hledat v řetězcích DNA

Techniky vyhledávání v textu mají mnoho uplatnění. Ať už ve vyhledávačích jako je Google, při zpracování DNA, nebo třeba při hledání souborů na disku. Ukážeme si, jak vyhledávat v obrovském množství dat rychle a jak zároveň rychle a správně. Podíváme se, jak lze využít automatů, že je není vůbec složité naprogramovat, a jak je lze aplikovat třeba pro kontrolu správného vstupu od uživatele aneb fungování regulárních výrazů.

Od algoritmu k procesoru

Počítač se od většiny zařízení liší tím, že dokáže téměř cokoli, co si vymyslíme a umíme dostatečně dobře popsat. Jak je to vůbec možné? Jak vypadá takovýto "popis" alias program? Čím se programovací jazyky liší od lidských a od sebe navzájem? Zabrousíme též do základních principů, na kterých počítače fungují.

Umělá inteligence

Povíme vám, jak přimět počítač, aby se učil. Tím dokážeme rozlousknout problémy, jejichž řešení třeba ani nedokážeme počítači pořádně vysvětlit – naprogramovat. Povíme si o genetických algoritmech a neuronových sítích a nezatajíme vám ani souvislosti se skutečným fungováním genetiky a mozku v biologii.

Počítač jako šachový velmistr

Existuje mnoho šachových programů, které bezpečně porazí jakéhokoliv lidského hráče. Jak se ale počítač naučí pravidla nějaké hry a jak pak pozná, který tah je dobrý a který ne? Společně zodpovíme tyto a další otázky. Ukážeme si, jak může počítač přemýšlet dopředu a proč se to s přemýšlením dopředu nemůže přehánět. Předvedeme si také, že to, co funguje pro šachy, můžeme uplatnit i v mnoha dalších hrách, a v mnohých naopak ne.

(Ne)bezpečnost v počítačových sítích

Stručný úvod do fungování sítě. Protokoly TCP/IP a ARP. Co je paket, jak data najdou svoji cestu k cíli a jak je útočník může zachytávat i měnit. Praktické ukázky hackování běžné sítě od MITM po převzetí (třeba emailového) účtu. Jak se tomu všemu lze bránit, pokud to vůbec jde.