Lekce O Organizační pokyny C2184 Úvod do programování v Pythonu podzim 2014 Organizační pokyny Mgr. Stanislav Geidl C2184 Úwd do programováni v Pythonu Cíle Sylabus Výuka a hodnocení Zdroje Cvičící Mgr. Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita Cíle předmětu Kurz slouží jako úvod do programování v jazyce Python. Výuka je zaměřena na praktické použití, především ukázky aplikace v přírodních vědách (řešení problémů a zpracování dat). Po ukončení předmětu budou studenti schopni používat základní programátorské konstrukce v jazyce Python (např. podmínky, cykly, funkce, základní datové typy). Dále budou studenti schopni vytvářet jednoduché programy v jazyce Python a dokáží Python využít jako nástroj pro zpracování dat získaných v rámci svých vědeckých a výukových projektů. Organizační pokyny Mgr. Stanislav Geidl i la i ■): ■ C2184 Ůwd do programováni v Pythonu Sylabus Výuka a hodnocení Zdroje Cvičící Sylabus O Úvod - základní vlastnosti Pythonu, porovnání s ostatními jazyky, proč a k čemu lze používat Python. Stručné seznámení s vývojovým prostředím jazyka Python. © Základní konstrukce jazyka: základní datové typy, logické a matematické operátory, podmínky, cykly. Vstup a výstup. © Pokročilé datové typy - řetězce a kolekce (tuple, seznamy, slovníky). Funkce, lambda funkce a rekurze. © Základy složitosti a algoritmizace. Příklady základních algoritmů: největší společný dělitel, prvočísla. © Další příklady algoritmů: řadící algoritmy, vyhledávání. Chyby, výjimky a jejich zpracování. © Práce se soubory. Zpracování binárních a textových souborů. © Úvod do OPP, objekty. Moduly a balíčky. © Práce s textem, úvod do regulárních výrazů a zpracování XML/JSON. © Využití externích modulů v přírodních vědách. Průběh výuky a hodnocení • Lekce doplněny příklady a procvičováním. Povinná účast (nutné splnit 80 %). • Povinné domácí úkoly (nutné splnit 80 %). • Závěrečný test během zkouškového období (nutné splnit 60 %). Budou zadán problém, který bude potřeba během zadaného času vyřešit naprogramováním skriptu v Pythonu. • Chybějící body za omluvenou neúčast a za nevypracované domácí úkoly bude možné částečně nahradit závěrečným projektem a jeho obhajobou. Nejvýše lze nahradit 30 % neúčasti a 30 % chybějících úkolů. Zadání a složitost projektu bude určena dle potřeby. Průběh výuky a hodnocení • Lekce doplněny příklady a procvičováním. Povinná účast (nutné splnit 80 %). Minimálně 50 % účasti! • Povinné domácí úkoly (nutné splnit 80 %). Min. 50 %! • Závěrečný test během zkouškového období (nutné splnit 60 %). Budou zadán problém, který bude potřeba během zadaného času vyřešit naprogramováním skriptu v Pythonu. • Chybějící body za omluvenou neúčast a za nevypracované domácí úkoly bude možné částečně nahradit závěrečným projektem a jeho obhajobou. Nejvýše lze nahradit 30 % neúčasti a 30 % chybějících úkolů. Zadání a složitost projektu bude určena dle potřeby. Domácí úkoly 12 domácích úkolů s rozdílnou bodovou hodnotou 1. úkol za 4 body 2. - 8. úkol po 8 bodech 9.-12. úkol po 10 bodech celkem 100 bodů odevzdání do příštího úterý vč., opravené před cvičením, body budou evidovány v poznámkových blocích náhradní domácí úkoly budou vypsaný výjimečně na základě rozhodnutí cvičícího SAMOSTATNĚ, v případě podezření na opisování zavedu kontrolní mechanismus po domluvě možné konzultace k úkolu během úterý (kancelář nebo skype) Domácí úkoly • Hodně štěstí, trpělivosti a času na řešení domácích úkolu. _"Chybami se učíme."_ Věnujte dostatek času domácím úkolům prosím. Ukázka závěrečného testu Pomocí modulu uriiib2 stáhněte obsah stránky http://ncbr.muni.cz/~standag/python/test/FKJSLDF.txt a s načteným obsahem proveďte následné operace: • napište FUNKCI, která výstup vypíše pouze 5. -10. a 16. znak na řádku dokumentu • na každém řádku se nachází číselná hodnota, tuto uložte do seznamu a spočítejte průměrnou hodnotu a medián za použití pouze základních matematických funkcí a cyklů, určete složitost těchto výpočtů vůči počtu řádků dokumentu N • na konci každého řádku se nachází písmeno, samohláska odpovídá • a souhláska - v Morseove abecedě, jaká je tajná zpráva uložená v dokumentu? • volitelně: napište FUNKCI, která na výstup vypište pouze řádky obsahující libolné třípísmenné kombinace složené z těchto písmen: a, b, c, d, i, j, k, I, m, n, t, u, v, w, x Organizační pokyny Mgr. Stanislav Geidl C2184 Ůwd do programováni v Pythonu Cíle Sylabus Zdroje Cvičící Literatura a další zdroje Knihy: • SUMMERFIELD, Mark. Python 3: výukový kurz. Vyd. 1. Brno: Computer Press, 2010. 584 s. • PILGRIM, Mark. Ponořme se do Python(u) 3. CZ.NIC, 2010, 430 s. (pdf) • Python for data analysis agile tools for real world data. Weby: • http://python.cz/ • http://jaksenaucitprogramovat.py.cz/ • http://www.codecademy.com/tracks/python • http://www.checkio.org/ • http://pythontutor.com/ Mgr. Stanislav Geidl standag@chemi.muni.cz kancelář: A4/234 telefon: 549 49 6568 mobil: 725 007 814 skype: standag516 konzultační hodiny: středa od 13:00 do 14:00, úterý po doml