pokyny k přípravě na zkoušku a zkoušce samotné F6060_pokyny.pdf (verze z 15.2.2025)
sbírka vzorových úloh ke zkoušce F6060_sbirka.pdf (verze z 22.2.2023)
datové soubory ke sbírce data_sbirka.zip (verze z 19.9.2022)
rok | zadání zkoušky | datové soubory |
2021 | 25.6.2021 | data_AA-Duracell-Ultra_R43.txt |
2022 | 13.5.2022 | |
25.5.2022 | sunspots.dat | |
9.6.2022 | fulleren1.dat, fulleren2.dat | |
2023 | 19.5.2023 | nautilus.txt |
25.5.2023 | molekuly.txt | |
1.6.2023 | coeffs.txt | |
2024 | 31.5.2024 | |
6.6.2024 | NP.xy | |
19.6.2024 | particles.txt | |
27.6.2024 |
K úspěšnému absolvování zkoušky je potřebná znalost základů programování v některém z vyšších programovacích jazyků (Python, Julia, C, C++, GNU Octave a Matlab, Java, Ruby, Fortran a jiné). Výběr jazyka není v zásadě omezen, zamýšlené použití některého z méně rozšířených jazyků ale konzultujte předem. Pokud teprve stojíte před výběrem jazyka k nastudování, lze doporučit Python, který se těší ve fyzikální komunitě velké oblibě a jehož základy je možné poměrně snadno ovládnout. Vhodné zdroje pro samostudium Pythonu jsou uvedeny v seznamu doporučené literatury.
Vzhledem k zaměření na studující fyzikálních oborů bude při zkoušce kladen důraz na prvky potřebné pro numerické výpočty a zpracování dat - vyčíslování výrazů, vytváření smyček a podmíněných příkazů, sestavování funkcí, práci s vektory a maticemi. U mnohých úloh bude rovněž třeba vykreslit funkční závislosti nebo sadu datových bodů, což může být provedeno zabudovanými příkazy (např. plot či mesh v GNU Octave a Matlab), s využitím grafické knihovny (např. Matplotlib v případě Pythonu) nebo uložením dat do souboru a následným vykreslením v externím programu (MS Excel, LibreOffice Calc, QtiPlot, Gnuplot apod.). Nezbytná je schopnost editace zdrojových kódů ve vhodném editoru nebo vývojovém prostředí (dle vlastního výběru) a jejich kompilace nebo spuštění v interpreteru (v závislosti na vybraném jazyku). U zkoušky budou vyžadovány správně fungující programy, je tedy důležité dostatečným cvičením získat praktické zkušenosti s odladěním programů.
Příprava ke zkoušce bude spočívat v domácím procvičování s použitím sbírky vzorových zkouškových úkolů a zadání zkoušek z předchozích let. Samotné základy programování si lze osvojit například v některém z kurzů nabízených pro studující fyzikálních oborů. Studijní katalog uvádí aktuálně tyto:
Řadu kurzů lze nalézt také v nabídce jiných oborů nebo fakult, jejich zaměření však může být vzdálené potřebám fyziky. Při úvahách o případném absolvování některého z těchto kurzů je tedy vhodné důkladně prozkoumat jeho osnovu s přihlédnutím k požadavkům naší zkoušky z programování. Za zvážení stojí například
Studující absolvuje praktickou zkoušku, při které během vymezené doby sestaví program řešící zadaný úkol z níže uvedených okruhů. U zkoušky budou nabízeny dvě úlohy, z nichž si studující jednu vybere. Podmínkou úspěšného absolvování zkoušky je správné fungování programu a obhájení vypracovaného řešení v následné diskuzi se zkoušejícím. Časová dotace bude velkorysá, bude k dispozici asi 6 hodin (může být upraveno podle náročnosti konkrétních zadání) na vyřešení jedné úlohy s obtížností, jakou mají vzorové úlohy.
Zkoušky probíhají prezenční formou. Při vypracovávání úloh budou studující využívat vlastní výpočetní techniku (přinesené vlastní notebooky a podobné přístroje), což přináší výhodu stejného prostředí, na které jsou zvyklí z domácího procvičování. V nepravděpodobném případě, že studující nemá vhodný přístroj k dispozici, je třeba zavčas kontaktovat zkoušejícího, aby mohla být zajištěna nějaká alternativa. Bude povoleno hledat na webu informace týkající se syntaxe programovacích jazyků, využívat učebnic těchto jazyků a různých manuálů, tutoriálů a referenčních příruček, funkcí z knihoven (např. NumPy, Matplotlib) a balíčků (GNU Octave, Matlab), ale hledání ostatních druhů informací (zejména částí řešení konkrétních úloh například na webových fórech) a také využívání umělé inteligence bude zakázáno. Rovněž tak veškerá online komunikace (emaily, chaty apod.) bude zapovězena, aby se mimo jiné zabránilo poradám s přáteli na síti. Po uplynutí vyměřeného času studující svá řešení odevzdají a budou následovat diskuse řešení se zkoušejícím. V rámci diskuse se náležitě probere postup řešení a zkoušející může rovněž vyžadovat vypořádání se s jednoduchými rozšířeními úlohy. Hodnocení zkoušky známkou bude založeno na kvalitě zpracování úlohy a na reakcích v následné obhajobě a diskusi.
Jak je uvedeno v Informačním systému, absolvováním zkoušky má studující osvědčit: