PV264 Advanced Programming in C++

Faculty of Informatics
Spring 2019
Extent and Intensity
2/2/0. 4 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
Bc. Jan Mrázek (seminar tutor)
RNDr. Vladimír Štill (seminar tutor)
Supervisor
doc. RNDr. Eva Hladká, 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 offered to students of any study field.
Course objectives
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++. First edition. Beijing: O'Reilly, 2014. xv, 315. ISBN 9781491903995. 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.
Language of instruction
English
Further comments (probably available only in Czech)
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2017, Spring 2018.
  • Enrolment Statistics (Spring 2019, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2019/PV264

Go to top | Current date and time: 20. 9. 2018 18:43, Week 38 (even)

Contact: istech(zavináč/atsign)fi(tečka/dot)muni(tečka/dot)cz, Office for Studies, access rights administrators, is-technicians, e-technicians, IT support | Use of cookies | learn more about Information System