{{page>courses:b6b36pjc:styles#common&noheader&nofooter}} {{page>courses:b6b36pjc:styles#ukoly&noheader&nofooter}} ===== Úkoly v semestru ===== 70 ze 100 bodů ze semestru je za domácí práci, z toho 40 za úkoly do Brute, 10 za jednohubky a a 20 za semestrální práci, která se odevzdává vašemu cvičícímu mailem. Pro získání zápočtu potřebujete splnit všechny povinné domácí úkoly, což znamená získat z každého alespoň 40% bodů, předtím než se započítá penalizace za pozdní odevzdání((To znamená, že pokud jste dostali 4 body z 10 z testů a penalizace za pozdní odevzdání je v danou chvíli 10 bodů, tak jste stále odevzdali úkol úspěšně.)). Úlohy se kontrolují stejnými testy, jako dostáváte, ovšem v odevzdávacím systému testy, resp. vaše úkoly, běží pod [[http://valgrind.org/|Valgrindem]]. Aby byl úkol přijat jako správně odevzdaný, nesmí Valgrind najít žádné problémy. Úkoly běží také pod sanitizéry -- [[https://github.com/google/sanitizers/wiki/AddressSanitizer|AddressSanitizer]], [[https://github.com/google/sanitizers/wiki/MemorySanitizer|MemorySanitizer]] a [[https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html|UndefinedBehaviorSanitizer]]. Ty společně detekují více chyb než Valgrind, jsou rychlejší a jejich výstup je podrobnější. Tento semestr jsou zatím v testovacím běhu a nejsou penalizovány -- pokud si budete myslet, že vám něco hlásí špatně, napište na fórum. Abychom vás motivovali k tomu testovat si úkoly na svém počítači((Odevzdávací systém by neměl sloužit jako debugger.)), bude se po překročení určitého počtu odevzdání aplikovat časová penalizace. To znamená, že se vám nestrhnou žádné body, ale na zobrazení výsledků vyhodnocení si budete muset chvíli počkat. Dle aktuálního nastavení budete muset při desátém uploadu čekat 5 minut, při jedenáctém 5.5, při dvanáctém 6 minut a tak dále. ==== Úkoly ==== ^ Úkol ^ Téma ^ Max bodů ^ | 1 | [[courses:b6b36pjc:ukoly:trie | Trie ]] | 20 | | 2 | [[courses:b6b36pjc:ukoly:symcalc | Symcalc ]] | 20 | ==== Jednohubky ==== Jednohubky jsou malé a **nepovinné** úkoly, za které můžete získat 1 bod. K tomu abyste bod získali je musíte odevzdat před začátkem dalšího cvičení. ^ Úkol ^ Téma ^ | 1 | [[courses:b6b36pjc:ukoly:jednohubky#formatovany_zapis_do_proudu|Formátovaný zápis do proudu]] | | 2 | [[courses:b6b36pjc:ukoly:jednohubky#kopie_a_reference|Kopie a reference]] | | 3 | [[courses:b6b36pjc:ukoly:jednohubky#prace_s_dynamicky_alokovanou_pameti|Práce s dynamicky alokovanou pamětí]] | | 4 | [[courses:b6b36pjc:ukoly:jednohubky#zivot_objektu|Život objektů]] | | 5 | [[courses:b6b36pjc:ukoly:jednohubky#kopie_a_presuny|Kopie a přesuny]] | | 6 | [[courses:b6b36pjc:ukoly:jednohubky#operatory|Operátory]] | | 7 | [[courses:b6b36pjc:ukoly:jednohubky#nevirtualni_a_virtualni_rozhrani|(Ne)Virtuální rozhraní]] | | 8 | [[courses:b6b36pjc:ukoly:jednohubky#simulace_kovariantnich_navratovych_typu_s_chytrymi_ukazately|Kovariance s chytrými ukazateli]] | | 9 | [[courses:b6b36pjc:ukoly:jednohubky#jednoducha_sablonova_funkce|Jednoduchá šablona]] | | 10 | [[courses:b6b36pjc:ukoly:jednohubky#jednoduche_metaprogramovani|Jednoduché metaprogramování]] | ==== Semestrálka ==== [[courses:b6b36pjc:ukoly:semestralka|Semestrálka]] ==== Testovací úlohy ==== V Brute najdete i [[courses:b6b36pjc:ukoly:test_upload|dvě testovací úlohy]], na nichž si můžete vyzkoušet, jestli vám funguje tak, jak má.