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

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
Korekvizita:
Bezpečnost práce v elektrotechnice pro bakaláře (BEZB)
Základní školení BOZP (BEZZ)
Předmět je náhradou za:
Základy programování (BAB37ZPR)
Přednášející:
Jan Kybic (gar.)
Cvičící:
Jan Kybic (gar.), Jan Hering, Jakub Hvězda, Tomáš Pivoňka, 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í. V závěru stručně probereme jednotlivá programovací paradigmata.

Požadavky:

Nejsou.

Osnova přednášek:

1. Co je to algoritmus, proč studovat algoritmy, můj první algoritmus, jazyk Python. Organizace předmětu.

2. Základní programové struktury a techniky (smyčky, podmíněné příkazy). Asymptotická časová složitost algoritmů. Příklady (např. test prvočíselnosti, sekvenční vyhledávání, půlení intervalu).

3. Datová struktura pole, insertion sort. Ladění program (debugging).

4. Fronta a zásobník. Konečný automat.

5. Datová struktura seznam. Merge sort.

6. Rekurze. Quicksort. Funkce jako abstrakce.

7. Datové typy, numerické typy, numerické algoritmy, konečná přesnost. Vektory a matice.

8. Prioritní fronta, datová struktura hromada, heapsort.

9. Rozptylovací tabulky (hash tables) a operace s nimi.

10.Datová struktura strom. Vyhledávání ve stromu, Vytvoření a vyvažování stromu.

11.Reprezentace množin pomocí stromu, množinové operace, mapy. Graf, reprezentace grafu.

12. Prohledávání grafu. Nalezení nejkratší cesty. Prohledávání stavového prostoru, backtracking.

13. Znakové řetězce, jejich třídění a vyhledávání.

14.Organizace programů / paradigmata, aneb jeden program čtyřikrát jinak - nestrukturované programování,

strukturované programovaní, objektové programování, funkcionální programování.

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

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:

Sedgewick, Wayne: Algorithms (4th Edition), 2011, ISBN 978-0321573513

Sedgewick, Wayne, Dondero: Introduction to Programming with Python: An Interdisciplinary Approach.

2015, ISBN 978-0134076430

Poznámka:

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

Další informace:
http://cw.fel.cvut.cz/wiki/courses/b3b33alp/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
místnost KN:E-107
Kybic J.
09:15–10:45
(přednášková par. 1)
Karlovo nám.
Zengerova posluchárna K1
místnost KN:E-230
Vonásek V.
11:00–12:30
(přednášková par. 1
paralelka 101)

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

Karlovo nám.
Laboratoř PC
místnost KN:E-230
Pivoňka T.
16:15–17:45
(přednášková par. 1
paralelka 105)

Karlovo nám.
Laboratoř PC
místnost KN:E-311
Hering J.
11:00–12:30
(přednášková par. 1
paralelka 110)

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

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

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

Karlovo nám.
Laboratoř PC
místnost KN:E-230
Vonásek V.
12:45–14:15
(přednášková par. 1
paralelka 104)

Karlovo nám.
Laboratoř PC
místnost KN:E-311
Hering J.
12:45–14:15
(přednášková par. 1
paralelka 111)

Karlovo nám.
Lab K311
místnost KN:E-132

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

Karlovo nám.
Laboratoř PC
Út
místnost KN:E-230

07:30–09:00
(přednášková par. 1
paralelka 108)

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

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

Karlovo nám.
Laboratoř PC
St
Čt

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 18. 8. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet4673906.html