Programovacie techniky

Prednášajúci:Martin Drozda
Cvičiaci:Pavol Marák
Linky:Sylabus
Kategória predmetu:,
Organizácia
Cvičenia
Podmienky
Viac

Organizácia predmetu

Prednáška:

pondelok 15:00-17:00 DE300
štvrtok 08:00-10:00 DE300 (cvičenia)

Konzultácie s prednášajúcim:

Dohodnutie termínu cez email, C601.

Učebný text

Krátky úvod do jazyka C++ v1.04
Zbierka príkladov v1.05

Vzorový test

Riadny termín 2023/24
Opravný termín 2023/24

Riadny termín 2022/23
Opravný termín 2022/23

Riadny termín 2021/22
Opravný termín 2021/22

Riadny termín 2020/21
Opravný termín 2020/21

Riadny termín 2019/20
Opravný termín 2019/20

Riadny termín 2018/19
Opravný termín 2018/19

Plán semestra

  • Úvod, Bjarne, lokálne premenné, preťažovanie funkcií, referencia &, univerzálna referencia &&, const * const, kompilácia C++ kódu. Prednáška

  • Nedefinované správanie, typová bezpečnosť, menné priestory, organizácia pamäte, C++ zásobník, zásobník, fronta, zreťazený zoznam. Prednáška

  • Zložitosť, Bubble sort, insertion sort, quick sort, merge sort. Prednáška

  • O notácia, stabilné triedenie, heap sort. Prednáška

  • nullptr, trieda, objekt, konštruktor, deštruktor. Prednáška

  • string, uniformná inicializácia, konverzný konštruktor, preťažovanie operátorov, kopírovanie (copy), presúvanie (move). Prednáška

  • auto, decltype, STL, vector, iterátory, výnimky. Prednáška

  • Indexovanie, array, deque, stack, queue, map, multimap, set, multiset, binárny vyhľadávací strom. Prednáška

  • Hašovanie, unordered kontajner, odvodená trieda, virtuálna metóda, inline, friend, const metóda. Prednáška

  • Hľadanie do hĺbky, hľadanie do šírky, najkratšia cesta v grafe, Dijkstrov algoritmus. Prednáška

  • = delete, virtuálna trieda, friend trieda, komparátor, polymorfizmus, template, virtuálny deštruktor, override, final. Prednáška

  • template class, concepts, constexpr, C++ pretypovanie, chytré smerníky, emplace/emplace_back, C++20 range, záver. Prednáška

Cvičenia

Podpora cvičení je realizovaná online formou prostredníctvom služby Microsoft Teams. Je nutné mať vytvorený účet Microsoft Office 365 (registrovať sa treba pomocou vašej STU emailovej adresy a pri registrácii použiť vaše reálne meno a priezvisko). Takto vytvorený účet následne použijete na pripojenie sa k Microsoft Teams tímu vytvorenému pre predmet Programovacie techniky.

Kód na priame pripojenie sa k tímu bol všetkým študentom odoslaný e-mailom.

Podmienky absolvovania

Priebežné hodnotenie: 40 bodov, min. 20 bodov na získanie zápočtu.
Skúška: 60 bodov.

Účasť na prednáškach aj cvičeniach je povinná!

News and links

http://mifeet.alpaka.cz/algo/algorithms.swf (animácie rôznych algoritmov)

http://www.algoritmy.net (rôzne témy súvisiace s programovaním)

http://www.exfort.org/dsa/quick/dsa_quicksort.swf (quick sort (http://www.exfort.org/dsa/quick/index.htm))

Úlohy na riešenie

A1. Naimplementuj zreťazený zoznam.
A2. Naimplementuj zásobník (stack).
A3. Naimplementuj frontu (queue).
A4. Naimplementuj výmenu (swap) na zreťazenom zozname.