Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2025/2026

Programming and Algorithmics 2

Display time-table
Code Completion Credits Range Language
BI-PA2.21 Z,ZK 7 2P+1R+2C Czech
Course guarantor:
Jan Trávníček
Lecturer:
Radek Hušek, Jan Trávníček, Ladislav Vagner
Tutor:
David Bernhauer, Zdeněk Buk, Tomáš Dejmek, Jarmila Fialová, Filip Gregor, Albert Havliček, Radek Hušek, Roman Jelínek, František Kovář, Jaroslav Kříž, Matěj Kříž, Jan Matoušek, Petr Pauš, Tomáš Pecka, Kryštof Píštěk, Matěj Ptáček, Matyáš Rak, Ondřej Štorc, Jakub Švec, Jan Trávníček, Oliver Tušla, Ladislav Vagner
Supervisor:
Department of Theoretical Computer Science
Synopsis:

Students know the instruments of object-oriented programming and are able to use them for specifying and implementing abstract data types (stack, queue, enlargeable array, list, set, table). They learn these skills using the C++ programming language and are introduced to all C++ features needed in object-oriented programming (e.g., template programming, copying/moving of objects, operator overloading, inheritance, polymorphism).

Requirements:

Fundamentals of algorithmics and C.

Syllabus of lectures:

1. From C to C++, non-object-oriented extensions.

2. Programming styles, introduction to object-oriented programming.

3. Classes and objects in the C++ language.

4. Overloaded operators in C++.

5. Copying, copy constructor in C++.

6. Selected STL components.

7. Inheritance, polymorphism in C++.

8. Abstract classes in C++.

9. Class and function templates in C++.

10. Exceptions and exception handling in C++. Abstract data

types stack and queue in C++.

11. Abstract data types enlargeable array, list, set, and table in C++.

12. Associative data structures.

13. C++11 extensions.

Syllabus of tutorials:

1. Introduction to C++

2. OOP basics

3. Visibility, constructor, destructor, modules

4. Operator overloading

5. Shallow vs. deep copy

6. STL containers

7. Inheritance

8. Abstract methods

9. Fuction a class template

10. Exceptions and C++11

11. C++11

12. Practice (extra tasks)

12. Reserve

Study Objective:

The aim of the course is to teach students to use the means of object-oriented programming and use them in the specification and implementation of abstract data types with emphasis on implementation using link structures. The course is a compulsory subject of the program, which is followed by a number of other courses.

Study materials:

1. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. : Introduction to Algorithms (3rd Edition). MIT Press, 2016. ISBN 978-0262033848.

2. Brassard G., Bratley P. : Fundamentals of Algorithmics (3rd Edition). Pearson, 2015. ISBN 978-0133350685.

3. Sedgewick R. : Algorithms (4th Edition). Addison Wesley, 2011. ISBN 978-0321573513.

4. Sedgewick R. : Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching (3rd Edition). Addison-Wesley, 1998. ISBN 978-0201350883.

5. Virius M. : Programování v C++ - od základů k profesionálnímu použití. Grada, 2018. ISBN 978-80-271-0502-1.

Note:

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BIE-PA2/

Further information:
https://courses.fit.cvut.cz/BI-PA2/
Time-table for winter semester 2025/2026:
Time-table is not available yet
Time-table for summer semester 2025/2026:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
roomTK:BS
Hušek R.
09:15–10:45
(lecture parallel1)
Dejvice
roomT9:349
Pauš P.
Píštěk K.

14:30–16:00
Dejvice
roomT9:349

16:15–17:45
Dejvice
roomT9:105
Trávníček J.
14:30–16:00
(lecture parallel2)
Dejvice
Tue
roomT9:349
Švec J.
Ptáček M.

12:45–14:15
Dejvice
roomTK:PU1
Dejmek T.
Kovář F.

14:30–16:00
Dejvice
Wed
roomT9:349
Hušek R.
Buk Z.

09:15–10:45
Dejvice
roomT9:155
Vagner L.
16:15–17:45
EVEN WEEK

(parallel nr.1)
Dejvice
roomT9:105
Bernhauer D.
18:00–19:30
EVEN WEEK

(parallel nr.2)
Dejvice
roomTK:PU1
Pecka T.
Gregor F.

09:15–10:45
Dejvice
roomT9:155
Vagner L.
16:15–17:45
ODD WEEK

(parallel nr.3)
Dejvice
roomT9:349
Štorc O.
Švec J.

18:00–19:30
Dejvice
roomTK:PU1
Pecka T.
Havliček A.

11:00–12:30
Dejvice
roomT9:155
Vagner L.
14:30–16:00
(lecture parallel3)
Dejvice
roomT9:105
Bernhauer D.
18:00–19:30
ODD WEEK

(parallel nr.4)
Dejvice
Thu
roomTK:PU1
Rak M.
Fialová J.

12:45–14:15
Dejvice
roomT9:349
Kříž J.
Jelínek R.

16:15–17:45
Dejvice
roomT9:349
Kříž J.
Jelínek R.

18:00–19:30
Dejvice
roomT9:349
Hušek R.
Tušla O.

12:45–14:15
Dejvice
Fri
roomT9:349

09:15–10:45
Dejvice
roomT9:349
Matoušek J.
Kříž M.

14:30–16:00
Dejvice
roomT9:349
Matoušek J.
Kříž M.

16:15–17:45
Dejvice
The course is a part of the following study plans:
Data valid to 2026-02-15
For updated information see http://bilakniha.cvut.cz/en/predmet6692006.html