Course: Advanced Programming in C

« Back
Course title Advanced Programming in C
Course code UAI/771
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Frequency of the course In each academic year, in the summer semester.
Semester Summer
Number of ECTS credits 6
Language of instruction Czech
Status of course Optional
Form of instruction unspecified
Work placements unspecified
Recommended optional programme components None
Lecturer(s)
  • Fesl Jan, Ing. Ph.D.
Course content
1) Pointers & references, pointers to functions, smart pointers, move semantics, RAII 2) Classes, inheritance, friendship, polymorphism, operators overloading, PIMP Idioma 3) Streams in C++, file access with streams, objects serialization 4) Templates, genericity, functors, iterators, meta-programming, traits 5) Advanced constructions in C++, lambda functions, variadic templates and functions, partial specialization, automatically deduced types 6) STL - containers, iterations, pairs, emplace semantics 7) STL - algorithms, types and their using 8) Modularity, namespaces, dynamic type control, own data types, politics, assert 9) Parallel programming in C++, threads 10) Dynamic-link libraries (DLL) 11) Network communication in C++, BSD sockets, TCP channel, message sending 12) GUI - introduction, properties and events in C++, QT library

Learning activities and teaching methods
Monologic (reading, lecture, briefing)
  • Preparation for classes - 10 hours per semester
  • Preparation for credit - 40 hours per semester
  • Semestral paper - 60 hours per semester
  • Class attendance - 40 hours per semester
Learning outcomes
The course is designed for students knowledgeable in object-oriented programming to make it familiar with the specifics of the programming language C ++. The emphases is put on the latest standards C++ 14/17/20.
The student is able to create source code on the basis of the class model created after having analysed the task. An emphasis is put to the creation of optimal structure of the program, suitable for application and long-term maintenance. Final lectures and tasks are designed for proper tests of application administration both local and remote.
Prerequisites
The knowledge comparable to the subject of Procedural programming in C/C++
UAI/685
----- or -----
UAI/685U
----- or -----
UAI/735
----- or -----
UAI/735K

Assessment methods and criteria
Written examination

Elaboration of semester work and active participation in seminars.
Recommended literature
  • Miroslav Virius. Programování v C++ od základů k profesionálnímu použití. 2018. ISBN 978-80-271-0502.
  • Stephen Prata. Mistrovství v C++. 2014. ISBN 978-80-271-0502.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester
Faculty: Faculty of Science Study plan (Version): Applied Informatics (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Science Study plan (Version): Applied Informatics (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Science Study plan (Version): Applied Informatics (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Science Study plan (Version): Applied Informatics (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer