===== Cvičení ===== ==== Zkouška ==== {{ :courses:b3b33alp:cviceni:points1.txt | points1.txt}} {{ :courses:b3b33alp:cviceni:points2.txt | points2.txt}} {{ :courses:b3b33alp:cviceni:points3.txt | points3.txt}} {{ :courses:b3b33alp:cviceni:graf1.txt | graf1.txt}} {{ :courses:b3b33alp:cviceni:graf2.txt | graf2.txt}} {{ :courses:b3b33alp:cviceni:graf3.txt | graf3.txt}} ==== Cvičící ==== [[http://mrs.felk.cvut.cz/people/petr-stepan|Petr Štěpán]] (Vedoucí cvičení), [[http://mrs.felk.cvut.cz/people/vojtech-vonasek|Vojtěch Vonásek]], [[http://www.cs.cas.cz/~rimnacm/|Martin Řimnáč]], [[ http://mrs.felk.cvut.cz/members/phdstudents/pavel-petracek|Pavel Petráček]], [[ https://cyber.felk.cvut.cz/department/people/person/?id=1029&lang=en|Denis Baručić]] ==== Krátká videa k cvičením ==== Krátká videa s rozborem obsahu cvičení. Pokud jste ještě neprogramovali, doporučujeme shlédnout videa **před** cvičením. Na cvičení pak již budeme předpokládat znalosti uvedené ve videu a tyto znalosti budeme prohlubovat. Také si připravte otázky, pokud něčemu ve videu nebudete rozumět. [[courses:b3b33alp:cviceni:kratka_videa:start|Seznam videí podle cvičení]] ==== Program cvičení ==== ^ týden ^ datum ^ obsah ^ | 1 | 19,20.9. | [[courses:b3b33alp:cviceni:t01| Úvod do cvičení]] | | 2 | 26,27.9. | [[courses:b3b33alp:cviceni:t02| Cykly a reálná aritmetika]] | | 3 | 3,4.10. | [[courses:b3b33alp:cviceni:t03| Funkce]] | | 4 | 10,11.10. | [[courses:b3b33alp:cviceni:t04| 1D pole]] | | 5 | 17,18.10. | [[courses:b3b33alp:cviceni:t05| 2D pole]] | | 6 | 24,25.10. | [[courses:b3b33alp:cviceni:t06| Pole, matice]] | | 7 | 31.10.,1.11. | [[courses:b3b33alp:cviceni:t07| Rekurze, třídění]] | | 8 | 7,8.11. | [[courses:b3b33alp:cviceni:t08| Fronta, zásobník]] | | 9 | 14,15.11. | [[courses:b3b33alp:cviceni:t09| Semestrální práce]] | | 10 | 21,22.11. | [[courses:b3b33alp:cviceni:t10| Stavový prostor a objekty v Pythonu ]] | | 11 | 28,29.11. | [[courses:b3b33alp:cviceni:t11| Objekty, halda, asociativní pole]] | | 12 | 5,6.12. | [[courses:b3b33alp:cviceni:t12| Náhodná čísla, grafický výstup]] | | 13 | 12,13.12. | [[courses:b3b33alp:cviceni:t13| Stavový automat, grafy]]| | 14 | 9,10.1. | 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!