Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2022/2023
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Programming and Algorithmics 2

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BI-PA2.21 Z,ZK 7 2P+1R+2C Czech
Garant předmětu:
Jan Trávníček
Lecturer:
Jan Trávníček, Ladislav Vagner, Josef Vogel
Tutor:
David Bernhauer, Daniel Breiner, Michal Dvořák, Michal Dvořák, Peter Guľa, Tomáš Heger, Klára Horáčková, Radek Hušek, Roman Jelínek, Martin Kos, František Kovář, Tomáš Krupička, Jaroslav Kříž, Jan Matoušek, Petr Pauš, Tomáš Pecka, Matyáš Rak, Róbert Selvek, Matej Stieranka, Otto Šleger, Milan Špinka, Petr Šťastný, Ondřej Štorc, Jan Trávníček, Ladislav Vagner, Josef Vogel
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:
Further information:
https://courses.fit.cvut.cz/BI-PA2/
Time-table for winter semester 2022/2023:
Time-table is not available yet
Time-table for summer semester 2022/2023:
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
roomTH:D-1122
Vagner L.
Trávníček J.

09:15–10:45
(lecture parallel1)
Thákurova 7 (FSv-budova A)
D1122
roomT9:349
Pecka T.
Breiner D.

14:30–16:00
Dejvice
NBFIT PC učebna
roomT9:155
Vogel J.
Trávníček J.

12:45–14:15
(lecture parallel2)
Dejvice
Posluchárna
Tue
roomT9:349
Hušek R.
Dvořák M.

11:00–12:30
Dejvice
NBFIT PC učebna
roomT9:349
Dvořák M.
Hušek R.

12:45–14:15
Dejvice
NBFIT PC učebna
roomT9:349
Pauš P.
Štorc O.

14:30–16:00
Dejvice
NBFIT PC učebna
roomT9:349
Jelínek R.
Kříž J.

16:15–17:45
Dejvice
NBFIT PC učebna
roomT9:349
Kříž J.
Jelínek R.

18:00–19:30
Dejvice
NBFIT PC učebna
roomT9:105
Vagner L.
12:45–14:15
(lecture parallel3)
Dejvice
Posluchárna
Wed
roomTK:PU1
Hušek R.
Špinka M.

09:15–10:45
Dejvice
NTK PU 1
roomT9:155
Vagner L.
14:30–16:00
EVEN WEEK

(parallel nr.1)
Dejvice
Posluchárna
roomT9:155
Vagner L.
Trávníček J.

16:15–17:45
EVEN WEEK

(parallel nr.2)
Dejvice
Posluchárna
roomTK:PU1
Hušek R.
Štorc O.

11:00–12:30
Dejvice
NTK PU 1
roomT9:155
Vagner L.
14:30–16:00
ODD WEEK

(parallel nr.3)
Dejvice
Posluchárna
roomT9:155
Vagner L.
Trávníček J.

16:15–17:45
ODD WEEK

(parallel nr.4)
Dejvice
Posluchárna
roomT9:349
Šťastný P.
Rak M.

12:45–14:15
Dejvice
NBFIT PC učebna
roomT9:349
Bernhauer D.
Heger T.

16:15–17:45
Dejvice
NBFIT PC učebna
Thu
roomT9:349
Selvek R.
Šleger O.

07:30–09:00
Dejvice
NBFIT PC učebna
roomT9:349
Šleger O.
Kos M.

09:15–10:45
Dejvice
NBFIT PC učebna
roomT9:349
Pauš P.
Breiner D.

11:00–12:30
Dejvice
NBFIT PC učebna
roomT9:349
Vogel J.
Kovář F.

12:45–14:15
Dejvice
NBFIT PC učebna
roomT9:349
Kovář F.
Vogel J.

14:30–16:00
Dejvice
NBFIT PC učebna
roomT9:349
Breiner D.
Stieranka M.

16:15–17:45
Dejvice
NBFIT PC učebna
Fri
roomT9:349
Dvořák M.
Schovánková K.

09:15–10:45
Dejvice
NBFIT PC učebna
roomTK:PU1
Matoušek J.
Rak M.

12:45–14:15
Dejvice
NTK PU 1
roomTK:PU1
Matoušek J.
Krupička T.

14:30–16:00
Dejvice
NTK PU 1
The course is a part of the following study plans:
Data valid to 2023-05-30
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6692006.html