SubjectsSubjects(version: 996)
Course, academic year 2026/2027
   
Programming in C++ - NPRG041
Title: Programování v C++
Form of teaching: lecture+practicals
Guaranteed by: Department of Software Engineering (32-KSI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2026
Duration in semesters: 1
Semester: winter
E-Credits: 5
Hours per week, examination: winter s.:2/2, C+Ex [HT]
Capacity: unlimited
Maximum number of enrolled students: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Additional information: https://teaching.mff.cuni.cz/nprg041-web/
Repeated enrollment: 2 / 2 / 2 / 2
Note: enabled for web enrollment
Guarantor: RNDr. David Bednárek, Ph.D.
RNDr. Filip Zavoral, Ph.D.
RNDr. Martin Svoboda, Ph.D.
Teacher(s): RNDr. David Bednárek, Ph.D.
Mgr. Tomáš Faltín, Ph.D.
Ing. Pavel Koupil, Ph.D.
RNDr. Miroslav Kratochvíl, Ph.D.
RNDr. Martin Svoboda, Ph.D.
RNDr. Filip Zavoral, Ph.D.
Class: Informatika Bc.
Classification: Informatics > Programming
Pre-requisite : {NPRG031 or NPRM045 or NOFY056 or NMIN102}, {NPRG031 or NPRM045 or NOFY056 or NMIN102}
Incompatibility : NPRX041, NUPA015
Interchangeability : NPRX041, NUPA015
Is co-requisite for: NPRG051, NPRX051
Is incompatible with: NPRG048, NPRX041, NUPA015
Is interchangeable with: NPRX041, NPRG029, NUPA015
Is complex co-requisite for: NPRG024
In complex pre-requisite: NSWI152, NSWI202
Annotation -
Course of programming in C++. Knowledge and understanding of object-oriented programming and general programming skills are required prior to enrolling the course.
Last update: Zavoral Filip, RNDr., Ph.D. (28.01.2019)
Course completion requirements -

To get credit, you need to meet the conditions set by the instructor and successfully submit your individual credit program by the deadline.

Getting credit isn’t required to take the exam.

The exam is oral with a written preparation.

The exam checks your understanding of the language’s principles, your ability to understand someone else’s code, explain how it works, spot any mistakes, and create your own code independently.

You’re allowed two retake attempts for the exam. Exam dates are the same for all exercise groups.

Last update: Bednárek David, RNDr., Ph.D. (10.09.2026)
Syllabus -
  • Modules, preprocessor, compilation, linking, loading
  • Data types, clases and objects
  • Object allocation and lifetime, reference vs. copying
  • Containers, iterators, algorithms
  • Basic template programming
  • Lambda, auto, and other important constructs
  • Dynamic alocation, plain and smart pointers
  • Constructors, destructors, copy/move methods, typical use-cases
  • Inheritance, virtual inheritance, virtual methods, conversions

Last update: Zavoral Filip, RNDr., Ph.D. (28.01.2019)
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html