===== 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!