SubjectsSubjects(version: 978)
Course, academic year 2025/2026
   Login via CAS
Programming in C++ - NPRG041
Title: Programování v C++
Guaranteed by: Department of Software Engineering (32-KSI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2025
Semester: winter
E-Credits: 5
Hours per week, examination: winter s.:2/2, C+Ex [HT]
Capacity: 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/
Note: enabled for web enrollment
Guarantor: RNDr. David Bednárek, Ph.D.
RNDr. Filip Zavoral, Ph.D.
Teacher(s): RNDr. David Bednárek, Ph.D.
Mgr. Tomáš Faltín, Ph.D.
Mgr. Jiří Klepl
Ing. Pavel Koupil, Ph.D.
RNDr. Martin Svoboda, Ph.D.
Mgr. Petr Škoda, 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
Interchangeability : NPRX041
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 -

During the semester, students' progress will be repeatedly evaluated according to the teacher's instructions, mostly in the form of homework assignments. Successful and timely completion will be awarded with points.

The condition for awarding credit is obtaining at least 66% of the points awarded for work during the semester and successfully submitting the individual credit program.

To be admitted to the exam, it is necessary to obtain at least 66% of the points awarded for work during the semester.

The final grade for the subject is determined from one third based on the points obtained during the semester and from two thirds based on the exam result.

The exam takes the form of a practical test (210 min). Two retakes are allowed for the exam. The exam dates are shared across all classes of the course, regardless of language.

Last update: Bednárek David, RNDr., Ph.D. (16.09.2025)
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