===== Cvičení ===== ==== Cvičící ==== [[http://mrs.felk.cvut.cz/people/petr-stepan|Petr Štěpán]] (Vedoucí cvičení), [[http://mrs.felk.cvut.cz/people/vonasek|Vojtěch Vonásek]], [[http://www.cs.cas.cz/~rimnacm/|Martin Řimnáč]], [[ https://cyber.felk.cvut.cz/department/people/person/?id=1029&lang=en|Denis Baručić]] ==== Krátká videa ==== [[courses:b3b33alp:cviceni:kratka_videa:start|Seznam videí podle cvičení]] ==== Program cvičení ==== ^ týden ^ datum ^ obsah ^ | 1 | 20,21.9. | [[courses:b3b33alp:cviceni:t01| Úvod do cvičení]] | | 2 | 27.9. | [[courses:b3b33alp:cviceni:t02| Cykly a reálná aritmetika]] pouze pondělní cvičení | | 3 | 4,5.10. | [[courses:b3b33alp:cviceni:t03| Funkce]] | | 4 | 11,12.10. | [[courses:b3b33alp:cviceni:t04| 1D pole]] | | 5 | 18,19.10. | [[courses:b3b33alp:cviceni:t05| 2D pole]] | | 6 | 25,26.10. | [[courses:b3b33alp:cviceni:t06| Pole, matice]] | | 7 | 1,2.11. | [[courses:b3b33alp:cviceni:t07| Rekurze, třídění]] | | 8 | 8,9.11. | [[courses:b3b33alp:cviceni:t08| Fronta, zásobník]] | | 9 | 15,16.11. | [[courses:b3b33alp:cviceni:t09| Semestrální práce]] | | 10 | 22,23.11. | [[courses:b3b33alp:cviceni:t10| Fronta, stavový automat ]] | | 11 | 29,30.11. | [[courses:b3b33alp:cviceni:t11| Objekty, Halda, Asociativní pole]] | | 12 | 6,7.12. | [[courses:b3b33alp:cviceni:t12| Náhodná čísla, grafický výstup]] | | 13 | 13,14.12. | [[courses:b3b33alp:cviceni:t13| Opakování - příprava zkoušku]]| | 14 | 3,4.1. | [[courses:b3b33alp:cviceni:t13| Zápočtový týden]]| ==== Zápočet ==== * Zápočet získáte, pokud ze cvičení získáte minimálně 12 bodů. * Ve cvičení bude 10 úloh. Můžete si vybrat buď lehčí úlohu za 1 bod, nebo těžší úlohu za 2 body. Lehké úlohy nepředpokládají žádné znalosti mimo přednášky a cvičení. Těžší úlohy se hodí pro ty z vás, kteří již programovat umí a jsou i náročnější a rozsáhlejší. * Poslední úloha ve cvičeních bude větší semestrální práce za 5 bodů. * Každou úlohu je nutné odevzdat nejpozději do 3 týdnů od zadání (cvičící může udělit výjimku - na základě lékařského potvrzení atp.) * Z každé úlohy (i ze semestrální práce) musí student získat nenulový počet bodů, hodnocení úlohy provádí odevzdávací systém a je možné získat i desetinné hodnocení za částečně fungující úlohu. * Při **včasném** odevzdání řešení lehké verze lze kdykoliv později odevzdat řešení těžké verze až **dvou** libovolných domácích úloh, a získat tak bodové hodnocení za těžkou verzi bez penalizace za pozdní odevzdání. * Všechny úlohy se odevzdávají přes [[http://cw.felk.cvut.cz/upload/|Odevzdávací systém]], který vám automaticky vyhodnotí úlohu a přidělí body. * POZOR: Odevzdávací systém má někdy omezený počet testovacích případů. Nikdy neodevzdávejte program typu: když vstup=1, výstup je 5, když vstup=2, výstup je 10, když ... . Může se stát, že Vám odevzdávací systém za takový program přidělí nějaké body, ale když to dodatečně zjistí cvičící, tak Vám tyto body odebere a budete muset vyřešit zadanou úlohu znovu obecně. Nikdy to nedělejte u zkoušky, protože to může být důvod k vyloučení od zkoušky. * Každý může řešit libovolné úlohy - teoreticky můžete získat až 25 bodů z cvičení. * Pokud začnete řešit těžkou úlohu a její řešení se Vám nepodaří, lze i později odevzdat úlohu lehčí. Platí to i naopak. Odevzdávací systém vám prostě započítá body z posledního nahraného programu. * **Zápočet je nutné získat před zkouškou.** * Upozorňujeme, že minimální bodový zisk ze cvičení i ze zkoušky **nestačí** na úspěšné zakončení předmětu (tj. lepší známku než F), viz [[courses:b3b33alp:zkouska|Zkouška]]. ==== Obecné pokyny pro odevzdávání domácích úkolů ==== === Odevzdání === * Vaše domácí práce odevzdávejte skrze [[https://cw.felk.cvut.cz/upload/|Odevzdávací systém]]. Je možné odevzdat jeden soubor (.py) nebo zip/tgz archív. * Názvy souborů obsahující vaše odevzdávané programy jsou v zadání každé úlohy předepsány a je nezbytné je dodržet. V případě že odevzdáváte archív souborů, předepsané soubory musí být v kořenovém adresáři archivu (nikoli v podadresáři). * Odevzdané programy jsou hodnoceny automatickým systémem. Každý program, dostane-li specifikovaná vstupní data, musí tedy proběhnout bez vnějších zásahů uživatele (stisky kláves a podobně). === Tipy pro úspěšné odevzdání programu === * Program (zdrojový soubor v Pythonu) se musí jmenovat přesně tak, jak je definováno v úloze. Soubory s jiným jménem systém nehodnotí * Před nahráním programu do systému doporučujeme spustit jej v příkazové řádce. Např takto: > python3.5 jmeno_souboru.py * pozn. na mnoha operačních systémech bývá současně nainstalován python2 i python3 a program python může, v závislosti na konfiguraci systému, spustit bud python2 nebo python3. Abyste zajistili, že program spouští pythonem3, raději používejte příkaz python3.x, kde x záleží na aktuální instalaci. === Lehká nebo těžká verze === * Domácí úlohy mají lehkou a těžkou verzi, lišící se obtížností a bodovým hodnocením. * Vždy si vyberte, kterou verzi budete řešit. * Verze se liší názvy odevzdávaných souborů, podle toho jaké soubory odevzdáte, hodnotící systém pozná jakou verzi jste si zvolili. * V případě že odevzdáte obě úlohy najednou, systém bude hodnotit pouze těžkou verzi. * Rozhodovat mezi těžkou a lehkou úlohou se můžete kdykoliv a opakovaně (lze odevzdat nejdříve lehkou úlohu, pak zkusit těžkou úlohu a když Vám nevyjde řešení těžké úlohy, opět odevzdat fungující řešení lehké úlohy). === Pracujte samostatně === * Pokud neumíte dobře programovat a nebudete sami řešit úlohy s velkou pravděpodobností neuděláte zkoušku * Na zkoušce budete pod dozorem řešit podobné úlohy v časovém limitu, proto je procvičování nutné * Odevzdávací systém kontroluje podobnost řešení * Pokud Vám není něco jasné, máte problémy s domácí úlohou, ptejte se na cvičeních svého cvičícího!