FI:PV264 Advanced Programming in C++ - Course Information
PV264 Advanced Programming in C++
Faculty of InformaticsSpring 2020
The course is not taught in Spring 2020
- Extent and Intensity
- 2/2/0. 3 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
- Teacher(s)
- RNDr. Nikola Beneš, Ph.D. (lecturer)
RNDr. Jan Mrázek (seminar tutor)
RNDr. Vladimír Štill, Ph.D. (seminar tutor) - Guaranteed by
- RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics - Prerequisites
- PB161 C++ Programming && ( (! PB173 Domain spec. devel. in C/C++ ) || SOUHLAS )
The course is not open for students that have taken the Advanced C++ seminar group of PB173. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 37 fields of study the course is directly associated with, display
- Course objectives
- The goal of this course is to expose students to advanced usage of C++ programming language.
- Learning outcomes
- At the end of the course the students should be able to: use the C++ language (in the newest standard) on an advanced level; use various programming techniques, notably generic, functional and parallel programming; understand the principles of memory and resource management in C++; debug, test and profile C++ programs using appropriate tools; be able to use modern C++ idioms and design patterns.
- Syllabus
- Introduction to the ISO C++14 standard
- Debugging and testing
- Functional programming in C++, lambda functions, algorithms
- Move semantics: rvalue references, forwarding
- Resource management, smart pointers, the RAII idiom
- Profiling and optimizations
- Generic programming and meta-programming using templates (variadic templates, SFINAE, ...)
- Modern C++ idioms (CRTP, tags)
- Parallel programming in modern C++: threads, atomic, introduction to lock-free data structures
- Future of C++ (C++17, proposed concepts)
- Literature
- MEYERS, Scott. Effective modern C++. Online. First edition. Beijing: O'Reilly, 2014. xv, 315. ISBN 9781491903995. [citováno 2024-04-23] info
- Teaching methods
- Theoretical lectures combined with practical exercises and programming homework; group project in the second half of the semester. The lectures are going to be given in English; some of the practical seminars will be taught in Czech (depends on the students' preferences).
- Assessment methods
- Two programming homeworks, one group project in the second half of the semester (groups of up to three students), project presentation, final written exam.
- Language of instruction
- English
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
- Enrolment Statistics (Spring 2020, recent)
- Permalink: https://is.muni.cz/course/fi/spring2020/PV264