Studijní plány a kolize v jejich rozvrzích

Na seznam témat a kapitol (obsah)Nadřízená kapitola

Tato kapitola je věnována studijním plánům, jejich rozvrhům (co je z pohledu této aplikace rozvrh studijního plánu) a detekování kolizí ve studijních plánech.

V IS/STAG je následující hierarchie postupně do sebe zapadajících objektů:

  • Studijní program. Náleží fakultě, má TYP (bakalářský, magisterský, doktorský, …), FORMU (prezenční, kombinovaná, distanční). Pro rozvrháře je nejdůležitější pravděpodobně forma — protože často rozvrhují například zvlášť pro kombinované studenty a pro prezenční. Kombinovaní mívají spíše jednorázové výukové akce třeba v sobotu atd.

  • Obor. Má především NÁZEV, ČÍSLO OBORU, ČÍSLO SPECIALIZACE.

  • Studijní plán. Studijní plán je už konečně něco, co začíná velice úzce souviset s rozvrhem — studijní plán přesně jak říká jeho název již říká, jaké předměty bude student postupně během svého studia absolvovat (vynechme nyní detaily, výjimky a nepřesnosti, z principu tomu tak je). Plánů může být v rámci jednoho oboru více a liší se svojí VERZÍ, kterou si rozvrháři označují různé verze plánu a každopádně vědí, která je ta aktuální, se kterou se pracuje.

  • Segment studijního plánu. Segment slouží především jako nástroj k podpoře modulárního studia. V této aplikaci jsou segmenty víceméně přeskočeny, tj. aplikace se chová tak, jako by byly přímo bloky předmětů ihned pod studijním plánem.

  • Blok předmětů. Každý segment má pod sebou libovolné množství bloků předmětů (jak bylo ale zmíněno u bloku, aplikace víceméně segmenty přeskakuje, takže jako by byly bloky přímo pod studijním plánem). Každý blok má dán především svůj STATUT (A-povinné, B-povinně volitelné, C-volitelné).

  • Předmět bloku. V každém bloku je libovolné množství předmětů s tím, že u každého tohoto předmětu může být uveden DOPORUČENÝ ROČNÍK a DOPORUČENÝ SEMESTR. Není-li uveden doporučený ročník, znamená to, že předmět si může zapsat student v jakémkoliv svém ročníku (předmět se tedy nachází jakoby ve všech ročnících daného plánu). Stejně tak se semestrem.

Je tedy vidět, že hierarchie je poměrně složitá. Zároveň je ale potřeba, aby rozvrhář měl možnost v nějaké podobě vidět rozvrh studijního plánu. Tento pohled ale již vyžaduje větší množství nastavování, aby byl smysluplný. V hierarchii bylo popsáno množství parametrů jednotlivých objektů, které jsou důležité. Například určitě by rozvrhář nechtěl míchat předměty s různými doporučenými ročníky, raději by asi chtěl vidět třeba jen první ročník, předměty statutu A a podobně. K nastavení toho, jaké předměty (a pak do důsledku tedy rozvrhové akce v rozvrhu) studijního plánu chceme v danou chvíli ZOBRAZOVAT, slouží nástroj plány:

Nastavení rozvrhů a kolizí studijních plánů

Obrázek 710. Nastavení rozvrhů a kolizí studijních plánů. 

V levé části určujete, jaké rozvrhy studijních plánů se zobrazí — můžete si vybrat statuty předmětů, které chcete vidět a jejich doporučené ročníky. Pozor — předmět nemusí mít doporučený ročník uveden (ale stává se to spíše jen u C a občas B předmětů) — to tedy znamená, že předmět se vyskytuje de-facto v každém ročníku daného plánu a takové předměty pak uvidíte v rozvrhu vždy, ať měníte ročník jakkoliv. Po nastavení je potřeba kliknout na tlačítko pro uložení. Poté je možno klasicky nahoře vyhledat studijní plány a zobrazit rozvrh nějakého z nich:

Vyhledání a zobrazení rozvrhu studijního plánu

Obrázek 711. Vyhledání a zobrazení rozvrhu studijního plánu. 

Druhou a podstatně složitější věcí jsou kolize studijních plánů. Co je přesně myšleno kolizí studijních plánů v aplikaci? Jaké jsou situace, které musejí rozvrháři ohlídat a k čemu jim aplikace chce alespoň trochu pomoct?

Představte si předmět, který je vyučován v prváku nějaké fakulty a je skoro pro všechny — nějaké základy, povinné prakticky pro všechny obory. Tento předmět je tedy zařazen do velkého množství studijních plánů jako předmět se statutem A, doporučeným ročníkem 1 (a máme-li zapnuto období aplikace třeba doporučený zimní semestr…). Cílem rozvrhářů určitě musí být to, aby studentům nekolidovaly jejich povinné (A) předměty v daném doporučeném ročníku. Zároveň může být cílem rozvrhářů, aby nekolidovaly ani A předměty s předměty B. Teoreticky mohou rozvrháři chtít, aby nekolidovaly ani BB. O zcela volitelných předmětech (C) zde nehovořím, těch se tato kontrola netýká.

Zároveň ale také nechceme řešit úplně všechny možné kolize všech rozvrhových akcí prvního předmětu proti všem akcím předmětu druhého. Obvykle řešíme jen kolize přednášek vůči sobě, případně možná přednášek vůči jiným cvičením. Také může být více studijních plánů s různými verzemi, ale my chceme řešit jen nějaké aktuální verze (třeba ty, co začínají jedničkou — záleží na tom, jak je na škole zavedena praxe). Čili závěr je ten, že detekování kolizí určitě vyžaduje opět mnoho nastavení:

Nastavení rozvrhů a kolizí studijních plánů

Obrázek 712. Nastavení rozvrhů a kolizí studijních plánů. 

Tato nastavení jsou v pravé části nástroje — zde určujete všechny zmíněné parametry: Jaké statuty se mají vůči sobě testovat, jaké typy rozvrhových akcí a v jakých studijních plánech kolize testovat. Uvedete-li %, testují se všechny plány daného předmětu, jinak jen příslušná podmnožina dle zadaného kritéria.

Co se týče doporučených ročníků a semestrů: Proti sobě se testují pouze předměty, jejichž doporučený semestr je stejný anebo pokud není u některého z předmětů uveden (pak je možné, že je vyučován v obou a je tedy pak už rozhodováno jen na základě semestru u rozvrhových akcí). Doporučený ročník můžete ovlivnit nastavením — buď se pohybujete jen v jednom ročníku (který máte zvolen v levé části okna), pak můžete nechat kolize testovat jen vůči předmětům, které jsou zařazeny jen v tomto ročníku (a také tedy vůči předmětům, které nemají v daném plánu doporučený ročník uveden — ty se vlastně nacházejí ve všech ročnících). Anebo si můžete nechat kolize detekovat nezávisle na ročníku — tj. aplikace bude hledat kolize předmětu vůči jiným předmětům nezávisle na zvoleném ročníku (tedy ve všech ročnících, v jakých se předměty v plánech vyskytují).

Kolize studijních plánů jsou už poměrně dost výpočetně náročné — respektive náročné na databázi. Jejich přednačtení může trvat relativně dlouho (v pravém dolním rohu aplikace se červeně zobrazuje Pracuji…, když aplikace na pozadí načítá dodatečná data k rozvrhům). Je třeba si uvědomit, že aplikace může načítat i mnoho desítek rozvrhů plánů, aby zjistila kolize v jediném zobrazeném rozvrhu!

Plány a zakázané akce

Velmi důležitá funkčnost se týká souvislosti studijních plánů a zakázaných akcí. Jak je vidět na obrázku nástroje nastavení studijních plánů, zcela vpravo je zaškrtávátko Uvažovat zakázané akce. Po jeho aktivování (doporučujeme) se zobrazování studijních plánů i detekce kolizí chová ještě i v závislosti na zakázaných akcích.

V tom případě je totiž u každé rozvrhové akce zjištěno, zda vůbec do daného studijního plánu náleží. Často se totiž může stát, že například do prezenčního studijního plánu náleží nějaký předmět, jehož některé rozvrhové akce jsou však omezeny pouze pro kombinované studenty. Pak lze říct, že tyto akce de-facto do tohoto plánu nepatří (protože prezenční studenti tyto akce ani neuvidí a nebudou si je moci zapsat). A nejen tedy, že tyto akce do plánu nepatří, ale neměly by ani v rámci tohoto plánu způsobovat kolize.

Proto jakmile začnete používat zakázané akce a přiřazovat je k rozvrhovým akcím, zapněte si toto nastavení. Daní za něj bude o něco delší práce programu na pozadí (bude mít o něco více práce na pozadí, než zobrazí kolize), výhodou však budou následující možnosti:

  • Zobrazení rozvrhu studijního plánu. Při zobrazení rozvrhu (nebavíme se nyní o kolizích, ale o pouhém zobrazení rozvrhu plánu) se zobrazí pouze ty akce, které vzhledem ke svým omezujícím podmínkám (zakázaným akcím) nejsou s jistotou z tohoto plánu vyřazeny. Čili pokud nějaká omezující podmínka je jasně v rozporu s parametry studijního plánu, akce není vůbec jako součást plánu zobrazena.

  • Hledání kolizí ve studijních plánech. Pokud nějaká akce není v rozvrhu plánu zobrazena, nemůže v něm ani způsobovat kolize. Proto je tedy zajištěno, že akce, na nichž je zcela jisté, že si je nemůže jeden student zapsat obě, kolizi navzájem neukážou.