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

Moderní programování v C++

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah
MI-MPC Z,ZK 5 2P+1C
Přednášející:
Daniel Langr (gar.)
Cvičící:
Daniel Langr (gar.)
Předmět zajišťuje:
katedra softwarového inženýrství
Anotace:

Studenti se naučí využívat moderní rysy současných verzí jazyka C++ pro tvorbu softwaru. Důraz je kladen především na efektivitu, a to jak v podobě tvorby udržovatelných a přenositelných zdrojových kódů, tak v podobě korektních programů s nízkými nároky na paměť a procesorový čas.

Požadavky:

Základy programování v C a C++ (na úrovni předmětů BI-PA1 a BI-PA2)

Osnova přednášek:

1. Úvod, optimalizace ukládání krátkých řetězců

2. Kopírování vs přesun obsahu objektů

3. Efektivní podoby speciálních členských funkcí

4. Dynamická alokace paměti, dynamické vytváření objektů

5. Zachování hodnotové kategorie, variadické šablony

6. Redukce kopírování a přesunu obsahu objektů, inicializace

7. Dedukce typů

8. Specializace šablon a šablonové metaprogramování

9. Aserce, výběr volané funkce, lambda funkce

10. Automatické uvolňování prostředků, chytré ukazatele, skrytí typu objektu

11. Více-vláknové programování

12. Politiky, optimalizace prázdné bázové třídy, výčtové typy

Osnova cvičení:

Na počítačových cvičeních řesí studenti úlohy navazující na přednášky; cvičící poskytuje konzultace a rady.

Cíle studia:

Cílem předmětu je naučit studenty využívat současné verze jazyka C++ tak, aby v něm byli schopni vytvářet efektivní, korektní, udržovatelný a přenositelný software.

Studijní materiály:

Josuttis, The C++ Standard Library-A Tutorial and Reference

Meyers, Effective Modern C++

Prata, C++ Primer Plus

Reddy, API Design for C++

Stroustrup, Programming - Principles and Practice Using C++

Stroustrup, The C++ Programming Language

Sutter and Alexandrescu, C++ Coding Standards: 101 Rules, Guidelines, and Best Practices

Vandervoorde and Josuttis, C++ Templates - The Complete Guide

Williams, C++ Concurrency in Action

cppreference.com, www.cplusplus.com (C++ reference)

stackoverflow.com (developer forum)

isocpp.org (news, status, blogs, FAQs, discussion)

ISO/IEC 14882:2014 Information technology - Programming languages-C++

Poznámka:

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

Další informace:
https://courses.fit.cvut.cz/MI-MPC/
Rozvrh na zimní semestr 2018/2019:
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

místnost TH:A-s135
Langr D.
09:15–10:45
(přednášková par. 1)
Thákurova 7 (FSv-budova A)
As135
místnost T9:348
Langr D.
12:45–14:15
SUDÝ TÝDEN

(přednášková par. 1
paralelka 103)

Dejvice
NBFIT PC ucebna
místnost T9:350
Langr D.
11:00–12:30
SUDÝ TÝDEN

(přednášková par. 1
paralelka 101)

Dejvice
NBFIT PC ucebna
místnost T9:350
Langr D.
11:00–12:30
LICHÝ TÝDEN

(přednášková par. 1
paralelka 102)

Dejvice
NBFIT PC ucebna
Rozvrh na letní semestr 2018/2019:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 25. 8. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet5073206.html