SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   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 2021
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
Teaching methods: full-time
Additional information: https://www.ksi.mff.cuni.cz/teaching/nprg041-web/
Note: enabled for web enrollment
Guarantor: RNDr. David Bednárek, 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: NPRX041, NPRG048
Is interchangeable with: NPRX041, NPRG029
Is complex co-requisite for: NPRG024
In complex pre-requisite: NSWI152, NSWI202, NSWX152
Annotation -
Last update: RNDr. Filip Zavoral, Ph.D. (28.01.2019)
Course of programming in C++. Knowledge and understanding of object-oriented programming and general programming skills are required prior to enrolling the course.
Course completion requirements -
Last update: RNDr. David Bednárek, Ph.D. (29.05.2023)

The condition for granting credit is the successful completion of a small practical test (90 min, typically in the last week of classes) and the successful submission of an individual programming project.

The small test follows the individual work of the students during the semester; previous participation in the classes is an advantage for the test.

The exam takes the form of a large practical test (210 min); success in the small practical test is required for admission to the exam.

Syllabus -
Last update: RNDr. Filip Zavoral, Ph.D. (28.01.2019)
  • 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

 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html