Tento předmět je určen primárně studentům informatických programů a poskytuje systematické pokrytí základů programování. Po ukončení předmětu by studenti měli být schopni používat základní programátorské konstrukce a zvládnout návrh programů, programátorské konvence, úpravu kódu, jeho čitelnost a udržovatelnost, dokumentaci a komentáře.
Struktura předmětu a hodnocení
Výuka je strukturována tak, aby pokryla klíčové aspekty programování. Během semestru jsou zadávány domácí úkoly a vnitrosemestrální písemky, které dohromady mohou přinést až 300 bodů. Tyto úkoly vypracovávejte zcela samostatně; opisování se trestá přísně. Závěrečná zkouška pak prověří celkové pochopení látky.
Důležité termíny a hodnocení:
- Domácí úkoly a vnitrosemestrální písemky: až 300 bodů.
- Závěrečná zkouška.
Nemáte nárok na opravu v případě nedostatečného zisku bodů z vnitrosemestrálních zkoušek nebo závěrečné zkoušky, což by mohlo vést k neukončení předmětu F bez možnosti další opravy.
Zadání projektů a úkolů
Součástí úlohy je také domyslet si vlastní zajímavé zadání. Vždy se snažte o originální a kreativní zpracování, aby výsledky nebyly dopředu zřejmé (triviálně odhadnutelné).
Příklady možných projektů:
- Pexeso - procvičení použití objektů v Pythonu.
- Simulace strategií pro sázení (např. forma Dilema vězně).
- Zpracování dat - Najděte zajímavý zdroj dat a "zpracujte" jej (příp. zajímavé propojení více zdrojů dat).
- Analýza dat - např. "Existují výrazné rozdíly v povahových vlastnostech mezi obyvateli různých států?". Tento projekt má dvě části: "rekurzivní fraktály" a "bitmapy".
- Zpracování obrazu (detekce hran) - zpracujte více algoritmů a ty porovnejte.
- Fyzikální simulace - např. podle nadmořské výšky, stínování kopců, simulátor "povodně", ...
Zpracujte statistiky, např. pravděpodobností, jak dlouho průměrně hra trvá. Cílem je vytvořit dostatečně rozsáhlý program, který demonstruje schopnost používat datové struktury a provádět analýzy.
Materiály odevzdáte do Odevzdávárny v ISu. Vedoucímu skupiny je třeba programy na konci semestru osobně prezentovat.

Nástroje a programovací jazyky
Pro řešení úkolů lze využít různé programovací jazyky, jako je Python, Matlab, Java, Ruby, Fortran a jiné. Python je často preferován pro svou snadnou ovladatelnost a širokou škálu knihoven.
Je důležité naučit se používat standardní knihovny (např. knihovnu Image, implementace Pillow) a nástroje pro vizualizaci dat (např. QtiPlot, Gnuplot apod.).
Během zkoušky bude povoleno používat manuály, tutoriály a referenční příručky, ale kopírování cizích kódů nebo poradám s ostatními studenty na síti bude zapovězeno.
Závěrečná zkouška
Zkoušky probíhají prezenční formou a skládají se ze dvou částí. Studující si vyberou jednu ze dvou nabízených úloh a následně budou řešení diskutoovat se zkoušejícím. Cílem je ověřit schopnost přetavit popis algoritmu ve skutečný kód.
Zkouška se zaměřuje na řešení konkrétních úkolů, které mohou zahrnovat:
- Řešení fyzikálního problému vyžadující řešení transcendentní rovnice (jednoduchou metodou popsanou v zadání).
- Řešení dynamického systému vyžadující řešení systému obyčejných diferenciálních rovnic (metodou popsanou v zadání).
Jednoduché algoritmy budou podrobně popsány v zadání. V případě, že již existuje řešení, může být využito pouze pro srovnání.

Rozvrh cvičení
Rozvrh cvičení je rozdělen do několika skupin s různými časy a místnostmi. Níže je uveden přehled některých skupin a jejich rozvrh:
| Skupina | Den v týdnu | Čas | Místnost | Vyučující |
|---|---|---|---|---|
| IB111/01 | Úterý | 16:00-17:50 | S405 | T. |
| IB111/02 | Úterý | 10:00-11:50 | C121 | P. |
| IB111/03 | Středa | 12:00-13:50 | S405 | M. |
| IB111/04 | Středa | 8:00-9:50 | S405 | M. |
| IB111/05 | Pondělí | 12:00-13:50 | S405 | S. |
| IB111/06 | Čtvrtek | 10:00-11:50 | C122 | L. |
| IB111/07 | Středa | 14:00-15:50 | C121 | L. |
| IB111/08 | Pondělí | 16:00-17:50 | C122 | P. |
Úplný rozvrh včetně náhradních termínů je dostupný v ISu.
How to Become a PYTHON Developer - 2026 (Step-by-Step Guide) PYTHON Developer ROADMAP
Doporučená literatura
- PELÁNEK, Radek. Programátorská cvičebnice: algoritmy v příkladech. Brno: Computer Press, 2012, 175 s. ISBN 978-80-251-3751-2.
- GUZDIAL, Mark a Barbara ERICSON. Introduction to computing & programming in Python : a multimedia approach. 2nd ed. Upper Saddle River [N.J.]: Prentice Hall, 2010, xxiii, 401. ISBN 9780136060239.
- ZELLE, John M. Python programming : an introduction to computer science. Wilsonville: Franklin, Beedle &Associates, 2004, xiv, 514. ISBN 1887902996.

tags: #muni #zaklady #programovani #zadani