Popis předmětu - B3B33ALP

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
B3B33ALP Algoritmy a programování
Role:P Rozsah výuky:2P+2C
Katedra:13133 Jazyk výuky:CS
Garanti:Kybic J. Zakončení:Z,ZK
Přednášející:Kybic J. Kreditů:6
Cvičící:Kybic J., Pivoňka T., Řimnáč M., Štěpán P., Vonásek V. Semestr:Z

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.

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.

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

Osnovy cvičení:

Programovací jazyk Python. V řadě krátkých, samostatně řešených programovacích úloh si studenti procvičí látku probranou na přednáškách.

Literatura:

Sedgewick, Wayne: Algorithms (4th Edition), 2011, ISBN 978-0321573513 Sedgewick, Wayne, Dondero: Introduction to Programming with Python: An Interdisciplinary Approach. 2015, ISBN 978-0134076430

Požadavky:

Nejsou.

Poznámka:

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

Webová stránka:

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

Klíčová slova:

zakladni principy programovani a algoritmizace

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

Plán Obor Role Dop. semestr
BPKYR_2016 Před zařazením do oboru P 1


Stránka vytvořena 26.2.2021 17:50:51, semestry: Z/2020-1, L/2021-2, L/2020-1, Z/2021-2, 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)
Za obsah odpovídá: doc. Ing. Ivan Jelínek, CSc.