Detail předmětu

Základy programování v C++

FEKT-BPC-PPCAk. rok: 2024/2025

Základní pojmy z programování v C++ a jejich procvičení. Budou uvedeny a vysvětleny pojmy pro konstrukce programů v C++: neobjektové vlastnosti, tvorba objektů (přístupová práva, členská data a funkce, this, konstruktory, destruktory, operátory), dědění, šablony, streamy. Základy práce se standardními knihovnami.

Jazyk výuky

čeština

Počet kreditů

6

Vstupní znalosti

Absolvování kurzu BPC-UDP a úspěšné absolvování BPC-ALD nebo kurzů s podobnou náplní.

Pravidla hodnocení a ukončení předmětu

Na základě aktivit ve cvičeních – testy - až 40b.
Zápočet je udělen za dosažení 14 a více bodů ze cvičení.
Závěrečná zkouška – písemná až 60b.


Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Učební cíle

Cílem je naučit studenty základní programátorské dovednosti v oblasti objektového programování a programovacích praktik v jazyce C++.
Absolvent zná:
- používat neobjektové rozšíření jazyka
- provést návrh programu využívajícího základů objektové programování
- naprogramovat a použít navržené objekty (přístupová práva, členská data, metody, operátory)
- základní orientace v objektově napsaných programech,
- napsat objektově orientovaný program se základním použitím dědění včetně virtuálních metod,
- použít streamů pro vstupně výstupní operace,
- vytvářet jednoduché šablony, využívat výjimky.


Prerekvizity a korekvizity

Základní literatura

RICHTER, Miloslav, PETYOVSKÝ, Petr, HORÁK Karel a KALOVÁ Ilona. Praktické programování v CPP SL. Elektronické texty. Brno: 2004. (CS)
STROUSTRUP, B.: A Tour of C++, Addison Wesley, 2018, ISBN 9780134997834 (EN)
STROUSTRUP, B.: The C++ Programming Language. Addison-Wesley,2013. 1368 s. ISBN-13: 978-0321563842. (EN)
VIRIUS, M.: Jazyky C a C++. 2. , aktualizované vydání. Praha: Grada Publishing, 2011. 368 s. ISBN 9788024739175. (CS)
VIRIUS, M.: Programování v C++ od základů k profesionálnímu použití, Grada publishing, 2018, ISBN: 978-80-271-0502-1 (CS)

Elearning

Zařazení předmětu ve studijních plánech

  • Program BPC-AMT bakalářský 3 ročník, zimní semestr, povinný
  • Program BPC-EKT bakalářský 3 ročník, zimní semestr, povinně volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Úvod C++, základní charakteristiky, srovnání s C, přehled vlastností objektového programování.
2. Pojem objekt, třída a její návrh. Prostory jmen. Práce s pamětí.
3. Datový typ reference, const, constexpr, volání funkcí. Přetěžování funkcí, implicitní parametry.
4. this, metody, přístupová práva.
5. Inline funkce a metody. Konstruktory a destruktory. Životní cyklus objektů. Pojem viditelnosti a dosažitelnosti obsahu objektů.
6. Operátory.
7. Move semantika. Statické členy. Friend funkce.
8. Výjimky. Šablony. Auto jako datový typ. Decltype.
9. C++ knihovny pro standardní vstupy a výstupy. Pojem stream.
10. Dědění a jeho vlastnosti.
11. Polymorfizmus. Abstraktní třída a její využití při objektovém návrhu.
12. RTTI. Chytré ukazatele. Vícenásobné dědění. Moduly. 
13. Lambda funkce. Koncepty. Thready. Korutiny. STL library. 

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

Procvičování látky probrané na přednáškách formou příkladů.
1. Základy  použití objektů, STL
2. Základy  použití objektů, STL
3. Tvorba třídy a metod. Přetěžování funkcí, práce s referencí. Základy práce se standardním vstupem a výstupem.
4. Konstruktory a destruktory.
5. Operátory.
6.  Test 1.
7.  Práce s pamětí, využití prostorů jmen při tvorbě programů. Výjimky.
8. Šablony.
9. Standardní vstupy a výstupy.
10. Dědění.
11. Polymorfizmus. 
12. Lambda funkce. Dokončení příkladů. Opakování.
13. Test 2.



Elearning