Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2023/2024

Programming and Algorithmics 2

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BIE-PA2.21 Z,ZK 7 2P+1R+2C English
Garant předmětu:
Jan Trávníček
Lecturer:
Jan Trávníček
Tutor:
Tomáš Dejmek, Radek Hušek, František Kovář, 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.

Note:
Further information:
https://courses.fit.cvut.cz/BIE-PA2/
Time-table for winter semester 2023/2024:
Time-table is not available yet
Time-table for summer semester 2023/2024:
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
roomT9:107
Trávníček J.
11:00–12:30
(lecture parallel1)
Dejvice
Posluchárna
roomT9:155
Trávníček J.
12:45–14:15
EVEN WEEK

(lecture parallel1
parallel nr.101)

Dejvice
Posluchárna
Tue
Wed
Thu
roomT9:351
Dejmek T.
Kovář F.

14:30–16:00
(lecture parallel1
parallel nr.101)

Dejvice
NBFIT PC ucebna
roomT9:349
Dejmek T.
Kovář F.

16:15–17:45
(lecture parallel1
parallel nr.101)

Dejvice
NBFIT PC učebna
roomT9:349
Dejmek T.
Kovář F.

18:00–19:30
(lecture parallel1
parallel nr.101)

Dejvice
NBFIT PC učebna
Fri
The course is a part of the following study plans:
Data valid to 2024-04-23
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6698906.html