Programovacie techniky

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

Organizácia predmetu

Prednáška:

pondelok 15:00-17:00 BC300
utorok 10:00-12:00 BC300 (tutoriál)

Konzultácie:

Dohodnutie termínu cez email, C601.

Učebný text

Zbierka príkladov v1.05
Kopírovacia a presúvacia sémantika v C++
Krátky úvod do jazyka C++ v1.04

Vzorový test

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

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

Cvičenia

Všetky podstatné informácie týkajúce sa cvičení nájdete na webstránke pt.pavolmarak.sk.

Cvičenia sú 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.

Odkaz na pripojenie sa k online cvičeniam: MS Teams (Programovacie techniky)

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čenia 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.