PřF:F5698 Ultimátní příručka Pythonu - Informace o předmětu
F5698 Ultimátní příručka mladého budovatele v Pythonu
Přírodovědecká fakultapodzim 2021
- Rozsah
- 0/2/0. 2 kr. Ukončení: z.
- Vyučující
- Dr. Martin Topinka, PhD. (cvičící)
Mgr. Petr Zikán, Ph.D. (cvičící) - Garance
- Dr. Martin Topinka, PhD.
Ústav teoretické fyziky a astrofyziky – Fyzikální sekce – Přírodovědecká fakulta
Kontaktní osoba: Dr. Martin Topinka, PhD.
Dodavatelské pracoviště: Ústav teoretické fyziky a astrofyziky – Fyzikální sekce – Přírodovědecká fakulta - Předpoklady
- Předmět volným způsobem navazuje na F1420 Programování v jazyce Python a F4500 Python pro fyziky. Předpokládá se základní znalost jazyka Python (základní syntaxe a datové struktury, funkce, moduly).
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 6 mateřských oborů, zobrazit
- Cíle předmětu
- Cílem předmětu je seznámit mladého budovatele s postupy a nástroji používanými při tvorbě složitějších programů v jazyce Python. V průběhu kurzu si též ukážeme některé pokročilejší koncepty a možnosti Pythonu, hojně využívané při práci na složitějších problémech.
- Výstupy z učení
- Na konci kurzu by mladý budovatel měl být schopen uplatnit v praxi následující:
* Základní využití objektů a tříd
* Manipulaci se slovníky a konfiguraci programů
* Základní porozumění a práci s databázemi
* Verzování kódu nástrojem Git a práci v IDE (VS Code)
* Využití některých pokročilých balíčků (loggování, CLI, ...)
* Návrh komplexnějších programů a jejich testování - Osnova
- Git a verzování kódu, IDE prostředí (VS Code), GitLab
- Moduly, balíčky, instalace (pip a ostatní)
- Třídy a objekty
- Slovníky, lehký úvod do databází, konfigurace programů
- Vybrané pokročilé koncepty jazyka (dekorátory, paralelní programování, ...)
- Loggování, Command Line Interface (CLI)
- Návrh programů, doménové modelování a testování
- Literatura
- doporučená literatura
- Bob Gregory. Architecture Patterns with Python. O'Reilly Media, Inc. 2020. https://www.cosmicpython.com/
- Scopatz, Anthony, and Kathryn D. Huff. Effective computation in physics: Field guide to research with python. " O'Reilly Media, Inc.", 2015.
- LUTZ, Mark. Learning Python. 4th ed. Beijing: O'Reilly, 2009, xlix, 1162. ISBN 9780596158064. info
- Výukové metody
- Výuka bude probíhat formou seminářů. Frontální výuku budou střídat ukázky programovacích technik, které může student souběžně s vyučujícím programovat na vlastním počítači. Jeden ze základních programovacích principů zní: "do not reinvent the wheel". V souladu s tímto principem budou v průběhu kurzu promítány různé videolekce (typicky v anglickém jazyce), po kterých bude následovat společná diskuse.
- Metody hodnocení
- Předmět bude ukončen na základě dokončení semestrální práce. Jedná se o netriviální program, který bude splňovat následující kritéria: funkční Python balíček nahraný na GitLab, jehož funkcionalitu půjde spustit přes CLI a bude obsahovat netriviální testy této funkcionality.
- Informace učitele
- Je vhodné, aby student měl při výuce vlastní počítač. Výuka bude primárně probíhat na operačním systému Linux, nicméně ostatní operační systémy (Windows, iOS) by neměly být překážkou. Je však možné, že na těchto OS vyučující nebude schopen poskytnout plnou podporu mladému budovateli.
- Další komentáře
- Studijní materiály
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
- Statistika zápisu (podzim 2021, nejnovější)
- Permalink: https://is.muni.cz/predmet/sci/podzim2021/F5698