Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2018/2019

Řešení problémů a hry

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
B4B33RPH KZ 6 2p+3c česky
Korekvizita:
Základní školení BOZP (BEZZ)
Předmět nesmí být zapsán současně s:
Solving problems and other games (AE4B99RPH)
Přednášející:
Tomáš Svoboda (gar.), Petr Pošík
Cvičící:
Tomáš Svoboda (gar.), Michal Hadrava, Otakar Jašek, Jan Mrkos, Robert Pěnička, Petr Pošík, Tomáš Vintr
Předmět zajišťuje:
katedra kybernetiky
Anotace:

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. Práce na zajímavých projektech by měla přirozeným způsobem přivést studenty k otázkám, které by si studenti měli pokládat v teoretických předmětech. Studenti by se měli na těžké předměty těšit, protože se pořádně dozví, proč jim to nefungovalo. Primárním cílem není aby studenti vypracovali úlohy bezchybně, ale aby se naučili klást důležité otázky. 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.

Požadavky:

žádné

Osnova přednášek:

1. Úvod. Představení první úlohy.

2. Jak se tvoří program, vybrané kapitoly pro první úlohu.

3. Objekt jako základní stavební prvek programu.

4. Podmínky a funkce.

5. Představení druhé úlohy.

6. Složené datové typy, iterátory

7. Elegantní ukončení programu, ošetření vyjímek.

8. Testování programu, unittesty.

9. Představení třetí úlohy.

10. Jak psát čistý kód.

11. Motivační přednáška I

12. Motivační přednáška II

13. Motivační přednáška III

14. Závěr.

Osnova cvičení:

Studenti budou pracovat na několika programovacích úlohách, samostatně i v týmech. Jednotlivé části kódu budou průběžně odevzdávány a diskutovány s učiteli. Množina úloh se bude průběžně doplňovat a obměňovat. Příklady úloh: Spam filtr. Jednoduchá detekce zpráv na základě výskytu podezřelých slov. K dispozici trénovací i testovací množina. Reversi, dvouhráčové hry. Hledání cesty pro mobilního robota. Jednoduché bludiště, scéna obsahující jednoduché geometrické objekty. úkolem je nalézt cestu pro robota z bodů A do bodů B. Kritérium optimality může být různé. Vězňovo dilema, klasický problém z teorie her se širokou aplikovalností.

Cíle studia:

Hlavní motivací je umožnit studentům reálné řešení světových problémů. Zahrnuje správné přemýšlení o

problému, jeho rozkladu, testování, ověřování, hodnocení.

Studijní materiály:

1. Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers. How to Think Like a Computer Scientist. 3rd edition, 2012, http://openbookproject.net/thinkcs/python/english3e/ český překlad Jaroslav Kubias, http://howto.py.cz

2. Mark Pilgrim. Dive intoPython 3. Český překlad Petr Přikryl, http://diveintopython3.py.cz

3. Doporučená tématická četba k jednotlivým úlohám.

Poznámka:

http://cw.fel.cvut.cz/wiki/courses/b4b33rph/start

Další informace:
http://cw.fel.cvut.cz/wiki/courses/b4b33rph/start
Rozvrh na zimní semestr 2018/2019:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
místnost KN:E-107
Svoboda T.
Pošík P.

09:15–10:45
(přednášková par. 1)
Karlovo nám.
Zengerova posluchárna K1
místnost KN:E-220

16:15–17:45
(přednášková par. 1
paralelka 112)

Karlovo nám.
Laboratoř PC
St
Čt
místnost KN:E-230
Hadrava M.
07:30–10:00
(přednášková par. 1
paralelka 101)

Karlovo nám.
Laboratoř PC
místnost KN:E-230
Hadrava M.
10:00–12:30
(přednášková par. 1
paralelka 102)

Karlovo nám.
Laboratoř PC
místnost KN:E-230
Jašek O.
14:30–17:00
(přednášková par. 1
paralelka 105)

Karlovo nám.
Laboratoř PC
místnost KN:E-310

17:00–19:30
(přednášková par. 1
paralelka 110)

Karlovo nám.
Lab K310 Linux
místnost KN:E-132
Pěnička R.
07:30–10:00
(přednášková par. 1
paralelka 103)

Karlovo nám.
Laboratoř PC
místnost KN:E-132
Pěnička R.
10:00–12:30
(přednášková par. 1
paralelka 107)

Karlovo nám.
Laboratoř PC
místnost KN:E-310
Svoboda T.
14:30–17:00
(přednášková par. 1
paralelka 111)

Karlovo nám.
Lab K310 Linux
místnost KN:E-307
Jašek O.
08:15–10:45
(přednášková par. 1
paralelka 104)

Karlovo nám.
HW-lab K307

místnost KN:E-230
Mrkos J.
08:15–10:45
(přednášková par. 1
paralelka 106)

Karlovo nám.
Laboratoř PC
místnost KN:E-132
Vintr T.
08:15–10:45
(přednášková par. 1
paralelka 108)

Karlovo nám.
Laboratoř PC
místnost KN:E-327
Pošík P.
08:15–10:45
(přednášková par. 1
paralelka 109)

Karlovo nám.
Solarium K327
Rozvrh na letní semestr 2018/2019:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 17. 8. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet4683706.html