PV264 Seminar on programming in C++
Fakulta informatikypodzim 2023
- Rozsah
- 0/2/1. 3 kr. (plus ukončení). Ukončení: k.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
Mgr. Adam Matoušek (přednášející)
RNDr. Petr Ročkai, Ph.D. (přednášející)
Bc. Jakub Šárník (cvičící)
Mgr. František Bráblík (pomocník)
Ing. Oliver Šintaj (pomocník) - Garance
- RNDr. Nikola Beneš, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh seminárních/paralelních skupin
- PV264/01: Út 12:00–13:50 B130, N. Beneš, A. Matoušek, P. Ročkai, J. Šárník
PV264/02: Út 18:00–19:50 B011, N. Beneš, A. Matoušek, P. Ročkai, J. Šárník - Předpoklady
- PB161 Programování v jazyce C++
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 39 mateřských oborů, zobrazit
- Cíle předmětu
- The course builds on top of the basic C++ programming course, PB161. The goal of this course is to familiarise students with some of the more advanced parts of modern C++, focusing mainly on generic programming and metaprogramming facilities, and to further develop their C++ programming skills by solving various practical exercises. Students with an interest in a broader scope of C++ topics might want to enrol in PV294 (both courses can also be studied simultaneously).
- Výstupy z učení
- At the end of the course, the students should be able to: design and implement a variety of C++ programs on an intermediate level; understand and use the programming techniques of generic programming and metaprogramming supported by the newest ISO standards of C++; be able to read and maintain existing C++ code using these techniques.
- Osnova
- Generic programming, templates, concepts. Metaprogramming, compile-time evaluation, useful idioms.
- Literatura
- MEYERS, Scott. Effective modern C++. First edition. Beijing: O'Reilly, 2014, xv, 315. ISBN 9781491903995. info
- Výukové metody
- Seminars with practical exercises and programming homework. The primary language of communication in the seminars depends on the students' preferences. All course materials are in English.
- Metody hodnocení
- A scoring system based on homework, peer review, and activity during the seminars; final programming exam.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- Recommended reference guide: cppreference.com
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
PV264 Advanced Programming in C++
Fakulta informatikypodzim 2020
- Rozsah
- 2/2/0. 3 kr. (plus ukončení). Ukončení: k.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
Mgr. Lukáš Korenčik (cvičící)
RNDr. Jan Mrázek (cvičící)
RNDr. Vladimír Štill, Ph.D. (cvičící)
Mgr. Adam Matoušek (pomocník) - Garance
- RNDr. Nikola Beneš, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- Út 12:00–13:50 A318
- Rozvrh seminárních/paralelních skupin:
PV264/02: St 16:00–17:50 B130, L. Korenčik, J. Mrázek, V. Štill - Předpoklady
- PB161 Programování v jazyce C++
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 37 mateřských oborů, zobrazit
- Cíle předmětu
- The goal of this course is to expose students to advanced usage of the C++ programming language.
- Výstupy z učení
- 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.
- Osnova
- Introduction to the ISO C++17 and ISO C++20 standards
- Build process; 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
- Concepts
- The future of the standard library: Ranges
- Literatura
- MEYERS, Scott. Effective modern C++. First edition. Beijing: O'Reilly, 2014, xv, 315. ISBN 9781491903995. info
- Výukové metody
- 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).
- Metody hodnocení
- Two programming homework assignments, one group project in the second half of the semester (groups of up to three students), project presentation, peer review.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- Recommended reference guide: cppreference.com
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
PV264 Advanced Programming in C++
Fakulta informatikyjaro 2019
- Rozsah
- 2/2/0. 4 kr. (plus ukončení). Ukončení: k.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
RNDr. Vladimír Štill, Ph.D. (cvičící)
RNDr. Jan Mrázek (cvičící)
Mgr. Lukáš Korenčik (cvičící)
Mgr. Adam Matoušek (pomocník) - Garance
- doc. RNDr. Eva Hladká, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- Út 19. 2. až Út 14. 5. Út 16:00–17:50 D3
- Rozvrh seminárních/paralelních skupin:
PV264/02: St 16:00–17:50 B130, L. Korenčik, V. Štill - Předpoklady
- PB161 Programování v jazyce C++ && ( (! PB173 Vývoj aplikací v C/C++ ) || SOUHLAS )
The course is not open for students that have taken the Advanced C++ seminar group of PB173. - Omezení zápisu do předmětu
- Předmět je otevřen studentům libovolného oboru.
- Cíle předmětu
- 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.
- Osnova
- 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)
- Literatura
- MEYERS, Scott. Effective modern C++. First edition. Beijing: O'Reilly, 2014, xv, 315. ISBN 9781491903995. info
- Výukové metody
- 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).
- Metody hodnocení
- Two programming homeworks, one group project in the second half of the semester (groups of up to three students), project presentation.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- Recommended reference guide: cppreference.com
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
PV264 Advanced Programming in C++
Fakulta informatikyjaro 2018
- Rozsah
- 2/2/0. 4 kr. (plus ukončení). Ukončení: k.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
RNDr. Jan Mrázek (cvičící)
RNDr. Vladimír Štill, Ph.D. (cvičící) - Garance
- doc. RNDr. Eva Hladká, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- Po 16:00–17:50 D3
- Rozvrh seminárních/paralelních skupin:
PV264/02: Út 10:00–11:50 B130, N. Beneš, J. Mrázek, V. Štill - Předpoklady
- PB161 Programování v jazyce C++ && ( (! PB173 Vývoj aplikací v C/C++ ) || SOUHLAS )
The course is not open for students that have taken the Advanced C++ seminar group of PB173. - Omezení zápisu do předmětu
- Předmět je otevřen studentům libovolného oboru.
- Cíle předmětu
- 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.
- Osnova
- 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)
- Literatura
- MEYERS, Scott. Effective modern C++. First edition. Beijing: O'Reilly, 2014, xv, 315. ISBN 9781491903995. info
- Výukové metody
- 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).
- Metody hodnocení
- Two programming homeworks, one group project in the second half of the semester (groups of up to three students), project presentation.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- Recommended reference guide: cppreference.com
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
PV264 Advanced Programming in C++
Fakulta informatikyjaro 2017
- Rozsah
- 2/2/0. 4 kr. (plus ukončení). Ukončení: zk.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
RNDr. Jan Mrázek (cvičící)
RNDr. Vladimír Štill, Ph.D. (cvičící) - Garance
- doc. RNDr. Eva Hladká, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- St 12:00–13:50 A217, kromě St 10. 5.
- Rozvrh seminárních/paralelních skupin:
PV264/02: Čt 14:00–15:50 B130, N. Beneš, V. Štill - Předpoklady
- PB161 Programování v jazyce C++ && ( (! PB173 Vývoj aplikací v C/C++ ) || SOUHLAS )
The course is not open for students that have taken the Advanced C++ seminar group of PB173. - Omezení zápisu do předmětu
- Předmět je otevřen studentům libovolného oboru.
- Cíle předmětu
- 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.
- Osnova
- 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)
- Literatura
- MEYERS, Scott. Effective modern C++. First edition. Beijing: O'Reilly, 2014, xv, 315. ISBN 9781491903995. info
- Výukové metody
- 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).
- Metody hodnocení
- Two programming homeworks, one group project in the second half of the semester (groups of up to three students), project presentation, final written exam.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- Recommended reference guide: cppreference.com
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
PV264 Seminar on programming in C++
Fakulta informatikypodzim 2024
Předmět se v období podzim 2024 nevypisuje.
- Rozsah
- 0/2/1. 3 kr. (plus ukončení). Ukončení: k.
Vyučováno kontaktně - Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
Mgr. Adam Matoušek (přednášející)
RNDr. Petr Ročkai, Ph.D. (přednášející)
Bc. Jakub Šárník (cvičící)
Mgr. František Bráblík (pomocník)
Ing. Oliver Šintaj (pomocník) - Garance
- RNDr. Nikola Beneš, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Předpoklady
- PB161 Programování v jazyce C++
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 38 mateřských oborů, zobrazit
- Cíle předmětu
- The course builds on top of the basic C++ programming course, PB161. The goal of this course is to familiarise students with some of the more advanced parts of modern C++, focusing mainly on generic programming and metaprogramming facilities, and to further develop their C++ programming skills by solving various practical exercises. Students with an interest in a broader scope of C++ topics might want to enrol in PV294 (both courses can also be studied simultaneously).
- Výstupy z učení
- At the end of the course, the students should be able to: design and implement a variety of C++ programs on an intermediate level; understand and use the programming techniques of generic programming and metaprogramming supported by the newest ISO standards of C++; be able to read and maintain existing C++ code using these techniques.
- Osnova
- Generic programming, templates, concepts. Metaprogramming, compile-time evaluation, useful idioms.
- Literatura
- MEYERS, Scott. Effective modern C++. First edition. Beijing: O'Reilly, 2014, xv, 315. ISBN 9781491903995. info
- Výukové metody
- Seminars with practical exercises and programming homework. The primary language of communication in the seminars depends on the students' preferences. All course materials are in English.
- Metody hodnocení
- A scoring system based on homework, peer review, and activity during the seminars; final programming exam.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- Recommended reference guide: cppreference.com
- Další komentáře
- Předmět je vyučován jednou za dva roky.
Výuka probíhá každý týden.
PV264 Advanced Programming in C++
Fakulta informatikypodzim 2022
Předmět se v období podzim 2022 nevypisuje.
- Rozsah
- 2/2/0. 3 kr. (plus ukončení). Ukončení: k.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
Mgr. Lukáš Korenčik (cvičící)
RNDr. Jan Mrázek (cvičící)
RNDr. Vladimír Štill, Ph.D. (cvičící)
Mgr. Adam Matoušek (pomocník) - Garance
- RNDr. Nikola Beneš, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Předpoklady
- PB161 Programování v jazyce C++
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 39 mateřských oborů, zobrazit
- Cíle předmětu
- The goal of this course is to expose students to advanced usage of the C++ programming language.
- Výstupy z učení
- 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.
- Osnova
- Introduction to the ISO C++17 and ISO C++20 standards
- Build process; 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
- Concepts
- The future of the standard library: Ranges
- Literatura
- MEYERS, Scott. Effective modern C++. First edition. Beijing: O'Reilly, 2014, xv, 315. ISBN 9781491903995. info
- Výukové metody
- 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).
- Metody hodnocení
- Two programming homework assignments, one group project in the second half of the semester (groups of up to three students), project presentation, peer review.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- Recommended reference guide: cppreference.com
- Další komentáře
- Předmět je vyučován každoročně.
Výuka probíhá každý týden.
PV264 Advanced Programming in C++
Fakulta informatikypodzim 2021
Předmět se v období podzim 2021 nevypisuje.
- Rozsah
- 2/2/0. 3 kr. (plus ukončení). Ukončení: k.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
Mgr. Lukáš Korenčik (cvičící)
RNDr. Jan Mrázek (cvičící)
RNDr. Vladimír Štill, Ph.D. (cvičící)
Mgr. Adam Matoušek (pomocník) - Garance
- RNDr. Nikola Beneš, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Předpoklady
- PB161 Programování v jazyce C++
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 39 mateřských oborů, zobrazit
- Cíle předmětu
- The goal of this course is to expose students to advanced usage of the C++ programming language.
- Výstupy z učení
- 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.
- Osnova
- Introduction to the ISO C++17 and ISO C++20 standards
- Build process; 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
- Concepts
- The future of the standard library: Ranges
- Literatura
- MEYERS, Scott. Effective modern C++. First edition. Beijing: O'Reilly, 2014, xv, 315. ISBN 9781491903995. info
- Výukové metody
- 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).
- Metody hodnocení
- Two programming homework assignments, one group project in the second half of the semester (groups of up to three students), project presentation, peer review.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- Recommended reference guide: cppreference.com
- Další komentáře
- Předmět je vyučován každoročně.
Výuka probíhá každý týden.
PV264 Advanced Programming in C++
Fakulta informatikyjaro 2020
Předmět se v období jaro 2020 nevypisuje.
- Rozsah
- 2/2/0. 3 kr. (plus ukončení). Ukončení: k.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
RNDr. Jan Mrázek (cvičící)
RNDr. Vladimír Štill, Ph.D. (cvičící) - Garance
- RNDr. Nikola Beneš, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Předpoklady
- PB161 Programování v jazyce C++ && ( (! PB173 Vývoj aplikací v C/C++ ) || SOUHLAS )
The course is not open for students that have taken the Advanced C++ seminar group of PB173. - Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 37 mateřských oborů, zobrazit
- Cíle předmětu
- The goal of this course is to expose students to advanced usage of C++ programming language.
- Výstupy z učení
- 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.
- Osnova
- 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)
- Literatura
- MEYERS, Scott. Effective modern C++. First edition. Beijing: O'Reilly, 2014, xv, 315. ISBN 9781491903995. info
- Výukové metody
- 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).
- Metody hodnocení
- Two programming homeworks, one group project in the second half of the semester (groups of up to three students), project presentation, final written exam.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- Recommended reference guide: cppreference.com
- Další komentáře
- Předmět je vyučován každoročně.
Výuka probíhá každý týden.
- Statistika zápisu (nejnovější)