Advanced computer programming 2400-M2IEZPR
1. Basic concepts of programming: variables, data types, functions, control statements.
2. Access to the text terminal, streams cin and cout.
3. Arrays, template vector.
4. Simple algorithms: finding the greatest element of a table, decomposition of an integer into prime factors.
5. C-style strings, class string. Basic operations on text. String-searching algorithms.
6. Recursion.
7. Classes.
8. File access, reading and writing into file.
9. Sorting algorithms, computational complexity.
10. Data structures: lists and trees. Classes list, set and map.
11. Graph search algorithms.
12. Coursework: presentation of topics.
Course coordinators
Type of course
Learning outcomes
1. They know basic C++ programming concepts, as variables, functions, control statements, etc.
2. They know basic classes and templates from Standard C++ Library (vector, string, streams, containers, etc.).
3. They can know and understand classical algoriths for sorting and searching.
4. They know basic data structures.
5. They can use these skills to write a simple computer program.
KW01, KW02, KW03, KU01, KU02, KU03, KK01, KK02, KK03
Assessment criteria
They have to pass a test (20% points) and a final exam (80% points). Moreover, they are expected to write a coursework, which can change the final mark by not more than 1 grade.
Bibliography
S. B. Lippman, C++ Primer,
T. L. Hansen, The C++ answer book,
B. Stroustrup, The C++ Programming Language,
N. Wirth, Algorithms & Data Structures