PB161 C++ Programming

Faculty of Informatics
Spring 2024
Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Taught in person.
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
RNDr. Petr Ročkai, Ph.D. (lecturer)
Bc. Matej Focko (seminar tutor)
Bc. Petr Kubica (seminar tutor)
Mgr. Jan Tušil (seminar tutor)
Vladimír Uhlík (seminar tutor)
Bc. František Bráblík (assistant)
Miroslav Gáll (assistant)
Tomáš Pavlík (assistant)
Tomáš Rohlínek (assistant)
Bc. Jindřich Sedláček (assistant)
Ján Václav (assistant)
RNDr. Martin Jonáš, Ph.D. (assistant)
Mgr. Lukáš Korenčik (assistant)
Mgr. Adam Matoušek (assistant)
Guaranteed by
RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Tue 12:00–13:50 D2
  • Timetable of Seminar Groups:
PB161/01: Mon 10:00–11:50 A219, J. Tušil
PB161/02: Fri 12:00–13:50 A219, M. Focko
PB161/03: Tue 18:00–19:50 A219, V. Uhlík
PB161/04: Wed 14:00–15:50 A219, P. Kubica
Prerequisites
PB006 Princ. of Prog Lang. and OOP
Basic knowledge of programming and algorithmics (to the extent covered by the courses IB111, IB002), low-level programming (PB071), programming language principles and OOP (PB006). Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 60 student(s).
Current registration and enrolment status: enrolled: 67/60, only registered: 0/60, only registered with preference (fields directly associated with the programme): 0/60
fields of study / plans the course is directly associated with
there are 66 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the basics of the C++ programming language as defined by ISO C++20. The course focuses on the languages's semantics, user-defined data types (classes), basic work with the standard library.
Learning outcomes
After finishing this course, a student should be able to:
- write simple C++ programs utilizing the tools of modern C++ as defined by ISO C++20;
- use the standard C++ library on a basic level;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles behind resource management (incl. memory management) in modern C++;
- understand how the principles of object-oriented programming are realised in C++;
- use exceptions in an efficient and reasonable way;
- follow best practice guidelines for C++ programming.
Syllabus
  • Introduction to the syntax and semantics of C++, value semantics, references, const.
  • Compound values and types, records (struct), basic compound types in the standard library.
  • Extending types with methods and operators, overloading.
  • The lifecycle of a value, ownership, constructors, destructors.
  • Raw pointers, smart pointers, ownership via pointers.
  • Inheritance, late binding, OOP polymorphism, virtual destructors.
  • Exception handling, the RAII principle, resource management.
  • Closures (“lambda functions”).
  • Sum types in the standard library.
  • Algorithms, both classic and new (the “ranges” part of the library).
  • String manipulation.
  • Formatting, input/output.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, three midterm programming tests, a programming exam.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Spring 2025
Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Taught in person.
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
RNDr. Petr Ročkai, Ph.D. (lecturer)
Bc. Matej Focko (seminar tutor)
Bc. Petr Kubica (seminar tutor)
Mgr. Jan Tušil (seminar tutor)
Vladimír Uhlík (seminar tutor)
Bc. František Bráblík (assistant)
Miroslav Gáll (assistant)
Tomáš Pavlík (assistant)
Tomáš Rohlínek (assistant)
Bc. Jindřich Sedláček (assistant)
Ján Václav (assistant)
RNDr. Martin Jonáš, Ph.D. (assistant)
Mgr. Lukáš Korenčik (assistant)
Mgr. Adam Matoušek (assistant)
Guaranteed by
RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Prerequisites
PB006 Princ. of Prog Lang. and OOP
Basic knowledge of programming and algorithmics (to the extent covered by the courses IB111, IB002), low-level programming (PB111), programming language principles and OOP (PB006). Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 60 student(s).
Current registration and enrolment status: enrolled: 0/60, only registered: 0/60, only registered with preference (fields directly associated with the programme): 0/60
fields of study / plans the course is directly associated with
there are 39 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the basics of the C++ programming language as defined by ISO C++20. The course focuses on the languages's semantics, user-defined data types (classes), basic work with the standard library.
Learning outcomes
After finishing this course, a student should be able to:
- write simple C++ programs utilizing the tools of modern C++ as defined by ISO C++20;
- use the standard C++ library on a basic level;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles behind resource management (incl. memory management) in modern C++;
- understand how the principles of object-oriented programming are realised in C++;
- use exceptions in an efficient and reasonable way;
- follow best practice guidelines for C++ programming.
Syllabus
  • Introduction to the syntax and semantics of C++, value semantics, references, const.
  • Compound values and types, records (struct), basic compound types in the standard library.
  • Extending types with methods and operators, overloading.
  • The lifecycle of a value, ownership, constructors, destructors.
  • Raw pointers, smart pointers, ownership via pointers.
  • Inheritance, late binding, OOP polymorphism, virtual destructors.
  • Exception handling, the RAII principle, resource management.
  • Closures (“lambda functions”).
  • Sum types in the standard library.
  • Algorithms, both classic and new (the “ranges” part of the library).
  • String manipulation.
  • Formatting, input/output.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, three midterm programming tests, a programming exam.
Language of instruction
Czech
Follow-Up Courses
Further Comments
The course is taught annually.
The course is taught: every week.
Listed among pre-requisites of other courses
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024.

PB161 C++ Programming

Faculty of Informatics
Spring 2023
Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Taught in person.
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
RNDr. Petr Ročkai, Ph.D. (lecturer)
Bc. František Bráblík (seminar tutor)
Bc. Matej Focko (seminar tutor)
Bc. Jakub Šárník (seminar tutor)
Vladimír Uhlík (seminar tutor)
Mgr. Lukáš Korenčik (assistant)
Bc. Tomáš Krchňák (assistant)
Bc. Dominik Tichý (assistant)
RNDr. Martin Jonáš, Ph.D. (assistant)
Mgr. Adam Matoušek (assistant)
Bc. Oliver Šintaj (assistant)
Guaranteed by
RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Tue 14. 2. to Tue 9. 5. Tue 12:00–13:50 D2
  • Timetable of Seminar Groups:
PB161/01: Tue 14. 2. to Tue 9. 5. Tue 16:00–17:50 A219, N. Beneš
PB161/02: Thu 16. 2. to Thu 11. 5. Thu 14:00–15:50 A219, F. Bráblík
PB161/03: Fri 17. 2. to Fri 12. 5. Fri 12:00–13:50 B130, M. Focko
PB161/04: Tue 14. 2. to Tue 9. 5. Tue 14:00–15:50 B011, J. Šárník
PB161/05: Tue 14. 2. to Tue 9. 5. Tue 18:00–19:50 A219, P. Ročkai
PB161/06: Tue 14. 2. to Tue 9. 5. Tue 10:00–11:50 B130, V. Uhlík
Prerequisites
PB071 Principles of low-level prog.
Basic knowledge of programming and algorithmics (to the extent covered by the courses IB111, IB002), low-level programming (PB071), programming language principles and OOP (PB006). Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 60 student(s).
Current registration and enrolment status: enrolled: 45/60, only registered: 0/60, only registered with preference (fields directly associated with the programme): 0/60
fields of study / plans the course is directly associated with
there are 66 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the basics of the C++ programming language as defined by ISO C++20. The course focuses on the languages's semantics, user-defined data types (classes), basic work with the standard library.
Learning outcomes
After finishing this course, a student should be able to:
- write simple C++ programs utilizing the tools of modern C++ as defined by ISO C++20;
- use the standard C++ library on a basic level;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles behind resource management (incl. memory management) in modern C++;
- understand how the principles of object-oriented programming are realised in C++;
- use exceptions in an efficient and reasonable way;
- follow best practice guidelines for C++ programming.
Syllabus
  • Introduction to the syntax and semantics of C++, value semantics, references, const.
  • Compound values and types, records (struct), basic compound types in the standard library.
  • Extending types with methods and operators, overloading.
  • The lifecycle of a value, ownership, constructors, destructors.
  • Raw pointers, smart pointers, ownership via pointers.
  • Inheritance, late binding, OOP polymorphism, virtual destructors.
  • Exception handling, the RAII principle, resource management.
  • Closures (“lambda functions”).
  • Sum types in the standard library.
  • Algorithms, both classic and new (the “ranges” part of the library).
  • String manipulation.
  • Formatting, input/output.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, three midterm programming tests, a programming exam.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Spring 2022
Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Taught in person.
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
RNDr. Petr Ročkai, Ph.D. (lecturer)
Bc. František Bráblík (seminar tutor)
Mgr. Jan Juračka (seminar tutor)
Mgr. Lukáš Korenčik (seminar tutor)
Bc. Tomáš Krchňák (seminar tutor)
Mgr. Patrick Ondika (seminar tutor)
Bc. Jakub Šárník (seminar tutor)
Bc. Michal Barnišin (assistant)
Bc. Martin Beľa (assistant)
Ing. Dávid Bolvanský (assistant)
Mgr. Jan Jedelský (assistant)
Bc. Martin Kozlovský (assistant)
Mgr. Adam Matoušek (assistant)
Bc. Vojtěch Nájemník (assistant)
Bc. Dominik Tichý (assistant)
Mgr. Šimon Varga (assistant)
Guaranteed by
RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Tue 15. 2. to Tue 10. 5. Tue 16:00–17:50 D2
  • Timetable of Seminar Groups:
PB161/N02: No timetable has been entered into IS. F. Bráblík
PB161/N06: No timetable has been entered into IS. P. Ročkai
PB161/N08: No timetable has been entered into IS. P. Ondika
PB161/01: Mon 14. 2. to Mon 9. 5. Mon 14:00–15:50 A219, N. Beneš
PB161/02: Thu 17. 2. to Thu 12. 5. Thu 12:00–13:50 A219, F. Bráblík
PB161/03: Mon 14. 2. to Mon 9. 5. Mon 16:00–17:50 A219, J. Juračka
PB161/04: Mon 14. 2. to Mon 9. 5. Mon 10:00–11:50 A219, L. Korenčik
PB161/05: Mon 14. 2. to Mon 9. 5. Mon 12:00–13:50 B130, T. Krchňák
PB161/06: Tue 15. 2. to Tue 10. 5. Tue 8:00–9:50 A219, P. Ročkai
PB161/07: Mon 14. 2. to Mon 9. 5. Mon 8:00–9:50 A219, J. Šárník
PB161/08: Fri 18. 2. to Fri 13. 5. Fri 12:00–13:50 A219, P. Ondika
Prerequisites
PB071 Principles of low-level prog.
Basic knowledge of programming and algorithmics (to the extent covered by the courses IB111, IB002), low-level programming (PB071), programming language principles and OOP (PB006). Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 65 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the C++ programming language as defined by ISO C++17. The course focuses on the languages's semantics, user-defined data types (classes), work with the standard library. The students shall also get acquainted with various programming paradigms in the language's scope: functional programming, OOP, generic programming and metaprogramming.
Learning outcomes
After finishing this course, a student should be able to:
- write C++ programs utilizing the tools of modern C++ as defined by ISO C++17;
- use a significant part of the standard C++ library;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles behind resource management (incl. memory management) in modern C++;
- understand how the principles of object-oriented programming are realised in C++;
- have a basic understanding of generic programming and metaprogramming via templates in C++;
- use exceptions in an efficient and reasonable way;
- follow best practices guidelines for C++ programming.
Syllabus
  • Introduction to the semantics of C++, classes, strings, vectors (dynamic arrays).
  • Value and reference semantics of C++, closures (anonymous functions, „lambdas“).
  • The standard library: algorithms, containers, iterators.
  • Function and method overloading, the type system of C++, objects, namespaces, access.
  • Input/output in C++, operator overloading.
  • Exceptions, resource management (RAII).
  • Memory management in modern C++, smart pointers.
  • The realisation of object-oriented programming in C++.
  • Generic programming with templates.
  • Metaprogramming with templates, various useful parts of the standard library.
  • The iterator concept in more detail, own iterators' implementation.
  • Conclusion, an outlook into the future (C++20).
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, a programming exam.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Spring 2021
Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Taught online.
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
RNDr. Petr Ročkai, Ph.D. (lecturer)
Bc. František Bráblík (seminar tutor)
Bc. Matej Focko (seminar tutor)
Mgr. Lukáš Korenčik (seminar tutor)
Bc. Tomáš Krchňák (seminar tutor)
Mgr. Roman Lacko (seminar tutor)
RNDr. Henrich Lauko, Ph.D. (seminar tutor)
RNDr. Jan Mrázek (seminar tutor)
Mgr. Jakub Novák (seminar tutor)
Mgr. Patrick Ondika (seminar tutor)
Mgr. Anna Řechtáčková (seminar tutor)
Mgr. Ondřej Svoboda (seminar tutor)
Bc. Jakub Šárník (seminar tutor)
RNDr. Vladimír Štill, Ph.D. (seminar tutor)
Mgr. Šimon Varga (seminar tutor)
Mgr. Zuzana Baranová (assistant)
Guaranteed by
RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 12:00–13:50 Virtuální místnost
  • Timetable of Seminar Groups:
PB161/01: No timetable has been entered into IS. F. Bráblík
PB161/02: No timetable has been entered into IS. M. Focko
PB161/03: No timetable has been entered into IS. L. Korenčik
PB161/04: No timetable has been entered into IS. R. Lacko
PB161/05: No timetable has been entered into IS. H. Lauko
PB161/06: No timetable has been entered into IS. J. Mrázek
PB161/07: No timetable has been entered into IS. P. Ročkai
PB161/08: No timetable has been entered into IS. A. Řechtáčková
PB161/09: No timetable has been entered into IS. O. Svoboda
PB161/10: No timetable has been entered into IS. J. Šárník
PB161/11: No timetable has been entered into IS. V. Štill
PB161/12: No timetable has been entered into IS. P. Ondika
PB161/13: No timetable has been entered into IS. T. Krchňák
PB161/14: No timetable has been entered into IS. Š. Varga
PB161/15: No timetable has been entered into IS. J. Novák
PB161/16: No timetable has been entered into IS.
Prerequisites
PB071 Principles of low-level prog.
Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 65 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the C++ programming language (as defined by ISO C++14) and the object-oriented programming principles (as implemented by C++). The course focuses mainly on using the standard library, efficient design of own data structures (classes), the principles of resource management, and the basic principles of object-oriented design.
Learning outcomes
After finishing this course, a student should be able to:
- write C++ programs utilizing the tools of modern C++ (as defined by ISO C++14);
- use a significant part of the standard C++ library;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles of object-oriented programming;
- design simple object-oriented architectures and implement them;
- use exceptions in an efficient and reasonable way;
- use modern development tools (IDE, debugger, version control, build automation tools, testing frameworks...);
- follow best practices guidelines for C++ programming.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Value and reference semantics of C++.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, one mid-semester written test, final programming exercise. The recommended completion is the exam in the form of a written test.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://www.fi.muni.cz/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Spring 2020
Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
RNDr. Petr Ročkai, Ph.D. (lecturer)
RNDr. Nikola Beneš, Ph.D. (assistant)
Mgr. Lukáš Korenčik (lecturer)
RNDr. Jan Mrázek (lecturer)
RNDr. Lukáš Ručka (lecturer)
RNDr. Vladimír Štill, Ph.D. (lecturer)
Mgr. Katarína Kejstová (seminar tutor)
Mgr. Roman Lacko (seminar tutor)
Mgr. Adam Matoušek (seminar tutor)
Mgr. Vendula Němcová (seminar tutor)
Mgr. Mária Švidroňová (seminar tutor)
Mgr. Jiří Weiser (seminar tutor)
Mgr. Zuzana Baranová (assistant)
RNDr. Marek Chalupa, Ph.D. (assistant)
Mgr. Áron Samuel Kovács (assistant)
Mgr. Peter Navrátil (assistant)
Mgr. Anna Řechtáčková (assistant)
RNDr. Vladimír Ulman, Ph.D. (assistant)
Guaranteed by
RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 17. 2. to Fri 15. 5. Tue 8:00–9:50 D1
  • Timetable of Seminar Groups:
PB161/01: Mon 17. 2. to Fri 15. 5. Tue 18:00–19:50 B130, K. Kejstová
PB161/02: Mon 17. 2. to Fri 15. 5. Wed 14:00–15:50 A219, L. Korenčik
PB161/03: Mon 17. 2. to Fri 15. 5. Fri 8:00–9:50 A219; and Fri 22. 5. 12:00–13:50 B130, R. Lacko
PB161/04: Mon 17. 2. to Fri 15. 5. Tue 14:00–15:50 A219, A. Matoušek
PB161/05: Fri 12:00–13:50 B130, A. Matoušek
PB161/06: Mon 17. 2. to Fri 15. 5. Thu 8:00–9:50 A219, M. Švidroňová
PB161/07: Mon 17. 2. to Fri 15. 5. Thu 14:00–15:50 A219, M. Švidroňová
PB161/08: Mon 17. 2. to Fri 15. 5. Fri 14:00–15:50 A219; and Fri 22. 5. 12:00–13:50 B130, V. Němcová
PB161/09: Mon 17. 2. to Fri 15. 5. Tue 10:00–11:50 A219, P. Ročkai
PB161/10: Mon 17. 2. to Fri 15. 5. Thu 10:00–11:50 B130, P. Ročkai
PB161/11: Mon 17. 2. to Fri 15. 5. Tue 12:00–13:50 B130, L. Ručka
PB161/12: Mon 17. 2. to Fri 15. 5. Tue 16:00–17:50 B130, L. Ručka
PB161/13: Mon 17. 2. to Fri 15. 5. Wed 18:00–19:50 A219, J. Weiser
Prerequisites
PB071 Principles of low-level prog.
Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 65 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the C++ programming language (as defined by ISO C++14) and the object-oriented programming principles (as implemented by C++). The course focuses mainly on using the standard library, efficient design of own data structures (classes), the principles of resource management, and the basic principles of object-oriented design.
Learning outcomes
After finishing this course, a student should be able to:
- write C++ programs utilizing the tools of modern C++ (as defined by ISO C++14);
- use a significant part of the standard C++ library;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles of object-oriented programming;
- design simple object-oriented architectures and implement them;
- use exceptions in an efficient and reasonable way;
- use modern development tools (IDE, debugger, version control, build automation tools, testing frameworks...);
- follow best practices guidelines for C++ programming.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Value and reference semantics of C++.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, one mid-semester written test, final programming exercise. The recommended completion is the exam in the form of a written test.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://www.fi.muni.cz/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2019
Extent and Intensity
2/2/0. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
Bc. Maroš Beťko (seminar tutor)
Mgr. Lukáš Korenčik (seminar tutor)
Mgr. Roman Lacko (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Mgr. Jiří Weiser (seminar tutor)
Bc. Roman Hajdúk (assistant)
RNDr. Marek Chalupa, Ph.D. (assistant)
Bc. Marek Chocholáček (assistant)
Mgr. Áron Samuel Kovács (assistant)
Mgr. Adam Matoušek (assistant)
Mgr. Vincent Mihalkovič (assistant)
RNDr. Jan Mrázek (assistant)
Mgr. Peter Navrátil (assistant)
Guaranteed by
RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Tue 18:00–19:50 B117
Prerequisites
PB071 Principles of low-level prog. && SOUHLAS
Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 65 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the C++ programming language (as defined by ISO C++14) and the object-oriented programming principles (as implemented by C++). The course focuses mainly on using the standard library, efficient design of own data structures (classes), the principles of resource management, and the basic principles of object-oriented design.
Learning outcomes
After finishing this course, a student should be able to:
- write C++ programs utilizing the tools of modern C++ (as defined by ISO C++14);
- use a significant part of the standard C++ library;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles of object-oriented programming;
- design simple object-oriented architectures and implement them;
- use exceptions in an efficient and reasonable way;
- use modern development tools (IDE, debugger, version control, build automation tools, testing frameworks...);
- follow best practices guidelines for C++ programming.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Value and reference semantics of C++.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, one mid-semester written test, final programming exercise. The recommended completion is the exam in the form of a written test.
Language of instruction
Czech
Follow-Up Courses
Further comments (probably available only in Czech)
Study Materials
The course is taught last offered.
Information on course enrolment limitations: V semestru podzim 2019 je předmět vypsán ve speciálním režimu, viz níže.
Listed among pre-requisites of other courses
Teacher's information
https://www.fi.muni.cz/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2018
Extent and Intensity
2/2/0. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
Mgr. Roman Lacko (seminar tutor)
Mgr. Katarína Kejstová (seminar tutor)
Bc. Miroslav Cambel (seminar tutor)
Mgr. Peter Navrátil (seminar tutor)
Bc. Maroš Beťko (seminar tutor)
Bc. Dominik Gmiterko (seminar tutor)
Bc. Roman Hajdúk (seminar tutor)
Mgr. Matej Hulín (seminar tutor)
Bc. Marek Chocholáček (seminar tutor)
Bc. Dominik Jochec (seminar tutor)
Mgr. Jan Koniarik (seminar tutor)
Mgr. Lukáš Korenčik (seminar tutor)
Mgr. Áron Samuel Kovács (seminar tutor)
Mgr. Adam Matoušek (seminar tutor)
Mgr. Jan Plhák (seminar tutor)
Mgr. Denis Varga (seminar tutor)
RNDr. Jan Mrázek (assistant)
Mgr. Jan Tušil (assistant)
Mgr. Jiří Weiser (assistant)
Mgr. Vincent Mihalkovič (assistant)
Mgr. Matúš Talčík (assistant)
Mgr. Tomáš Brukner (assistant)
RNDr. Marek Chalupa, Ph.D. (assistant)
Mgr. Michal Mikloš (assistant)
RNDr. Lukáš Ručka (assistant)
Mgr. Peter Stanko (assistant)
RNDr. Vladimír Štill, Ph.D. (assistant)
Guaranteed by
doc. RNDr. Eva Hladká, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Tue 16:00–17:50 D1
  • Timetable of Seminar Groups:
PB161/Demo: Wed 12:00–13:50 D1, N. Beneš
PB161/00: No timetable has been entered into IS.
PB161/01: Thu 16:00–17:50 B130, R. Hajdúk, R. Lacko, A. Matoušek
PB161/02: Fri 10:00–11:50 B130, M. Hulín, J. Koniarik, R. Lacko
PB161/03: Tue 18:00–19:50 B117, Tue 18:00–19:50 B116, M. Beťko, M. Cambel, M. Chocholáček
PB161/04: Wed 18:00–19:50 B130, D. Gmiterko, K. Kejstová, J. Plhák
PB161/05: Thu 12:00–13:50 B117, Thu 12:00–13:50 B116, D. Jochec, P. Navrátil, D. Varga
PB161/06: Thu 10:00–11:50 B130, N. Beneš, L. Korenčik, Á. Kovács
Prerequisites
PB071 Principles of low-level prog.
Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 27 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the C++ programming language (as defined by ISO C++14) and the object-oriented programming principles (as implemented by C++). The course focuses mainly on using the standard library, efficient design of own data structures (classes), the principles of resource management, and the basic principles of object-oriented design.
Learning outcomes
After finishing this course, a student should be able to:
- write C++ programs utilizing the tools of modern C++ (as defined by ISO C++14);
- use a significant part of the standard C++ library;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles of object-oriented programming;
- design simple object-oriented architectures and implement them;
- use exceptions in an efficient and reasonable way;
- use modern development tools (IDE, debugger, version control, build automation tools, testing frameworks...);
- follow best practices guidelines for C++ programming.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Value and reference semantics of C++.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, one mid-semester written test, final programming exercise. The recommended completion is the exam in the form of a written test.
Language of instruction
Czech
Follow-Up Courses
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://www.fi.muni.cz/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2017
Extent and Intensity
2/2/0. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
Mgr. Tomáš Brukner (assistant)
RNDr. Marek Chalupa, Ph.D. (assistant)
Mgr. Katarína Kejstová (assistant)
Mgr. Roman Lacko (seminar tutor)
RNDr. Jan Mrázek (assistant)
RNDr. Lukáš Ručka (seminar tutor)
Mgr. Peter Stanko (seminar tutor)
RNDr. Vladimír Štill, Ph.D. (assistant)
Mgr. Jan Tušil (seminar tutor)
Mgr. Jiří Weiser (assistant)
Bc. Maroš Beťko (seminar tutor)
Bc. Miroslav Cambel (seminar tutor)
Bc. Dominik Gmiterko (assistant)
Bc. Roman Hajdúk (seminar tutor)
Mgr. Matej Hulín (assistant)
Mgr. Lukáš Korenčik (seminar tutor)
Mgr. Áron Samuel Kovács (assistant)
Mgr. Adam Matoušek (assistant)
Mgr. Peter Navrátil (seminar tutor)
Mgr. Matúš Talčík (assistant)
Mgr. Jan Plhák (assistant)
Mgr. Michal Mikloš (assistant)
RNDr. Jiří Glozar (seminar tutor)
Guaranteed by
doc. RNDr. Eva Hladká, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 8:00–9:50 D3
  • Timetable of Seminar Groups:
PB161/Demo: Tue 8:00–9:50 D1, N. Beneš
PB161/01: Wed 18:00–19:50 B130, R. Lacko, P. Navrátil
PB161/02: Tue 10:00–11:50 B130, L. Korenčik, J. Tušil
PB161/03: Tue 12:00–13:50 B130, R. Hajdúk, J. Tušil
PB161/04: Wed 10:00–11:50 B130, M. Beťko, R. Lacko
PB161/05: Thu 16:00–17:50 B117, Thu 16:00–17:50 B116, M. Cambel, P. Stanko
Prerequisites
PB071 Principles of low-level prog. || SOUHLAS
Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 27 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the C++ programming language (as defined by ISO C++14) and the object-oriented programming principles (as implemented by C++). The course focuses mainly on using the standard library, efficient design of own data structures (classes), the principles of resource management, and the basic principles of object-oriented design.
Learning outcomes
After finishing this course, a student should be able to:
- write C++ programs utilizing the tools of modern C++ (as defined by ISO C++14);
- use a significant part of the standard C++ library;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles of object-oriented programming;
- design simple object-oriented architectures and implement them;
- use exceptions in an efficient and reasonable way;
- use modern development tools (IDE, debugger, version control, build automation tools, testing frameworks...);
- follow best practices guidelines for C++ programming.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Value and reference semantics of C++.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, one mid-semester written test, final programming exercise. The recommended completion is the exam in the form of a written test.
Language of instruction
Czech
Follow-Up Courses
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://www.fi.muni.cz/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2016
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
Mgr. Tomáš Brukner (seminar tutor)
RNDr. Marek Chalupa, Ph.D. (seminar tutor)
Miroslav Jaroš (seminar tutor)
Mgr. Katarína Kejstová (seminar tutor)
Mgr. Roman Lacko (seminar tutor)
Mgr. Michal Mikloš (seminar tutor)
RNDr. Jan Mrázek (seminar tutor)
Mgr. Jiří Novotný (seminar tutor)
Bc. Filip Procházka (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Mgr. Peter Stanko (seminar tutor)
RNDr. Vladimír Štill, Ph.D. (seminar tutor)
Mgr. Jan Tušil (seminar tutor)
Mgr. Jiří Weiser (seminar tutor)
RNDr. Jiří Glozar (seminar tutor)
Guaranteed by
doc. RNDr. Eva Hladká, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Tue 8:00–9:50 D3
  • Timetable of Seminar Groups:
PB161/01: Mon 14:00–17:50 B130
PB161/02: Wed 10:00–15:50 B116, Wed 10:00–15:50 B117
Prerequisites
PB071 Introduction to the C language || SOUHLAS
Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 27 fields of study the course is directly associated with, display
Course objectives
At the end of the course students should be able to:
understand the principles of object oriented programming;
design simple object oriented architectures and implement them;
understand and use basic C++ syntax according to the ISO C++03 standard (and parts of ISO C++11/14);
use standard C++ library;
annotate source code with respect to automatically generated documentation;
use modern development tools (IDE, debugger, version control, testing frameworks...);
follow best practices guidelines for C++ programming;
compile programs both under Unix and Windows.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Value and reference semantics of C++.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, one mid-semester written test, final programming exercise. The recommended completion is the exam in the form of a written test.
Language of instruction
Czech
Follow-Up Courses
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://www.fi.muni.cz/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2015
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
doc. RNDr. Petr Švenda, Ph.D. (lecturer)
Mgr. Tomáš Brukner (seminar tutor)
RNDr. Jiří Glozar (seminar tutor)
Miroslav Jaroš (seminar tutor)
Mgr. Jan Juráň (seminar tutor)
Mgr. Roman Lacko (seminar tutor)
Mgr. Michal Mikloš (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Mgr. Jiří Weiser (seminar tutor)
Mgr. Jiří Novotný (assistant)
Mgr. Marek Osvald (assistant)
Mgr. Peter Stanko (assistant)
Mgr. Desana Daxnerová (assistant)
Mgr. Ján Bella (assistant)
Mgr. Pavel Kajaba (assistant)
Mgr. Matej Evin (assistant)
Guaranteed by
doc. RNDr. Eva Hladká, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 12:00–13:50 D3
  • Timetable of Seminar Groups:
PB161/T01: Mon 9:20–11:15 114, Thu 24. 9. to Tue 22. 12. Thu 11:00–12:55 114, J. Glozar, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
PB161/01: Mon 16:00–17:50 A219, N. Beneš
PB161/02: Thu 16:00–17:50 A219, M. Jaroš
PB161/03: Wed 10:00–11:50 A219, T. Brukner
PB161/04: Fri 8:00–9:50 B117, J. Plhák
PB161/05: Thu 18:00–19:50 A219, M. Jaroš
PB161/06: Thu 12:00–13:50 B117, L. Ručka
PB161/07: Tue 14:00–15:50 B116, R. Lacko
PB161/08: Wed 18:00–19:50 B117, J. Weiser
PB161/09: Wed 12:00–13:50 B116, J. Weiser
PB161/10: Thu 18:00–19:50 B117, L. Ručka
PB161/11: Tue 16:00–17:50 A219, R. Lacko
PB161/12: Thu 8:00–9:50 A215, M. Mikloš
PB161/13: Thu 10:00–11:50 A215, J. Juráň
PB161/14: Thu 14:00–15:50 B117, J. Juráň
Prerequisites
PB071 Introduction to the C language || SOUHLAS
Students are also required to have user experience with Unix OS, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 27 fields of study the course is directly associated with, display
Course objectives
At the end of the course students should be able to:
Understand to principles of object oriented programming.
Design simple object oriented architectures and implement them.
Understand and use basic C++ syntax according to ANSI norm.
Use common C++ libraries, especially STL.
Annotate source code with respect to automatically generated documentation.
Use modern development tools (IDE, debugger, version control...).
Follow best practices guidelines for C++ programming.
Compile programs both under Unix and Windows.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
During the whole semester, student will undertake 5 programming homework, one written tests and one final programming exercise. 95 points are required to pass the course in addition to successful completion of requirements of practical exercises.
The students are working on given homework (usually finalized at home or in computer lab). Homework are awarded by point according to given criteria. Recommended finalization is exam, which is maintained as test questionnaire on computer. Precondition for undertake exam is to have awarded credit from practical exercises and autonomously programmed final assignment. Classification is based on points gathered from exercises, test questionnaire and final assignment. Participation on practical exercises is mandatory, unless teacher allows for exception (e.g., based on student exceptional knowledge of the subject).
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://cecko.eu/public/pb161
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2014
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
doc. RNDr. Petr Švenda, Ph.D. (lecturer)
RNDr. Jiří Glozar (seminar tutor)
Mgr. Jan Juráň (seminar tutor)
Mgr. Marek Klučár (seminar tutor)
Mgr. Michal Mikloš (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
RNDr. Marek Vinkler, Ph.D. (seminar tutor)
Mgr. Jiří Weiser (seminar tutor)
Mgr. Ján Bella (assistant)
Mgr. Tomáš Brukner (assistant)
Miroslav Jaroš (assistant)
Mgr. Pavel Kajaba (assistant)
RNDr. David Klaška (assistant)
Mgr. Lenka Kuníková (assistant)
Mgr. Marek Osvald (assistant)
Mgr. Milan Pánik (assistant)
Mgr. Peter Stanko (assistant)
Mgr. Ing. Tomáš Svoboda (assistant)
Guaranteed by
doc. RNDr. Eva Hladká, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 16:00–17:50 D1
  • Timetable of Seminar Groups:
PB161/T01: Mon 15. 9. to Fri 19. 12. Mon 11:20–12:55 Učebna S7 (18), Wed 17. 9. to Fri 19. 12. Wed 14:20–15:55 Učebna S7 (18), J. Glozar, P. Švenda, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
PB161/01: Tue 8:00–9:50 A219, M. Vinkler
PB161/02: Fri 8:00–9:50 A219, M. Vinkler
PB161/03: Wed 8:00–9:50 A219, M. Klučár
PB161/04: Tue 14:00–15:50 B116, P. Švenda
PB161/05: Wed 16:00–17:50 B117, J. Weiser
PB161/06: Thu 16:00–17:50 B116, J. Juráň
PB161/07: Tue 18:00–19:50 B116, L. Ručka
PB161/08: Wed 10:00–11:50 B116, M. Klučár
PB161/09: Thu 12:00–13:50 B117, M. Klučár
PB161/10: Fri 12:00–13:50 B116, L. Ručka
PB161/11: Thu 18:00–19:50 B204, J. Weiser
PB161/12: Tue 12:00–13:50 C511, M. Mikloš
PB161/13: Thu 14:00–15:50 B116, J. Juráň
Prerequisites
PB071 Introduction to the C language || SOUHLAS
Students are also required to have user experience with Unix OS, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 27 fields of study the course is directly associated with, display
Course objectives
At the end of the course students should be able to:
Understand to principles of object oriented programming.
Design simple object oriented architectures and implement them.
Understand and use basic C++ syntax according to ANSI norm.
Use common C++ libraries, especially STL.
Annotate source code with respect to automatically generated documentation.
Use modern development tools (IDE, debugger, version control...).
Follow best practices guidelines for C++ programming.
Compile programs both under Unix and Windows.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
During the whole semester, student will undertake 5 programming homework, two written tests and one final programming exercise. 50 % of points are required to pass the course in addition to successful competition of final programming exercise.
In seminars, the students create programs requested (usually finishing it as individual work). The programs are rated in a point scale using previously given criteria. Preferably the course is ended by an examination made by a computer testing program. To be allowed to pass the test, the student must obtain the credit from the seminar and produce a final program. The classification depends on the quality of work in the seminar, quality of the final program and the result of the test.
If the student chose finishing the course with a seminar credit only, he has to finish the programs given throughout the term. No final program nor the test is required in that case.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://cecko.eu/public/pb161
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2013
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
doc. RNDr. Petr Švenda, Ph.D. (lecturer)
Mgr. Ondřej Bouda (seminar tutor)
Mgr. Tomáš Brukner (seminar tutor)
RNDr. Jiří Glozar (seminar tutor)
Mgr. Jan Juráň (seminar tutor)
Bc. Dalibor Matura (seminar tutor)
Mgr. Michal Mikloš (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
RNDr. Marek Vinkler, Ph.D. (seminar tutor)
Mgr. Jiří Weiser (seminar tutor)
Mgr. Ján Bella (assistant)
Bc. Jan Bilík (assistant)
Bc. Čestmír Kalina (assistant)
RNDr. David Klaška (assistant)
Mgr. Lenka Kuníková (assistant)
Mgr. Marek Osvald (assistant)
Mgr. Milan Pánik (assistant)
Mgr. Lubomír Sedlář (assistant)
Mgr. Ing. Tomáš Svoboda (assistant)
Guaranteed by
doc. RNDr. Vlastislav Dohnal, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 14:00–15:50 D3
  • Timetable of Seminar Groups:
PB161/T01: Wed 18. 9. to Fri 20. 12. Wed 14:00–15:55 Učebna S10 (56), Thu 19. 9. to Fri 20. 12. Thu 13:00–14:55 Učebna S10 (56), J. Glozar, P. Švenda, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
PB161/01: Wed 14:00–15:50 C525, M. Vinkler
PB161/02: Fri 8:00–9:50 B130, M. Mikloš
PB161/03: Thu 14:00–15:50 B130, J. Juráň
PB161/04: Fri 12:00–13:50 B130, D. Matura
PB161/05: Wed 12:00–13:50 B116, M. Vinkler
PB161/06: Wed 8:00–9:50 B117, L. Ručka
PB161/07: Thu 16:00–17:50 B116, J. Juráň
PB161/08: Mon 18:00–19:50 B116, J. Juráň
PB161/09: Mon 18:00–19:50 B117, T. Brukner
PB161/10: Fri 10:00–11:50 B117, D. Matura
PB161/11: Wed 18:00–19:50 B117, L. Ručka
PB161/12: Tue 8:00–9:50 B116, J. Weiser
PB161/13: Thu 12:00–13:50 B117, O. Bouda
PB161/14: Thu 10:00–11:50 C525, O. Bouda
PB161/15: Thu 18:00–19:50 B116, M. Mikloš
PB161/16: Thu 8:00–9:50 B117, J. Weiser
PB161/17: Tue 14:00–15:50 B117, P. Švenda
Prerequisites
PB071 Introduction to the C language || SOUHLAS
Students are also required to have user experience with Unix OS, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 27 fields of study the course is directly associated with, display
Course objectives
At the end of the course students should be able to:
Understand to principles of object oriented programming.
Design simple object oriented architectures and implement them.
Understand and use basic C++ syntax according to ANSI norm.
Use common C++ libraries, especially STL.
Annotate source code with respect to automatically generated documentation.
Use modern development tools (IDE, debugger, version control...).
Follow best practices guidelines for C++ programming.
Compile programs both under Unix and Windows.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
During the whole semester, student will undertake 5 programming homework, two written tests and one final programming exercise. 50 % of points are required to pass the course in addition to successful competition of final programming exercise.
In seminars, the students create programs requested (usually finishing it as individual work). The programs are rated in a point scale using previously given criteria. Preferably the course is ended by an examination made by a computer testing program. To be allowed to pass the test, the student must obtain the credit from the seminar and produce a final program. The classification depends on the quality of work in the seminar, quality of the final program and the result of the test.
If the student chose finishing the course with a seminar credit only, he has to finish the programs given throughout the term. No final program nor the test is required in that case.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://cecko.eu/public/pb161
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2012
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
doc. RNDr. Petr Švenda, Ph.D. (lecturer)
Mgr. Martin Bezděka (seminar tutor)
Mgr. Tomáš Brukner (seminar tutor)
RNDr. Jiří Glozar (seminar tutor)
Mgr. Jan Juráň (seminar tutor)
Mgr. Vít Klouček (seminar tutor)
Mgr. Marek Klučár (seminar tutor)
Mgr. Petr Pilař (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
RNDr. Ondřej Strnad, Ph.D. (seminar tutor)
RNDr. Šimon Tóth (seminar tutor)
RNDr. Marek Vinkler, Ph.D. (seminar tutor)
Mgr. Jiří Weiser (seminar tutor)
Bc. Jan Bilík (assistant)
RNDr. David Klaška (assistant)
Mgr. Michal Mikloš (assistant)
Mgr. Ing. Tomáš Svoboda (assistant)
RNDr. Vladimír Štill, Ph.D. (assistant)
Mgr. Jiří Zárevúcky (assistant)
Guaranteed by
prof. RNDr. Luděk Matyska, CSc.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 14:00–15:50 D1
  • Timetable of Seminar Groups:
PB161/T01A: Mon 12:00–13:55 Učebna S6 (20), J. Glozar, P. Švenda
PB161/T01AA: Wed 19. 9. to Fri 21. 12. Wed 9:00–10:55 Učebna S6 (20), J. Glozar, P. Švenda
PB161/01: Tue 8:00–9:50 B130, M. Klučár
PB161/02: Tue 18:00–19:50 B204, T. Brukner
PB161/03: Wed 12:00–13:50 B117, J. Juráň
PB161/04: Wed 12:00–13:50 B130, P. Pilař
PB161/05: Wed 18:00–19:50 B130, M. Bezděka
PB161/06: Thu 8:00–9:50 B116, M. Vinkler
PB161/07: Thu 10:00–11:50 B116, M. Vinkler
PB161/08: Thu 12:00–13:50 B116, M. Bezděka
PB161/09: Thu 12:00–13:50 B130, J. Juráň
PB161/10: Thu 14:00–15:50 B130, J. Juráň
PB161/11: Fri 8:00–9:50 B130, L. Ručka
PB161/12: Fri 10:00–11:50 B130, L. Ručka
PB161/13: Fri 12:00–13:50 B130, J. Weiser
PB161/14: Fri 12:00–13:50 B116
PB161/15: Tue 12:00–13:50 B116, P. Švenda
PB161/16: Mon 18:00–19:50 B311, J. Weiser
PB161/17: Mon 16:00–17:50 B130, Š. Tóth
Prerequisites
PB071 Introduction to the C language || SOUHLAS
Students are also required to have user experience with Unix OS, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 27 fields of study the course is directly associated with, display
Course objectives
At the end of the course students should be able to:
Understand to principles of object oriented programming.
Design simple object oriented architectures and implement them.
Understand and use basic C++ syntax according to ANSI norm.
Use common C++ libraries, especially STL.
Annotate source code with respect to automatically generated documentation.
Use modern development tools (IDE, debugger, version control...).
Follow best practices guidelines for C++ programming.
Compile programs both under Unix and Windows.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
In seminars, the students create programs requested (usually finishing it as individual work). The programs are rated in a point scale using previously given criteria. Preferably the course is ended by an examination made by a computer testing program. To be allowed to pass the test, the student must obtain the credit from the seminar and produce a final program. The classification depends on the quality of work in the seminar, quality of the final program and the result of the test.
If the student chose finishing the course with a seminar credit only, he has to finish the programs given throughout the term. No final program nor the test is required in that case.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://cecko.eu/public/pb161
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2011
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
doc. RNDr. Petr Švenda, Ph.D. (lecturer)
Mgr. Tomáš Brukner (seminar tutor)
Mgr. Jan Juráň (seminar tutor)
Mgr. Vít Klouček (seminar tutor)
Mgr. Petr Pilař (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
RNDr. Ondřej Strnad, Ph.D. (seminar tutor)
RNDr. Šimon Tóth (seminar tutor)
RNDr. Marek Vinkler, Ph.D. (seminar tutor)
Mgr. Rastislav Tisovčík (assistant)
Guaranteed by
prof. RNDr. Luděk Matyska, CSc.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 14:00–15:50 D3
  • Timetable of Seminar Groups:
PB161/01: Thu 16:00–17:50 B116, O. Strnad
PB161/02: Thu 14:00–15:50 B130, Š. Tóth
PB161/03: Wed 17:00–18:50 B130, P. Pilař
PB161/04: Tue 14:00–15:50 B311, V. Klouček
PB161/05: Tue 16:00–17:50 B311, V. Klouček
PB161/06: Thu 8:00–9:50 B116, P. Švenda
PB161/07: Thu 10:00–11:50 B116, J. Juráň
PB161/08: Thu 12:00–13:50 B116, J. Juráň
PB161/09: Thu 14:00–15:50 B117, M. Vinkler
PB161/10: Wed 12:00–13:50 A107, J. Juráň
PB161/11: Thu 18:00–19:50 B117, O. Strnad
PB161/12: Fri 8:00–9:50 B116, M. Vinkler
PB161/13: Fri 10:00–11:50 B116, P. Pilař
PB161/14: Fri 12:00–13:50 B116, L. Ručka
PB161/16: Fri 14:00–15:50 A104, L. Ručka
Prerequisites
PB071 Introduction to the C language || SOUHLAS
Students are also required to have user experience with Unix OS, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 27 fields of study the course is directly associated with, display
Course objectives
At the end of the course students should be able to:
Understand to principles of object oriented programming.
Design simple object oriented architectures and implement them.
Understand and use basic C++ syntax according to ANSI norm.
Use common C++ libraries, especially STL.
Annotate source code with respect to automatically generated documentation.
Use modern development tools (IDE, debugger, version control...).
Follow best practices guidelines for C++ programming.
Compile programs both under Unix and Windows.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
In seminars, the students create programs requested (usually finishing it as individual work). The programs are rated in a point scale using previously given criteria. Preferably the course is ended by an examination made by a computer testing program. To be allowed to pass the test, the student must obtain the credit from the seminar and produce a final program. The classification depends on the quality of work in the seminar, quality of the final program and the result of the test.
If the student chose finishing the course with a seminar credit only, he has to finish the programs given throughout the term. No final program nor the test is required in that case.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2010
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
doc. RNDr. Petr Švenda, Ph.D. (lecturer)
RNDr. Šimon Tóth (lecturer)
Mgr. Ondřej Bouda (seminar tutor)
Martin Hradil (seminar tutor)
Mgr. Jan Juráň (seminar tutor)
Mgr. Vít Klouček (seminar tutor)
RNDr. Ondřej Strnad, Ph.D. (seminar tutor)
Bc. Martin Vlach (seminar tutor)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 14:00–15:50 D3
  • Timetable of Seminar Groups:
PB161/01: Tue 18:00–19:50 B117, M. Hradil
PB161/02: Wed 12:00–13:50 B117, O. Bouda
PB161/03: Wed 16:00–17:50 B117, V. Klouček
PB161/04: Thu 8:00–9:50 B116, P. Švenda
PB161/05: Thu 18:00–19:50 B117, M. Vlach
PB161/06: Fri 8:00–9:50 B116, J. Juráň
PB161/07: Thu 18:00–19:50 A104, O. Strnad
PB161/08: Wed 14:00–15:50 B311, O. Bouda
PB161/09: Thu 18:00–19:50 B130, J. Juráň, Š. Tóth
PB161/10: Tue 18:00–19:50 B130, Š. Tóth
PB161/11: Fri 10:00–11:50 B130, Š. Tóth
PB161/12: Fri 12:00–13:50 B117, P. Švenda
PB161/13: Tue 14:00–15:50 B130, Š. Tóth
PB161/14: Thu 17:00–17:50 B116, O. Strnad
PB161/15: Tue 9:00–9:50 B116, M. Vlach
PB161/16: Fri 8:00–9:50 B130, Š. Tóth
Prerequisites
Students are expected to to have knowledge of the C language (as covered by PB071 course). Students are also required to have user experience with Unix OS, as homework is submited and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 27 fields of study the course is directly associated with, display
Course objectives
At the end of the course students should be able to:
Understand to principles of object oriented programming.
Design simple object oriented architectures and implement them.
Understand and use basic C++ syntax according to ANSI norm.
Use common C++ libraries, especially STL.
Annotate source code with respect to automatically generated documentation.
Use modern development tools (IDE, debugger, version control...).
Follow best practices guidelines for C++ programming.
Compile programs both under Unix and Windows.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
In seminars, the students create programs requested (usually finishing it as individual work). The programs are rated in a point scale using previously given criteria. Preferably the course is ended by an examination made by a computer testing program. To be allowed to pass the test, the student must obtain the credit from the seminar and produce a final program. The classification depends on the quality of work in the seminar, quality of the final program and the result of the test.
If the student chose finishing the course with a seminar credit only, he has to finish the programs given throughout the term. No final program nor the test is required in that case.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2009
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
Ing. Jan Kučera (lecturer)
doc. RNDr. Petr Švenda, Ph.D. (lecturer)
RNDr. Mgr. Jaroslav Bayer (seminar tutor)
Mgr. Ondřej Bouda (seminar tutor)
Mgr. et Mgr. Miroslav Cupák (seminar tutor)
Mgr. Pavel Černohorský (seminar tutor)
Mgr. Zbyněk Diviš (seminar tutor)
Mgr. Jan Hegr (seminar tutor)
Mgr. Vít Klouček (seminar tutor)
Mgr. Bc. Adam Libuša (seminar tutor)
Bc. Martin Moráček (seminar tutor)
Mgr. Michal Strehovský (seminar tutor)
RNDr. Ondřej Strnad, Ph.D. (seminar tutor)
RNDr. Šimon Tóth (seminar tutor)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 14:00–15:50 D2
  • Timetable of Seminar Groups:
PB161/01: Mon 18:00–19:50 B130, J. Bayer, Š. Tóth
PB161/02: Tue 8:00–9:50 B130, J. Bayer, Š. Tóth
PB161/03: Wed 12:00–13:50 B130, J. Bayer, P. Švenda, Š. Tóth
PB161/04: Wed 8:00–9:50 B130, J. Bayer, Š. Tóth
PB161/05: Tue 14:00–14:50 B116, J. Kučera
PB161/06: Tue 15:00–15:50 B116, P. Švenda
PB161/07: Tue 18:00–18:50 B116, V. Klouček
PB161/08: Tue 19:00–19:50 B116, Z. Diviš
PB161/09: Wed 18:00–18:50 B116, M. Cupák
PB161/10: Wed 19:00–19:50 B116, A. Libuša
PB161/11: Thu 8:00–8:50 B116, P. Černohorský
PB161/12: Thu 9:00–9:50 B116, M. Moráček
PB161/13: Thu 14:00–14:50 B116, O. Strnad
PB161/14: Thu 15:00–15:50 B116, O. Bouda
PB161/16: Fri 13:00–13:50 B116, P. Černohorský
Prerequisites
Knowledge of programming language C (to the extent covered by PB071 course) is supposed. User level knowledge of the Unix OS is also supposed (practical exercises are performed under Unix).
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 25 fields of study the course is directly associated with, display
Course objectives
Students will learn how to write programs in ANSI C++ using the object oriented approach. The language is covered in sufficient details but not to full extent. Stress is laid on the practical work of students under Unix-like OS.
Syllabus
  • History of C++, standards, compilers.
  • Basic features of C++ (with respect to C).
  • Procedural vs. Object programming methodologies.
  • User defined data types. Classes in C++. Class components. Encapsulation.
  • Constructors and destructors. Inheritance and polymorphism.
  • Casting objects. Dynamic memory allocation. Automatic and class pointers. Name spaces.
  • Input and output in C++.
  • Exceptions and handling them. Safe constructors.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Java as compared to C++. Further OO languages.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
In seminars, the students create programs requested (usu. one per week, finishing it as individual work). The programs are rated in a point scale using previously given criteria. Preferably the course is ended by an examination made by a computer testing program. To be allowed to pass the test, the student must obtain the credit from the seminar and produce a final program. The classification depends on the quality of work in the seminar, quality of the final program and the result of the test. If the student choses finishing the course with a seminar credit only, he has to finish the programs given througout the term. No final program nor the test is required in that case.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/jkucera/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2008
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
Ing. Jan Kučera (lecturer)
RNDr. Mgr. Jaroslav Bayer (seminar tutor)
Mgr. Pavel Černohorský (seminar tutor)
Mgr. Zbyněk Diviš (seminar tutor)
Mgr. Jan Hegr (seminar tutor)
Mgr. Vít Klouček (seminar tutor)
Mgr. Bc. Adam Libuša (seminar tutor)
Bc. Martin Moráček (seminar tutor)
Mgr. Michal Strehovský (seminar tutor)
RNDr. Šimon Tóth (seminar tutor)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 14:00–15:50 D3
  • Timetable of Seminar Groups:
PB161/01: Mon 16:00–17:50 B130, J. Bayer, Š. Tóth
PB161/02: Tue 8:00–9:50 B130, J. Bayer, Š. Tóth
PB161/03: Mon 16:00–16:50 B117, J. Kučera
PB161/04: Mon 17:00–17:50 B117, M. Moráček
PB161/05: Tue 16:00–16:50 B116, M. Strehovský
PB161/06: Tue 17:00–17:50 B116, M. Strehovský
PB161/07: Tue 18:00–18:50 B117, V. Klouček
PB161/08: Tue 19:00–19:50 B117, V. Klouček
PB161/09: Wed 12:00–12:50 B117, A. Libuša
PB161/10: Wed 13:00–13:50 B117, P. Černohorský
PB161/11: Wed 14:00–14:50 B117, P. Černohorský
PB161/12: Wed 15:00–15:50 B117, Z. Diviš
PB161/13: Thu 8:00–8:50 B117, Z. Diviš
PB161/14: Thu 9:00–9:50 B117, A. Libuša
PB161/15: Wed 8:00–9:50 B130, J. Bayer, Š. Tóth
PB161/16: No timetable has been entered into IS. J. Hegr
Prerequisites
Knowledge of programming language C (to the extent covered by PB071 course) is supposed. User level knowledge of the Unix OS is also supposed (practical exercises are performed under Unix).
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 26 fields of study the course is directly associated with, display
Course objectives
Students will learn how to write programs in ANSI C++ using the object oriented approach. The language is covered in sufficient details but not to full extent. Stress is laid on the practical work of students under Unix-like OS.
Syllabus
  • History of C++, standards, compilers.
  • Basic features of C++ (with respect to C).
  • Procedural vs. Object programming methodologies.
  • User defined data types. Classes in C++. Class components. Encapsulation.
  • Constructors and destructors. Inheritance and polymorphism.
  • Casting objects. Dynamic memory allocation. Automatic and class pointers. Name spaces.
  • Input and output in C++.
  • Exceptions and handling them. Safe constructors.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Java as compared to C++. Further OO languages.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Assessment methods
In seminars, the students create programs requested (usu. one per week, finishing it as individual work). The programs are rated in a point scale using previously given criteria. Preferably the course is ended by an examination made by a computer testing program. To be allowed to pass the test, the student must obtain the credit from the seminar and produce a final program. The classification depends on the quality of work in the seminar, quality of the final program and the result of the test. If the student choses finishing the course with a seminar credit only, he has to finish the programs given througout the term. No final program nor the test is required in that case.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/jkucera/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2007
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
Ing. Jan Kučera (lecturer)
RNDr. Mgr. Jaroslav Bayer (seminar tutor)
Mgr. Libor Caha, PhD. (seminar tutor)
Mgr. Zbyněk Diviš (seminar tutor)
Mgr. Marek Grác, Ph.D. (seminar tutor)
Mgr. Martin Jirman (seminar tutor)
Mgr. Michal Měrka (seminar tutor)
Mgr. Lukáš Rýdlo (seminar tutor)
Mgr. Michal Strehovský (seminar tutor)
Mgr. Karel Štěpka, Ph.D. (seminar tutor)
RNDr. Šimon Tóth (seminar tutor)
RNDr. Marek Vinkler, Ph.D. (seminar tutor)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 12:00–13:50 D2
  • Timetable of Seminar Groups:
PB161/01: Mon 14:00–15:50 B130, J. Bayer, Š. Tóth
PB161/02: Wed 12:00–13:00 B130, J. Bayer, Š. Tóth
PB161/03: Mon 14:00–14:50 B116, J. Kučera
PB161/06: Tue 15:00–15:50 B311, J. Kučera
PB161/07: Tue 16:00–16:50 B311, J. Kučera
PB161/08: Wed 10:00–10:50 B311, M. Grác
PB161/09: Wed 18:00–18:50 B116, J. Kučera
PB161/11: Thu 16:00–16:50 B117, M. Měrka
PB161/12: Thu 17:00–17:50 B117, M. Vinkler
PB161/13: Thu 18:00–18:50 B117, M. Strehovský
Prerequisites
Knowledge of programming language C (to the extent covered by PB071 course) is supposed. User level knowledge of the Unix OS is also supposed (practical exercises are performed under Unix).
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 26 fields of study the course is directly associated with, display
Course objectives
Students will learn how to write programs in ANSI C++ using the object oriented approach. The language is covered in sufficient details but not to full extent. Stress is laid on the practical work of students under Unix-like OS.
Syllabus
  • History of C++, standards, compilers.
  • Basic features of C++ (with respect to C).
  • Procedural vs. Object programming methodologies.
  • User defined data types. Classes in C++. Class components. Encapsulation.
  • Constructors and destructors. Inheritance and polymorphism.
  • Casting objects. Dynamic memory allocation. Automatic and class pointers. Name spaces.
  • Input and output in C++.
  • Exceptions and handling them. Safe constructors.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Java as compared to C++. Further OO languages.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Assessment methods (in Czech)
Ve cvičeních studenti samostatně vytvářejí zadané programy (jeden týdně, obvykle s nutností dokončit doma nebo v počítačové učebně). Zpracování příkladů je bodováno podle předem oznámených kritérií. Doporučené ukončení předmětu je zkouška, která probíhá formou testu prováděného na počítači. Podmínkou připuštění k testu je získání zápočtu ze cvičení a samostatné úspěšné zpracování závěrečného příkladu. Klasifikace závisí na bodovém hodnocení práce ve cvičeních, kvalitě zpracovaného závěrečného příkladu a na výsledku testu.
V případě ukončení zápočtem stačí v patřičných termínech odevzdat řádně zpracované příklady zadávané v průběhu semestru. Závěrečný příklad ani test se u tohoto způsobu ukončení nevypracovává.
Účast ve cvičeních je povinná, pokud cvičící učitel nepovolí výjimku (ta se povoluje je výjimečně, zejména tehdy, kdyby cvičení muselo probíhat v počítačové učebně, kde je méně počítačů než studentů).
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/jkucera/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2006
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
Ing. Jan Kučera (lecturer)
Mgr. Pavol Babinčák (seminar tutor)
RNDr. Mgr. Jaroslav Bayer (seminar tutor)
Mgr. Pavel Černohorský (seminar tutor)
Mgr. Zbyněk Diviš (seminar tutor)
Mgr. Marek Grác, Ph.D. (seminar tutor)
Mgr. Petr Hubáček (seminar tutor)
Mgr. Václav Macinka (seminar tutor)
Mgr. Michal Měrka (seminar tutor)
Mgr. Lukáš Rýdlo (seminar tutor)
Mgr. Lukáš Strmiska (seminar tutor)
RNDr. Šimon Tóth (seminar tutor)
Mgr. Miroslav Warchil (seminar tutor)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 12:00–13:50 D3
  • Timetable of Seminar Groups:
PB161/01: Mon 18:00–18:50 B117, J. Kučera
PB161/02: Mon 19:00–19:50 X Datový projektor, Mon 19:00–19:50 B116, Š. Tóth
PB161/03: Tue 10:00–10:50 B116, J. Kučera
PB161/04: Tue 11:00–11:50 B116, P. Hubáček
PB161/05: Tue 14:00–14:50 B116, M. Warchil
PB161/06: Tue 15:00–15:50 B116, Z. Diviš
PB161/07: Wed 8:00–8:50 B117, L. Rýdlo
PB161/08: Wed 9:00–9:50 B117, L. Strmiska
PB161/09: Wed 10:00–10:50 B117, J. Kučera
PB161/10: Wed 11:00–11:50 B117, J. Bayer
PB161/11: Wed 12:00–12:50 B117, M. Měrka
PB161/12: Thu 14:00–14:50 B116, M. Grác
PB161/13: Thu 15:00–15:50 B116, V. Macinka
PB161/14: Fri 8:00–8:50 B116, P. Černohorský
PB161/16: Fri 12:00–12:50 B117, P. Babinčák
Prerequisites
! I070 Object-oriented Programming
Knowledge of programming language C (to the extent covered by PB071 course) is supposed. User level knowledge of the Unix OS is also supposed (practical exercises are performed under Unix).
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 15 fields of study the course is directly associated with, display
Course objectives
Students will learn how to write programs in ANSI C++ using the object oriented approach. The language is covered in sufficient details but not to full extent. Stress is laid on the practical work of students under Unix-like OS.
Syllabus
  • History of C++, standards, compilers.
  • Basic features of C++ (with respect to C).
  • Procedural vs. Object programming methodologies.
  • User defined data types. Classes in C++. Class components. Encapsulation.
  • Constructors and destructors. Inheritance and polymorphism.
  • Casting objects. Dynamic memory allocation. Automatic and class pointers. Name spaces.
  • Input and output in C++.
  • Exceptions and handling them. Safe constructors.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Java as compared to C++. Further OO languages.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Assessment methods (in Czech)
Ve cvičeních studenti samostatně vytvářejí zadané programy (jeden týdně, obvykle s nutností dokončit doma nebo v počítačové učebně). Zpracování příkladů je bodováno podle předem oznámených kritérií. Doporučené ukončení předmětu je zkouška, která probíhá formou testu prováděného na počítači. Podmínkou připuštění k testu je získání zápočtu ze cvičení a samostatné úspěšné zpracování závěrečného příkladu. Klasifikace závisí na bodovém hodnocení práce ve cvičeních, kvalitě zpracovaného závěrečného příkladu a na výsledku testu.
V případě ukončení zápočtem stačí v patřičných termínech odevzdat řádně zpracované příklady zadávané v průběhu semestru. Závěrečný příklad ani test se u tohoto způsobu ukončení nevypracovává.
Účast ve cvičeních je povinná, pokud cvičící učitel nepovolí výjimku (ta se povoluje je výjimečně, zejména tehdy, kdyby cvičení muselo probíhat v počítačové učebně, kde je méně počítačů než studentů).
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/jkucera/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2005
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
Ing. Jan Kučera (lecturer)
Mgr. Pavol Babinčák (seminar tutor)
RNDr. Peter Bezděk, Ph.D. (seminar tutor)
Ing. Bc. Rudolf Bryša, Ph.D. (seminar tutor)
Mgr. Viktor Bulánek (seminar tutor), Ing. Jan Kučera (deputy)
Mgr. Pavel Černohorský (seminar tutor)
Mgr. Zbyněk Diviš (seminar tutor)
Mgr. Vít Klouček (seminar tutor)
Mgr. Jozef Krchňavý (seminar tutor)
Mgr. Kamil Páral (seminar tutor)
RNDr. Šimon Suchomel, Ph.D. (seminar tutor)
RNDr. Vladimír Ulman, Ph.D. (seminar tutor)
RNDr. Šimon Tóth (alternate examiner)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 12:00–13:50 D1
  • Timetable of Seminar Groups:
PB161/01: Mon 14:00–14:50 B117, J. Kučera
PB161/02: Mon 15:00–15:50 B117, P. Bezděk
PB161/03: Mon 19:00–19:50 B117, P. Bezděk
PB161/04: Tue 12:00–12:50 B116, V. Bulánek
PB161/05: Tue 13:00–13:50 B116, V. Bulánek
PB161/06: Tue 18:00–18:50 B311, J. Kučera
PB161/08: Wed 10:00–10:50 B116, Š. Tóth
PB161/09: Wed 11:00–11:50 B116, P. Babinčák
PB161/10: Wed 12:00–12:50 B116, J. Kučera
PB161/11: Wed 13:00–13:50 B116, V. Klouček
PB161/12: Wed 18:00–18:50 B311, Z. Diviš
PB161/13: Wed 19:00–19:50 B311, Š. Suchomel
PB161/14: Thu 8:00–8:50 B311, R. Bryša
PB161/15: Thu 9:00–9:50 B311, P. Černohorský
PB161/16: Thu 16:00–16:50 B116, K. Páral
PB161/17: Thu 17:00–17:50 B116, Z. Diviš
PB161/18: Fri 8:00–8:50 B311, J. Krchňavý
PB161/19: Fri 9:00–9:50 B311, V. Ulman
Prerequisites
! I070 Object-oriented Programming
Knowledge of programming language C (to the extent covered by PB071 course) is supposed. User level knowledge of the Unix OS is also supposed (practical exercises are performed under Unix).
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 15 fields of study the course is directly associated with, display
Course objectives
Students will learn how to write programs in ANSI C++ using the object oriented approach. The language is covered in sufficient details but not to full extent. Stress is laid on the practical work of students under Unix-like OS.
Syllabus
  • History of C++, standards, compilers.
  • Basic features of C++ (with respect to C).
  • Procedural vs. Object programming methodologies.
  • User defined data types. Classes in C++. Class components. Encapsulation.
  • Constructors and destructors. Inheritance and polymorphism.
  • Casting objects. Dynamic memory allocation. Automatic and class pointers. Name spaces.
  • Input and output in C++.
  • Exceptions and handling them. Safe constructors.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Java as compared to C++. Further OO languages.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Assessment methods (in Czech)
Ve cvičeních studenti samostatně vytvářejí zadané programy (jeden týdně, obvykle s nutností dokončit doma nebo v počítačové učebně). Zpracování příkladů je bodováno podle předem oznámených kritérií. Doporučené ukončení předmětu je zkouška, která probíhá formou testu prováděného na počítači. Podmínkou připuštění k testu je získání zápočtu ze cvičení a samostatné úspěšné zpracování závěrečného příkladu. Klasifikace závisí na bodovém hodnocení práce ve cvičeních, kvalitě zpracovaného závěrečného příkladu a na výsledku testu.
V případě ukončení zápočtem stačí v patřičných termínech odevzdat řádně zpracované příklady zadávané v průběhu semestru. Závěrečný příklad ani test se u tohoto způsobu ukončení nevypracovává.
Účast ve cvičeních je povinná, pokud cvičící učitel nepovolí výjimku (ta se povoluje je výjimečně, zejména tehdy, kdyby cvičení muselo probíhat v počítačové učebně, kde je méně počítačů než studentů).
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/jkucera/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2004
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
Ing. Jan Kučera (lecturer)
RNDr. Mgr. Jaroslav Bayer (seminar tutor)
RNDr. Peter Bezděk, Ph.D. (seminar tutor)
Mgr. Viktor Bulánek (seminar tutor)
Mgr. Zbyněk Diviš (seminar tutor)
Mgr. Marek Grác, Ph.D. (seminar tutor)
Mgr. Věroslav Kaplan, Ph.D. (seminar tutor)
Mgr. Aleš Kosina (seminar tutor)
Mgr. Radovan Panák (seminar tutor)
RNDr. Šimon Tóth (seminar tutor)
Jiří Unčovský (seminar tutor)
Guaranteed by
doc. Ing. Jan Staudek, CSc.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 16:00–17:50 D1, Mon 16:00–17:50 D3
  • Timetable of Seminar Groups:
PB161/01: Mon 18:00–18:50 B116, Z. Diviš
PB161/02: Mon 19:00–19:50 B116, Z. Diviš
PB161/03: Tue 8:00–8:50 B311, M. Grác
PB161/04: Tue 9:00–9:50 B311, J. Kučera
PB161/05: Tue 12:00–12:50 B117, J. Kučera
PB161/06: Tue 13:00–13:50 B117, P. Bezděk
PB161/07: Tue 14:00–14:50 B311, V. Kaplan
PB161/08: Tue 15:00–15:50 B311, J. Unčovský
PB161/09: Wed 10:00–10:50 B311, J. Kučera
PB161/10: Wed 11:00–11:50 B311, J. Bayer
PB161/11: Wed 16:00–16:50 B117, V. Bulánek
PB161/12: Wed 17:00–17:50 B117, M. Grác
PB161/13: Wed 18:00–18:50 B117, Š. Tóth
PB161/14: Wed 19:00–19:50 B117, V. Bulánek
PB161/15: Thu 14:00–14:50 B116, A. Kosina
PB161/16: Thu 15:00–15:50 B116, A. Kosina
PB161/17: Thu 16:00–16:50 B116, Š. Tóth
PB161/18: Thu 17:00–17:50 B116, J. Bayer
PB161/19: Fri 9:00–9:50 B311, R. Panák
Prerequisites
! I070 Object-oriented Programming
Knowledge of programming language C (to the extent covered by PB071 course) is supposed. User level knowledge of the Unix OS is also supposed (practical exercises are performed under Unix).
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 15 fields of study the course is directly associated with, display
Course objectives
Students will learn how to write programs in ANSI C++ using the object oriented approach. The language is covered in sufficient details but not to full extent. Stress is laid on the practical work of students under Unix-like OS.
Syllabus
  • History of C++, standards, compilers.
  • Basic features of C++ (with respect to C).
  • Procedural vs. Object programming methodologies.
  • User defined data types. Classes in C++. Class components. Encapsulation.
  • Constructors and destructors. Inheritance and polymorphism.
  • Casting objects. Dynamic memory allocation. Automatic and class pointers. Name spaces.
  • Input and output in C++.
  • Exceptions and handling them. Safe constructors.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Java as compared to C++. Further OO languages.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Assessment methods (in Czech)
Ve cvičeních studenti samostatně vytvářejí zadané programy (jeden týdně, obvykle s nutností dokončit doma nebo v počítačové učebně). Zpracování příkladů je bodováno podle předem oznámených kritérií. Doporučené ukončení předmětu je zkouška, která probíhá formou testu prováděného na počítači. Podmínkou připuštění k testu je získání zápočtu ze cvičení a samostatné úspěšné zpracování závěrečného příkladu. Klasifikace závisí na bodovém hodnocení práce ve cvičeních, kvalitě zpracovaného závěrečného příkladu a na výsledku testu.
V případě ukončení zápočtem stačí v patřičných termínech odevzdat řádně zpracované příklady zadávané v průběhu semestru. Závěrečný příklad ani test se u tohoto způsobu ukončení nevypracovává.
Účast ve cvičeních je povinná, pokud cvičící učitel nepovolí výjimku (ta se povoluje je výjimečně, zejména tehdy, kdyby cvičení muselo probíhat v počítačové učebně, kde je méně počítačů než studentů).
Language of instruction
Czech
Further comments (probably available only in Czech)
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/jkucera/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2003
Extent and Intensity
2/1. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
Ing. Jan Kučera (lecturer)
Mgr. Viktor Bulánek (seminar tutor)
Mgr. Zbyněk Diviš (seminar tutor)
Mgr. Marek Grác, Ph.D. (seminar tutor)
Mgr. Filip Höfer (seminar tutor)
Mgr. Věroslav Kaplan, Ph.D. (seminar tutor)
Mgr. Aleš Kosina (seminar tutor)
Mgr. Milan Matlák (seminar tutor)
Mgr. Juraj Michálek (seminar tutor)
Mgr. Michal Mucha (seminar tutor)
Mgr. Martin Šárfy (seminar tutor)
RNDr. Pavel Šimeček, Ph.D. (seminar tutor)
Jiří Unčovský (seminar tutor)
Bc. Karel Vaigl (seminar tutor)
Mgr. Luděk Vodička (seminar tutor)
Guaranteed by
doc. Ing. Jan Staudek, CSc.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 14:00–15:50 TA (Aula Technická)
  • Timetable of Seminar Groups:
PB161/01: Tue 8:00–8:50 B117, V. Bulánek
PB161/02: Tue 9:00–9:50 B117, P. Šimeček
PB161/03: Tue 12:00–12:50 B116, M. Šárfy
PB161/04: Tue 12:00–12:50 B117, J. Unčovský
PB161/05: Tue 13:00–13:50 B116, M. Šárfy
PB161/06: Tue 13:00–13:50 B117, J. Unčovský
PB161/07: Tue 14:00–14:50 B117, J. Kučera
PB161/08: Tue 15:00–15:50 B117, J. Kučera
PB161/09: Tue 16:00–16:50 B116, M. Mucha
PB161/10: Tue 17:00–17:50 B116, M. Mucha
PB161/11: Tue 18:00–18:50 B116, L. Vodička
PB161/12: Tue 19:00–19:50 B116, L. Vodička
PB161/13: Wed 8:00–8:50 B116, M. Grác
PB161/14: Wed 8:00–8:50 B117, K. Vaigl
PB161/15: Wed 9:00–9:50 B116, J. Michálek
PB161/16: Wed 9:00–9:50 B117, K. Vaigl
PB161/17: Wed 12:00–12:50 B117, A. Kosina
PB161/18: Wed 13:00–13:50 B117, A. Kosina
PB161/19: Thu 12:00–12:50 B116, V. Kaplan
PB161/20: Thu 13:00–13:50 B116, V. Kaplan
PB161/21: Thu 13:00–13:50 B117, M. Matlák
PB161/22: Thu 14:00–14:50 B117, Z. Diviš
PB161/23: Thu 15:00–15:50 B117, Z. Diviš
PB161/25: Fri 9:00–9:50 B117, F. Höfer
PB161/26: Fri 10:00–10:50 B117, V. Bulánek
PB161/27: Fri 11:00–11:50 B117, J. Kučera
PB161/28: Fri 12:00–12:50 B117, J. Kučera
PB161/29: Fri 13:00–13:50 B117, A. Kosina
Prerequisites (in Czech)
! I070 Object-oriented Programming
U studentů se předpokládá znalost programování v jazyce C v rozsahu předmětu PB071. Současně se předpokládá znalost operačního systému Unix na uživatelské úrovni, neboť cvičení i tvorba příkladu ke zkoušce probíhá pod Unixem.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 8 fields of study the course is directly associated with, display
Course objectives (in Czech)
V předmětu se student naučí psát programy v jazyce C++ podle normy ANSI s použitím metodiky objektově orientovaného programování. Jazyk je probrán poměrně podrobně, ale rozhodně ne vyčerpávajícím způsobem. Důraz je kladen na praktickou práci studentů pod OS typu Unix.
Syllabus (in Czech)
  • Historie vývoje C++, standardy, kompilátory.
  • Základní prvky jazyka C++ (s přihlédnutím k C)
  • Procedurální versus objektové programování
  • Uživatelské datové typy. Třídy v C++. Komponenty tříd. Zapouzdření.
  • Konstruktory a destruktory. Dědičnost a polymorfismus.
  • Přetypování objektů. Dynamická alokace paměti. Automatické a třídní ukazatele. Prostory jmen.
  • Vstup a výstup v C++.
  • Výjimky a jejich ošetření. Bezpečné konstruktory.
  • Šablony. Standardní knihovna C++ a standardní knihovna šablon.
  • Knihovny pro numerické výpočty.
  • Java ve srovnání s C++. Další objektově orientované jazyky.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Assessment methods (in Czech)
Ve cvičeních studenti samostatně vytvářejí zadané programy (jeden týdně, obvykle s nutností dokončit doma nebo v počítačové učebně). Zpracování příkladů je bodováno podle předem oznámených kritérií. Doporučené ukončení předmětu je zkouška, která probíhá formou testu prováděného na počítači. Podmínkou připuštění k testu je získání zápočtu ze cvičení a samostatné úspěšné zpracování závěrečného příkladu. Klasifikace závisí na bodovém hodnocení práce ve cvičeních, kvalitě zpracovaného závěrečného příkladu a na výsledku testu.
V případě ukončení zápočtem stačí v patřičných termínech odevzdat řádně zpracované příklady zadávané v průběhu semestru. Závěrečný příklad ani test se u tohoto způsobu ukončení nevypracovává.
Účast ve cvičeních je povinná, pokud cvičící učitel nepovolí výjimku (ta se povoluje je výjimečně, zejména tehdy, kdyby cvičení muselo probíhat v počítačové učebně, kde je méně počítačů než studentů).
Language of instruction
Czech
Further comments (probably available only in Czech)
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/jkucera/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2002
Extent and Intensity
2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
Ing. Jan Kučera (lecturer)
Mgr. Věroslav Kaplan, Ph.D. (seminar tutor)
Mgr. David Kutálek (seminar tutor)
Mgr. Marek Libra (seminar tutor)
Mgr. Juraj Michálek (seminar tutor)
Mgr. Jakub Novák (seminar tutor)
Bc. Michal Podhorský (seminar tutor)
Jiří Unčovský (seminar tutor)
Bc. Karel Vaigl (seminar tutor)
Guaranteed by
doc. Ing. Jan Staudek, CSc.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Tue 12:00–13:50 D1
  • Timetable of Seminar Groups:
PB161/01: Tue 16:00–16:50 B116, J. Kučera
PB161/02: Tue 17:00–17:50 B116, J. Unčovský
PB161/03: Wed 8:00–8:50 B116, J. Novák
PB161/04: Wed 9:00–9:50 B116, J. Novák
PB161/05: Wed 12:00–12:50 B116, M. Libra
PB161/06: Wed 12:00–12:50 B117, J. Michálek
PB161/07: Wed 13:00–13:50 B116, M. Libra
PB161/08: Wed 13:00–13:50 B117, J. Michálek
PB161/09: Wed 18:00–18:50 B116, K. Vaigl
PB161/10: Wed 19:00–19:50 B116, M. Podhorský
PB161/11: Thu 7:00–7:50 B311, D. Kutálek
PB161/12: Thu 12:00–12:50 B311, D. Kutálek
PB161/13: Fri 7:00–7:50 B311, V. Kaplan
PB161/14: Fri 8:00–8:50 B116, V. Kaplan
PB161/15: Tue 14:00–14:50 B311, J. Kučera
Prerequisites (in Czech)
! I070 Object-oriented Programming
U studentů se předpokládá znalost programování v jazyce C v rozsahu předmětu PB071. Současně se předpokládá znalost operačního systému Unix na uživatelské úrovni, neboť cvičení i zkouška probíhá pod Unixem.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 9 fields of study the course is directly associated with, display
Course objectives (in Czech)
V předmětu se student naučí psát programy v jazyce C++ podle normy ANSI s použitím metodiky objektově orientovaného programování. Jazyk je probrán poměrně podrobně, ale rozhodně ne vyčerpávajícím způsobem. Důraz je kladen na praktickou práci studentů pod OS typu Unix.
Syllabus (in Czech)
  • Historie vývoje C++, standardy, kompilátory.
  • Základní prvky jazyka C++ (s přihlédnutím k C)
  • Procedurální versus objektové programování
  • Uživatelské datové typy. Třídy v C++. Komponenty tříd. Zapouzdření.
  • Konstruktory a destruktory. Dědičnost a polymorfismus.
  • Přetypování objektů. Dynamická alokace paměti. Automatické a třídní ukazatele. Prostory jmen.
  • Vstup a výstup v C++.
  • Výjimky a jejich ošetření. Bezpečné konstruktory.
  • Šablony. Standardní knihovna C++ a standardní knihovna šablon.
  • Knihovny pro numerické výpočty.
  • Java ve srovnání s C++. Další objektově orientované jazyky.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Assessment methods (in Czech)
Předmět je ukončen zkouškou, která probíhá formou testu prováděného na počítači. Podmínkou připuštění k testu je získání zápočtu ze cvičení a samostatné úspěšné zpracování závěrečného příkladu. Klasifikace závisí na úspěšnosti práce ve cvičeních, kvalitě zpracovaného závěrečného příkladu a na výsledku testu.
V případě ukončení zápočtem stačí v patřičných termínech odevzdat řádně zpracované příklady zadávané v průběhu semestru. Závěrečný příklad ani test se u tohoto způsobu ukončení nevypracovává.
Účast ve cvičeních je povinná, pokud cvičící učitel nepovolí výjimku (ta se povoluje zejména tehdy, probíhá-li cvičení v počítačové učebně, kde je méně počítačů než studentů).
Language of instruction
Czech
Further comments (probably available only in Czech)
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/jkucera/pb161/
The course is also listed under the following terms Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2021

The course is not taught in Autumn 2021

Extent and Intensity
2/2/0. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Taught in person.
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
Bc. Maroš Beťko (seminar tutor)
Mgr. Lukáš Korenčik (seminar tutor)
Mgr. Roman Lacko (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Mgr. Jiří Weiser (seminar tutor)
Bc. Roman Hajdúk (assistant)
RNDr. Marek Chalupa, Ph.D. (assistant)
Bc. Marek Chocholáček (assistant)
Mgr. Áron Samuel Kovács (assistant)
Mgr. Adam Matoušek (assistant)
Mgr. Vincent Mihalkovič (assistant)
RNDr. Jan Mrázek (assistant)
Mgr. Peter Navrátil (assistant)
Guaranteed by
RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Prerequisites
PB071 Principles of low-level prog. && SOUHLAS
Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 65 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the C++ programming language (as defined by ISO C++14) and the object-oriented programming principles (as implemented by C++). The course focuses mainly on using the standard library, efficient design of own data structures (classes), the principles of resource management, and the basic principles of object-oriented design.
Learning outcomes
After finishing this course, a student should be able to:
- write C++ programs utilizing the tools of modern C++ (as defined by ISO C++14);
- use a significant part of the standard C++ library;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles of object-oriented programming;
- design simple object-oriented architectures and implement them;
- use exceptions in an efficient and reasonable way;
- use modern development tools (IDE, debugger, version control, build automation tools, testing frameworks...);
- follow best practices guidelines for C++ programming.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Value and reference semantics of C++.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, one mid-semester written test, final programming exercise. The recommended completion is the exam in the form of a written test.
Language of instruction
Czech
Follow-Up Courses
Further comments (probably available only in Czech)
Course is no more offered.
The course is taught: every week.
Information on course enrolment limitations: V semestru podzim 2019 je předmět vypsán ve speciálním režimu, viz níže.
Listed among pre-requisites of other courses
Teacher's information
https://www.fi.muni.cz/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

PB161 C++ Programming

Faculty of Informatics
Autumn 2020

The course is not taught in Autumn 2020

Extent and Intensity
2/2/0. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
RNDr. Nikola Beneš, Ph.D. (lecturer)
Bc. Maroš Beťko (seminar tutor)
Mgr. Lukáš Korenčik (seminar tutor)
Mgr. Roman Lacko (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Mgr. Jiří Weiser (seminar tutor)
Bc. Roman Hajdúk (assistant)
RNDr. Marek Chalupa, Ph.D. (assistant)
Bc. Marek Chocholáček (assistant)
Mgr. Áron Samuel Kovács (assistant)
Mgr. Adam Matoušek (assistant)
Mgr. Vincent Mihalkovič (assistant)
RNDr. Jan Mrázek (assistant)
Mgr. Peter Navrátil (assistant)
Guaranteed by
RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Prerequisites
PB071 Principles of low-level prog. && SOUHLAS
Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 65 fields of study the course is directly associated with, display
Course objectives
The goals of the course are to make the students familiar with the C++ programming language (as defined by ISO C++14) and the object-oriented programming principles (as implemented by C++). The course focuses mainly on using the standard library, efficient design of own data structures (classes), the principles of resource management, and the basic principles of object-oriented design.
Learning outcomes
After finishing this course, a student should be able to:
- write C++ programs utilizing the tools of modern C++ (as defined by ISO C++14);
- use a significant part of the standard C++ library;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles of object-oriented programming;
- design simple object-oriented architectures and implement them;
- use exceptions in an efficient and reasonable way;
- use modern development tools (IDE, debugger, version control, build automation tools, testing frameworks...);
- follow best practices guidelines for C++ programming.
Syllabus
  • Basic features of C++ (with respect to C). Standards, compilers.
  • Value and reference semantics of C++.
  • Basic principles of object oriented programming (OOP). Object programming methodologies.
  • User defined data types. Classes in C++. Class components.
  • OOP in C++. Encapsulation, Inheritance, Polymorphism.
  • Dynamic memory allocation. Dynamic memory management. Automatic and class pointers.
  • Input and output in C++.
  • Exception handling. Defensive programming.
  • Templates. Standard C++ library and standard template library. Libraries for numeric computing.
  • Application of object oriented design and design patterns in C++.
  • Other OOP languages. Java and C# as compared to C++.
Literature
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
  • MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
Bookmarks
https://is.muni.cz/ln/tag/FI:PB161!
Teaching methods
Teaching consists from theoretical lectures combined with the practical exercises and programming homework selected to practice topics from lectures.
Assessment methods
Homework assignments during the semester, one mid-semester written test, final programming exercise. The recommended completion is the exam in the form of a written test.
Language of instruction
Czech
Follow-Up Courses
Further comments (probably available only in Czech)
Course is no more offered.
The course is taught: every week.
Information on course enrolment limitations: V semestru podzim 2019 je předmět vypsán ve speciálním režimu, viz níže.
Listed among pre-requisites of other courses
Teacher's information
https://www.fi.muni.cz/pb161/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.
  • Enrolment Statistics (recent)