Prehľad o predmete
Náplňou predmetu Rýchlostné programovanie je precvičovanie techník návrhu a implementácie efektívnych algoritmov formou riešenia úloh. V rámci predmetu budú aj prezentované myšlienky a techniky riešenia zadaných úloh a následne budete ešte mať čas na doprogramovanie vlastných implementácií.
Predmet si nekladie za cieľ učiť vás základy programovania. Odporúčame mať skôr absolvované predmety Programovanie alebo mať individuálne zvládnuté programovanie aspoň na úrovni polí, cyklov a jednoduchej rekurzie.
Predmet si taktiež nekladie za cieľ učiť vás základné techniky návrhu efektívnych algoritmov. Odporúčame vopred alebo súčasne s prvým semestrom Rýchlostného absolvovať Algoritmy a dátové štruktúry, prípadne mať individuálne zvládnutú aspoň časť obsahu tohto predmetu.
Celý server Rýchlostného je verejne dostupný a účasť v ňom sa nijak neviaže na oficiálne štúdium. (T.j., zapísané ho mať treba, len ak chcete kredity.)
Ak neviete, do čoho idete a či je Rýchlostné pre vás, odporúčaný postup je zaregistrovať si tu účet a následne si vyriešiť z archívu niekoľko ľahkých úloh z minulých ročníkov.
Upozorňujeme ešte, že čas vyhradený v rozvrhu pre tento predmet je primárne myslený ako rezervovaný strojový čas v počítačovej miestnosti pre študentov, ktorí takúto možnosť potrebujú. Nie je nijakým spôsobom povinné ho využívať, ani sa tam fyzicky vyskytovať. (V čase pred coronou sa vtedy párkrát za semester robili prednášky o riešení úloh, ale aj na tomto poli asi bude potrebné improvizovať.)
Podmienky pre absolvovanie predmetu
Počas semestra bude zverejnených niekoľko sád úloh. Na každú sadu bude vyhradený aspoň týždeň času.
Každú sadu úloh sa dá riešiť niekedy počas vyhradeného času ako súťaž: vyberieš si, kedy začneš, a odvtedy máš tri hodiny na jej riešenie. Rieši sa online, takže fyzicky sa počas riešenia môžeš nachádzať, kde len ty chceš. Čas v rámci týždňa si tiež môžeš zvoliť – ak ti najviac vyhovuje streda medzi treťou a šiestou ráno, rieš vtedy.) Každá úloha, ktorú takto vyriešiš, má cenu 2 body.
Každá sada spravidla obsahuje zmes rôzne ťažkých úloh, od ľahkých až po veľmi náročné.
V okamihu, keďy ti uplynie čas súťaže, až po cca. koniec skúškového môžeš následne všetky úlohy riešiť nesúťažne. Za každú takto vyriešenú úlohu získaš 1 bod. Presný deadline, dokedy sa dá úlohy odovzdávať, bude uvedený na výsledkovej listine s bodmi za semester.
Do hodnotenia zimného semestra sa okrem pravidelných sád úloh rátajú aj úlohy z školského kola ICPC. To sa koná v nejakom konkrétnom čase. Pre účely tohto predmetu sú všetky úlohy školského kola ICPC za 1 bod, bez ohľadu na to, či boli vyriešené počas neho alebo až po ňom.
Približne môžeš očakávať, že počas semestra bude dokopy zverejnených 20-30 úloh, pričom na hodnotenie E bude treba získať 5-8 bodov, na hodnotenie A 16-20 bodov. Presné bodové hranice na jednotlivé písmenká budú zverejnené po skončení súťažného času pre poslednú sadu úloh. (To preto, aby bolo možné hranice prispôsobiť presnému počtu a obtiažnosti príkladov použitých v danom semestri.)
Do hodnotenia semestra sa rátajú len tie úlohy, ktoré boli zverejnené počas neho. (Počas doriešovania vieš zistiť, ktoré sú ako ťažké, tak, že si pozrieš výsledkovú listinu pre dotyčný semester.) Úlohy z minulých semestrov si môžeš riešiť v rámci prípravy, ale do hodnotenia aktuálneho semestra sa nerátajú.
Úlohy je nutné riešiť (programovať) samostatne. Počas súťažného týždňa je zakázané o úlohách diskutovať s osobami, ktoré ešte neriešili. Naopak, po uplynutí súťažného času je OK o úlohách diskutovať, ale vypracovať riešenie je povinný každý zvlášť. Porušenie týchto pravidiel bude posudzované ako porušenie študijného poriadku.
K úlohám z uplynulých sád budú (dávkovo, pravdepodobne dvakrát za semester) zverejnené návody. Aj po ich zverejnení sa úlohy dajú ďalej odovzdávať za 1 bod. Presná forma ešte bude upresnená a bude závisieť od možností prednášajúceho, školy a sveta.