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

Algoritmy a programování

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
B3B33ALP Z,ZK 6 2P+2C česky

Podmínkou zápisu na předmět B3B33ALP je, že student si nejpozději ve stejném semestru zapsal příslušný počet předmětů ze skupiny BEZBM

Předmět B3B33ALP může při kontrole studijních plánů nahradit předmět BAB37ZPR

Předmět B3B33ALP nesmí být zapsán, je-li v témže semestru zapsán anebo již dříve absolvován předmět BAB37ZPR (vztah je symetrický)

Garant předmětu:
Jan Kybic, Vojtěch Vonásek
Přednášející:
Vojtěch Vonásek
Cvičící:
Pavel Petráček, Martin Řimnáč, Petr Štěpán, Vojtěch Vonásek
Předmět zajišťuje:
katedra kybernetiky
Anotace:

Cílem předmětu je dát studentům základní znalost programování a algoritmizace a naučit je navrhnout, implementovat a otestovat programy pro řešení jednoduchých úloh. Studenti pochopí význam časové složitosti. Seznámí se se základními stavebními prvky programů, jako jsou smyčky, podmíněné příkazy, proměnné, rekurze, funkce atd. V předmětu postupně představíme nejpoužívanější datové struktury a operace s nimi (např. fronta, zásobník, seznam, pole, atd.) a ukážeme základní klasické a praktické algoritmy, zejména z oblasti řazení a vyhledávání. Zmíníme stručně jednotlivá programovací paradigmata. Studenti se seznámí s jazykem Python a naučí se v něm psát jednoduché programy.

Požadavky:

Nejsou.

Osnova přednášek:

1. Úvod, základní programové struktury a techniky, jazyk Python.

2. Funkce, řetězce, moduly. Principy funkcionálního programování.

3. Datové typy, typ pole.

4. Složitost. Třídění a vyhledávání.

5. Rekurze a rychlé třídění.

6. Záznam. Principy objektově orientovaného programování. Fronta a zásobník.

7. Konečný automat a jeho použití. Regulární výrazy.

8. Spojové seznamy. Stromy.

9. Prioritní fronta a hromada.

10. Asociativní pole a množina. Rozptylovací tabulka.

11. Prohledávání stavového prostoru.

12. Splnitelnost. Dynamické programování.

13. Grafové algoritmy.

14. Numerické výpočty a vizualizace.

Osnova cvičení:

Při cvičeních v počítačové laboratoři si studenti prakticky osvojí probíranou látku, získají vhodné programovací návyky a experimentálně ověří vlastnosti probíraných algoritmů. Důležitou součástí studia je domácí programování.

Cíle studia:

Cílem předmětu je dát studentům základní znalost programování a algoritmizace a naučit je navrhnout, implementovat a otestovat programy pro řešení jednoduchých úloh.

Studijní materiály:

• Wentworth, Peter, Elkner, Jeffrey and Downey, Allen B. and Meyers, Chris. 2012. How To Think Like a Computer Scientist - Learning with Python 3 (RLE), 3. vyd. Kniha je k dispozici online na webu autorů: http://openbookproject.net/thinkcs/python/english3e/. Existuje i česká verze na http://howto.py.cz/index.htm.

• Downey, Allen B. 2016. Think Python: How to Think Like a Computer Scientist. 2. vyd. Sebastopol, CA: O’Reilly Media. Kniha je také k dispozici online: https://greenteapress.com/thinkpython2/html/index.html, třebaže ne česky.

• Zelle, John. 2016. Python Programming: An Introduction to Computer Science. 3. vyd. Portland, Oregon: Franklin, Beedle & Associates. Materiály na webu na https://mcsp.wartburg.edu/zelle/python/.

• Sedgewick, Robert, Kevin Wayne, a Robert Dondero. 2015. Introduction to Programming in Python: An Interdisciplinary Approach. New York: Addison-Wesley Professional.

Poznámka:

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

Další informace:
https://cw.fel.cvut.cz/wiki/courses/B3B33ALP
Rozvrh na zimní semestr 2023/2024:
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
místnost KN:E-107
Vonásek V.
09:15–10:45
(přednášková par. 1)
Karlovo nám.
Zengerova posluchárna K1
místnost KN:E-230
Řimnáč M.
12:45–14:15
(přednášková par. 1
paralelka 104)

Karlovo nám.
Laboratoř PC
místnost KN:E-132
Vonásek V.
16:15–17:45
(přednášková par. 1
paralelka 105)

Karlovo nám.
Laboratoř PC
místnost KN:E-230
Řimnáč M.
11:00–12:30
(přednášková par. 1
paralelka 101)

Karlovo nám.
Laboratoř PC
místnost KN:E-327
Petráček P.
16:15–17:45
(přednášková par. 1
paralelka 108)

Karlovo nám.
Solarium K327
místnost KN:E-132

12:45–14:15
(přednášková par. 1
paralelka 109)

Karlovo nám.
Laboratoř PC
místnost KN:E-132
Štěpán P.
14:30–16:00
(přednášková par. 1
paralelka 102)

Karlovo nám.
Laboratoř PC
místnost KN:E-230
Vonásek V.
14:30–16:00
(přednášková par. 1
paralelka 103)

Karlovo nám.
Laboratoř PC
Út
místnost KN:E-132
Štěpán P.
09:15–10:45
(přednášková par. 1
paralelka 107)

Karlovo nám.
Laboratoř PC
místnost KN:E-230
Petráček P.
11:00–12:30
(přednášková par. 1
paralelka 106)

Karlovo nám.
Laboratoř PC
St
Čt

Rozvrh na letní semestr 2023/2024:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 16. 3. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet4673906.html