Popis předmětu - B4B33RPH

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
B4B33RPH Řešení problémů a hry
Role:P Rozsah výuky:2P+3C
Katedra:13133 Jazyk výuky:CS
Garanti:Svoboda T. Zakončení:KZ
Přednášející:Pošík P., Svoboda T. Kreditů:6
Cvičící:Osob je mnoho Semestr:Z

Webová stránka:

https://cw.fel.cvut.cz/wiki/courses/B4B33RPH

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.

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í.

Osnovy 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.

Osnovy 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í.

Literatura:

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.

Požadavky:

žádné

Poznámka:

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

Klíčová slova:

Řešení problémů, dekompozice problému, testování, programování, Python, Java

Předmět je zahrnut do těchto studijních plánů:

Plán Obor Role Dop. semestr
BPOI1_2016 Informatika a počítačové vědy P 1
BPOI_BO_2016 Před zařazením do oboru P 1
BPOI4_2016 Počítačové hry a grafika P 1
BPOI3_2016 Software P 1
BPOI2_2016 Internet věcí P 1
BPOI_BO_2018 Před zařazením do oboru P 1
BPOI4_2018 Počítačové hry a grafika P 1
BPOI3_2018 Software P 1
BPOI2_2018 Internet věcí P 1
BPOI1_2018 Základy umělé inteligence a počítačových věd P 1


Stránka vytvořena 28.3.2024 17:52:19, semestry: Z,L/2023-4, Z/2024-5, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: I. Halaška (K336), J. Novák (K336)