Programování a algoritmizace 1
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BI-PA1.21 | Z,ZK | 7 | 2P+2R+2C | česky |
- Přednášející:
- Jan Trávníček (gar.), Miroslav Balík, Ladislav Vagner, Josef Vogel
- Cvičící:
- Jan Trávníček (gar.), Miroslav Balík, David Bernhauer, Jan Bittner, Daniel Breiner, Michal Dvořák, Michal Dvořák, Tomáš Heger, Radek Hušek, Roman Jelínek, Jiří Kašpar, Matěj Kocourek, Tomáš Krupička, Jaroslav Kříž, Jan Matoušek, Matyáš Rak, Róbert Selvek, Ivan Šimeček, Ondřej Štorc, Ladislav Vagner, Josef Vogel, Ondřej Wrzecionko
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Studenti se naučí sestavovat algoritmy řešení základních problémů a zapisovat je v jazyku C. Ovládají datové typy (jednoduché, ukazatele, strukturované), výrazy, příkazy, a funkce demonstrované v programovacím jazyce C. Rozumějí principu rekurze a složitosti algoritmů. Naučí se základní algoritmy pro vyhledávání, řazení a práci se spojovými seznamy a stromy.
- Požadavky:
-
Žádné.
- Osnova přednášek:
-
1. Algoritmy a programy, základní podpora vývoje.
2. Proměnné, vstup a výstup v jazyce C.
3. Pohyblivá řádová čárka. Výrazy v jazyce C.
4. Řídící konstrukce v jazyce C.
5. Funkce v jazyce C.
6. Pole a řetězce v jazyce C.
7. Struktury a ukazatele v jazyce C.
8. Ukazatele a dynamická alokace paměti v jazyce C.
9. Složitost, algoritmy pro vyhledávání a kvadratické algoritmy řazení.
10. Spojové a stromové struktury v jazyce C.
11. Rekurzivní algoritmy, MergeSort, úvod do QuickSortu.
12. Práce se soubory a modulární programování v jazyce C.
13. Abstraktní datové typy (boolean, komplexní čísla, fronta, zásobník).
- Osnova cvičení:
-
1. Číselné soustavy, převody. Bit, bajt, slovo, dvojslovo. Vývojová prostředí. 2. Celočíselné typy, proměnné, přiřazení, vstup a výstup. Zobrazení celých čísel, doplňkový kód.
3. Reálné typy. Zobrazení čísel v pohyblivé řádové čárce. Výrazy.
4. Podmíněné příkazy.
5. Cykly, zpracování posloupností.
6. Funkce.
7. Pole a řetězce.
8. Ukazatele a dynamické proměnné.
9. Struktury.
10. Složitost algoritmů, příklady algoritmů s různou
složitostí.
11. Rekurzivní funkce.
12. Spojové seznamy.
13. Rezerva.
- Cíle studia:
-
Předmět je základním kurzem algoritmizace a procedurálního programování, jehož úspěšné absolvování je nutnou podmínkou pro další studium.
- Studijní materiály:
-
1. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. : Introduction to Algorithms (3rd Edition). MIT Press, 2016. ISBN 978-0262033848.
2. Brassard G., Bratley P. : Fundamentals of Algorithmics (3rd Edition). Pearson, 2015. ISBN 978-0133350685.
3. Sedgewick R. : Algorithms (4th Edition). Addison Wesley, 2011. ISBN 978-0321573513.
4. Kochan S.G. : Programming in C (4th Edition). Addison-Wesley, 2014. ISBN 978-0321776419.
5. Virius M : Jazyky C a C++: kompletní průvodce, 2. vydání, Grada, 2011. ISBN 978-80-247-3917-5.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-PA1/
- Další informace:
- https://courses.fit.cvut.cz/courses/BI-PA1/
- Rozvrh na zimní semestr 2022/2023:
-
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 St Čt Pá - Rozvrh na letní semestr 2022/2023:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bc. specializace Informační bezpečnost, 2021 (povinný předmět programu)
- Bc. specializace Manažerská informatika, 2021 (povinný předmět programu)
- Bc. specializace Počítačová grafika, 2021 (povinný předmět programu)
- Bc. specializace Počítačové inženýrství, 2021 (povinný předmět programu)
- Bc. program, pro fázi studia bez specializace, 2021 (povinný předmět programu)
- Bc. specializace Webové inženýrství, 2021 (povinný předmět programu)
- Bc. specializace Umělá inteligence, 2021 (povinný předmět programu)
- Bc. specializace Teoretická informatika, 2021 (povinný předmět programu)
- Bc. specializace Softwarové inženýrství, 2021 (povinný předmět programu)
- Bc. specializace Počítačové systémy a virtualizace, 2021 (povinný předmět programu)
- Bc. specializace Počítačové sítě a Internet, 2021 (povinný předmět programu)