Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2018/2019

Programming and Algorithmics 2

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BIE-PA2 Z,ZK 7 2+2
Lecturer:
Jan Trávníček, Ladislav Vagner (guarantor)
Tutor:
Jan Trávníček, Ladislav Vagner (guarantor), David Bernhauer, Tomáš Dejmek, Roman Jelínek, Tomáš Licek, 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, set, table). They can implement linked structures. They learn these skills using the programming language C++. Although this is not a module of programming in C++, students are introduced to all C++ features needed to achieve the main objective (e.g., operator overloading, templates).

Requirements:

Fundamentals of algorithmics and C.

Syllabus of lectures:

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

2. Programming styles, object-oriented programming.

3. Operator overloading 1.

4. Operator overloading 2, shallow copy and deep copy.

5. Inheritance.

6. Polymorphism.

7. Abstract classes, exceptions.

8. Templates.

9. [3] Specification and implementation of abstract data types.

10. Stream library, serialization of objects.

11. Event-driven program, QT library.

Syllabus of tutorials:

1. In solved-problems sessions, the teacher presents the solutions for sample problems, comments the solution, and may add new pieces of information not mentioned in the lectures. Students follow the path to the solution on their own notebooks, take notes and ask questions.

2. In computer labs, students solve assigned tasks (follow-up to the lectures and solved-problems sessions), the TAs provide consultations and advice.

Study Objective:

The module aims to teach students to use the instruments of object-oriented programming and utilize them to specify and implement abstract data types. Attention is given to implementation using linked structures. This is a mandatory module; many other modules build upon it.

Study materials:

1. Brassard, G., Bratley, P. ''Fundamentals of Algorithmics.'' Prentice Hall, 1995. ISBN 0133350681.

2. Sedgewick, R. ''Algorithms in C, Parts 1--5.'' Addison Wesley, 2001. ISBN 0201756080.

Note:
Time-table for winter semester 2018/2019:
Time-table is not available yet
Time-table for summer semester 2018/2019:
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:PU1
Trávníček J.
16:15–17:45
(lecture parallel1)
Dejvice
NTK PU 1
roomTK:PU1
Dejmek T.
18:00–19:30
(lecture parallel1
parallel nr.101)

Dejvice
NTK PU 1
Tue
roomTK:PU1
Trávníček J.
16:15–17:45
EVEN WEEK

(lecture parallel1
parallel nr.101)

Dejvice
NTK PU 1
Fri
Thu
Fri
The course is a part of the following study plans:
Data valid to 2019-03-24
For updated information see http://bilakniha.cvut.cz/en/predmet1447506.html