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

Programování a algoritmizace 2

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BIK-PA2.21 Z,ZK 7 14KP+6KC česky
Garant předmětu:
Jan Trávníček
Přednášející:
Radek Hušek, Barbora Kolomazníková
Cvičící:
Radek Hušek, Barbora Kolomazníková, Ondřej Štorc, Jan Trávníček, Josef Vogel
Předmět zajišťuje:
katedra teoretické informatiky
Anotace:

Studenti se naučí základům objektově orientovaného programování a naučí se používat, specifikovat a implementovat abstraktní datové typy (rozšiřitelné pole, množina, seznam, tabulka). Programovacím jazykem je C++. Studenti jsou seznámeni se všemi rysy jazyka C++ důležitými pro objektově-orientované programování (např. šablonování, kopírování/přesouvání objektů, přetěžování operátorů, dědičnost tříd, polymorfismus).

Požadavky:

Základy algoritmizace a programování v jazyku C.

Osnova přednášek:

1. Od C k C++, neobjektová rozšíření.

2. Programovací styly, úvod do objektově-orientovaného programování.

3. Třídy a objekty v jazyce C++.

4. Přetížené operátory v jazyce C++.

5. Kopírování objektů v jazyce C++.

6. Vybrané komponenty knihovny STL.

7. Dědění. Polymorfismus v jazyce C++.

8. Abstraktní třídy v jazyce C++.

9. Šablony funkcí a tříd v jazyce C++.

10. Výjimky a jejich ošetření v jazyce C++. Abstraktní datové typy fronta a zásobník v C++.

11. Abstraktní datové typy rozšiřitelné pole, seznam, množina a tabulka v C++.

12. Asociativní datové struktury.

13. Rozšíření C++11.

Osnova cvičení:

1. Úvod do C++

2. Základy OOP, objekty a metody

3. Viditelnost, konstruktor, destruktor, moduly

4. Přetěžování operátorů

5. Mělká vs. hluboká kopie

6. STL kontejnery

7. Dědičnost

8. Abstraktní metody

9. Šablony funkcí a tříd

10. Výjimky a C++11

11. C++11

12. Procvičování

13. Rezerva

Cíle studia:

Cílem předmětu je naučit studenty používat prostředky objektově orientovaného programování a využívat je při specifikaci a implementaci abtstraktních datových typů s důrazem na implementaci pomocí spojových struktur. Předmět je povinným předmětem programu, na který navazuje řada dalších předmětů.

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. Sedgewick R. : Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching (3rd Edition). Addison-Wesley, 1998. ISBN 978-0201350883.

5. Virius M. : Programování v C++ - od základů k profesionálnímu použití. Grada, 2018. ISBN 978-80-271-0502-1.

Poznámka:

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-PA2/

Další informace:
https://courses.fit.cvut.cz/BI-PA2/
Rozvrh na zimní semestr 2024/2025:
Rozvrh není připraven
Rozvrh na letní semestr 2024/2025:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 11. 12. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6698806.html