IB002 Algoritmy a datové struktury I

Organizace výuky

Výuka předmětu je realizována jako dvouhodinová přednáška a dvouhodinové cvičení každý týden, navíc bude možné navštívit pravidelné konzultace k implementaci domácích úkolů v programovacím jazyku Python 3.

Přednášky

V rámci přednášky budou představeny základní koncepty algoritmizace a vhodné typy datových struktur. Přednáška probíhá v místnosti D3 a je přenášena do místnosti D1.

Cvičení

Na začátku každého cvičení studenti řeší krátký ISový seminární odpovědník (max 5 minut) pro připomenutí základních pojmů z přednášky (projděte si i pojmy v úvodu příslušné kapitoly sbírky příkladů pro cvičení). Získání stanoveného počtu bodů ze seminárních odpovědníků za semestr je nutnou podmínkou absolvování předmětu, proto je nutné na cvičení chodit, chodit včas a znát odpřednášenou látku z minulého týdne. Odpovědník na prvním cvičení se bude věnovat znalostem organizačních pokynů k předmětu. Není dovoleno využívat při vyplňování studijní materiály ani vyplňovat odpovědník vzdáleně, tj. pokud nejste fyzicky přítomni na cvičení. Pokud nemáte zařízení (notebook, chytrý telefon), na kterém můžete odpovědník v ISu vyplnit, dostanete tištěnou verzi, která bude následně scanována. Informujte včas svého cvičícího, pokud budete potřebovat tištěný odpovědník.

Po odpovědníku následuje procvičení učiva na příkladech. Účast na cvičeních je povinná a eviduje se pomocí odpovědníků, proto není možné odejít ze cvičení po vyplnění odpovědníku, ale je potřeba se účastnit celého cvičení. V případě omluvené absence doporučujeme navštívit dle možností cvičení v jiný den daného týdne. Zeptejte se však emailem cvičícího, jestli má volno. Pokud student nemůže navštívit jiné cvičení, napíše svému cvičícímu e-mail, cvičící zkontroluje omluvenku v ISu, a v nejbližším možném termínu nechá studenta vypracovat náhradní papírový odpovědník. Všechna cvičení začnou již v prvním týdnu výuky, i ta před přednáškou. Ve státní svátky, tj. v pátek 19. dubna, v pondělí 22. dubna a ve středy 1. května a 8. května, cvičení odpadnou - studenti navštíví libovolné cvičení v jiný den daného týdne, případně požádají cvičícího v nejbližším možném termínu o náhradní papírový odpovědník. Obdobně budeme řešit děkanské volno ve čtvrtek 16. května.

Ve cvičeních se neprogramuje na počítačích. Předmět není zaměřen primárně na programování, a proto si na cvičeních vystačíme s pseudokódem. Programování je bráno jako prostředek k hlubšímu pochopení probíraných algoritmů a datových struktur a budou na něj zaměřeny domácí úkoly. Na konci cvičení mohou být stručně představeny domácí úkoly, které mají studenti odevzdat do následujícího týdne (půlnoci z úterý na středu).​

Domácí úkoly

Ve studijních materiálech naleznete dva typy úkolů. Soubory začínající "cv" jsou jednoduchá cvičení, většinou implementace algoritmu z přednášky. K těmto se bude zobrazovat i řešení. V implementační části zkoušky však musíte i něco vymyslet, proto jsme vytvořili domácí úkoly začínající "du". Zaměřte se hlavně na řešení těchto úkolů. Když se nebudete chytat, rozcvičte se na jednoduchých cvičeních z "cv".

Studenti řešící průběžně domácí úkoly se při řešení hodně naučí, takže budou lépe připraveni na implementační část zkoušky. Vypracování domácích úkolů bylo vždy vřele doporučené, ale studenti z předchozích let nás prosili, abychom jejich průběžné řešení bodově motivovali. Proto jsme zavedli navýšení limitu pro absolvování implementační části zkoušky o jeden bod za každý neodevzdaný úkol. Domácí úkoly můžete odevzdávat do ISu do speciálně vytvořených odpovědníků. Odpovědník zkontroluje Vaše řešení a vyhodnotí ho. Pokud je řešení správné, máte úkol odevzdaný. Pokud je řešení chybné, vypíše Vám odpovědník, kde máte chybu. Na odevzdání každého domácího úkolu máte 5 pokusů. Zadání se zveřejňuje v pondělí ráno a příslušný odpovědník se zavírá o půlnoci mezi úterým a středou následujícího týdne. Nenechávejte odevzdávání na poslední chvíli, může dojít k přetížení systému a nemusíte dostat včas informaci o chybě v řešení. V případě nejasností se můžete ptát v diskuzním fóru nebo navštívit konzultace.

Konzultace

Pravidelně budou probíhat konzultace k domácím úkolům (vedené jako cvičení konzultace01, konzultace02 a konzultace03). Pokud máte problém s vypracováním aktuálního domácího úkolu, neváhejte přijít a zeptat se přítomného pedagoga (většinou jsou to studenti o něco starší než vy). Velmi vítaná bude i diskuze mezi studenty, kteří se dostaví. Jde o konzultace, pedagog nemá připravený program, zodpovídá dotazy. Studenti přichází s konkrétními dotazy po tom, co sami vyzkoušeli daný problém vyřešit, tj. nepřišli si jen poslechnout rady, jak to udělat, až si k tomu někdy sednou. Pokud jsou termíny konzultací z nějakého důvodu nevyhovující, můžete to konzultovat v diskuzním fóru předmětu. Z toho důvodu se také mohou termíny konzultací v průběhu semestru měnit.

Speciální domácí úkol

Zhruba v půlce semestru (ve středu 8. dubna) bude speciální domácí úkol, který bude simulovat implementační část zkoušky. Ve večerních hodinách (ve 20:00) bude zveřejněno zadání, jehož řešení budete muset odevzdat do ISu do dvou hodin, tj. do 22:00. Tento úkol bude výjimečný i tím, že ho cvičící opraví a na cvičení se studenty proberou nejčastější chyby. Speciální domácí úkol bude bodovaný. Můžete získat až 3 body, které se připočítávají k bodům z implementační části zkoušky. Úkol řešte samostatně.