Programming and Algorithmics 2

The course is not on the list Without time-table
Code Completion Credits Range Language
BIE-PA2.21 Z,ZK 7 2P+1R+2C English
Garant předmětu:
Department of Theoretical Computer Science

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).


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.

Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-06-13
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6698906.html