====== B4B33RPH -- Řešení problémů a hry ====== Předmět prvního semestru bakalářského programu [[http://oi.fel.cvut.cz|Otevřená informatika]]. Předmět si klade za cíl naučit studenty přemýšlet o řešení algoritmických a programovacích problémů inženýrským způsobem. To zahrnuje především rozmyšlení úlohy, dekompozice, definování rozhraní, způsob testování jednotlivých mezikroků, ověření a testování úspěšnosti celé úlohy. Předmět rovněž uvede studenty do objektově orientovaného programování s důrazem na čitelnost a robustnost kódu. Přednášky mají tři hlavní bloky: i) vybraná témata z programovacích technik a návrhu algoritmů - nutný základ pro implementaci úloh, včetně testovacích technik; ii) vysvětlení jednotlivých úloh; iii) motivační přednášky - vybraná témata především z oblasti počítačových věd. ([[courses:b4b33rph:prednasky:start|Přednášky]], [[courses:b4b33rph:cviceni:start|Cvičení]], [[courses:b4b33rph:literatura|Literatura, on-line materiály]], [[courses:b4b33rph:sidebar|Mapa stránek]]) Garant: [[http://cmp.felk.cvut.cz/~svoboda|Tomáš Svoboda]] Přednášející: [[http://cmp.felk.cvut.cz/~svoboda|Tomáš Svoboda]], [[http://labe.felk.cvut.cz/~posik/|Petr Pošík]], Cvičící: [[https://www.aic.fel.cvut.cz/members/jindriska-deckerova|Jindřiška Deckerová]], [[https://mrs.felk.cvut.cz/members/phdstudents/jiri-horyna|Jiří Horyna]], [[http://cmp.felk.cvut.cz/~kostkj2/|Jana Kostlivá]], [[http://petrposik.github.io|Petr Pošík]], [[https://mrs.felk.cvut.cz/members/phdstudents/vaclav-pritzl|Václav Pritzl]], [[http://cmp.felk.cvut.cz/~svoboda|Tomáš Svoboda]], /* [[http://mrs.felk.cvut.cz/people/petr-stibinger|Petr Štibinger]], [[kucerkr1@fel.cvut.cz|Kristýna Kučerová]] [[http://cs.fel.cvut.cz/en/people/mrkosja1|Jan Mrkos]], [[http://cmp.felk.cvut.cz/~svoboda|Tomáš Svoboda]], [[http://cs.felk.cvut.cz/en/people/zilecpav|Pavol Žilecký]], [[https://cyber.felk.cvut.cz/department/people/person/?id=782&lang=cs|Lukáš Koucký]] [[http://cmp.felk.cvut.cz/~sulcmila|Milan Šulc]], [[http://cs.fel.cvut.cz/en/people/novotj94|Jitka Novotná]], [[http://cmp.felk.cvut.cz/~peckama2|Martin Pecka]], [[http://mrs.felk.cvut.cz/people/penicka|Robert Pěnička]], [[http://cmp.felk.cvut.cz/~jasekota/|Ota Jašek]], Michal Hadrava, Tomáš Vintr [[http://mrs.felk.cvut.cz/people/matej-petrlik|Matěj Petrlík]], [[mailto:vaknieri@fel.cvut.cz|Erik Vaknin]] */ ====== Úlohy, hodnocení předmětu ====== Každý student v průběhu semestru vyřeší **tři povinné úlohy**. Na všech budete pracovat samostatně, s výjimkou části úlohy Spam filtr, jejíž část bude týmová. Ve cvičeních budou pravidelně **malé programovací testíky** za 0-2 body. Testíky **nebudou nahrazovány** (s výjimkou případů, jako je dlouhodobá nemoc, apod.). Není nastaven maximální počet absencí na cvičení. Na druhou stranu očekáváme, že diskuse a konzultace budou probíhat především v rámci standardních cvičení. Velmi pokročilí programátoři si mohou domluvit individuální program se svým cvičícím. Rozložení bodů mezi úlohy: ^Úloha ^ Vězňovo dilema ^ Reversi ^ Spam filter ^ Testy ^ /*Bonus^*/ |Max. body | 23 | 32 | 35 | 10 | /*26+ |*/ Díky případným **bodům za aktivitu na cvičení či za vyřešení nepovinných úloh** lze získat více než 100 bodů. Extra body lze získat za aktivní diskuse, hlášení chyb na webové stránce, extra výkon na úlohách a pod. Počty bodů pro jednotlivé známky: ^ A ^ B ^ C ^ D ^ E ^ F ^ | 100-90 | 89-75 | 74-60 | 59-45 | 44-30 | 29-0 | * **U každé úlohy je potřeba získat minimální předepsaný počet bodů.** Je tedy nutné odevzdat všechny individuální úlohy alespoň na úrovni splnění formální/minimální funkcionality. Splnění všech tří úloh na minimální akceptovatelné úrovni odpovídá stupni E. * **Minimální celkový počet bodů z krátkých programovacích testíků pro lepší známku než E je 2.** Jinak řečeno, student, který získá v součtu z programovacích testů méně než dva body, získá přinejlepším známku E bez ohledu na celkový součet bodů ze cvičení.