Course Unit Code | 460-2068/01 |
---|
Number of ECTS Credits Allocated | 4 ECTS credits |
---|
Type of Course Unit * | Optional |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | Second Year |
---|
Semester when the Course Unit is delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | |
---|
| Prerequisities | Course Unit Code | Course Unit Title |
---|
| 460-2052 | Introduction to Programming |
| 460-2055 | Object Oriented Programming |
Name of Lecturer(s) | Personal ID | Name |
---|
| GAJ03 | doc. Ing. Petr Gajdoš, Ph.D. |
Summary |
---|
Students will deepen the knowledge of object-oriented programming with respect to the use of C++ language, which belongs to the most used languages. The course builds on the "Introduction to Programming" and "Object-Oriented Programming" courses and requires that the students have already successfully passed these courses. |
Learning Outcomes of the Course Unit |
---|
The aim of the subject is to familiarize students with C++ language in their latest form such that they can understand the basic constructions of the language and the runtime environment. The students will be able to create complex desktop applications in this language.
Knowledge and skills:
- C++ from the standard c++11 above
- OOP principles projected into the C++ language
- Basic knowledge of "Standard Library (STL)" and useful classes
- Understanding complex constructs
- Knowledge of the selected development environment
- Console application creation
- Designing custom classes with required functionality
After completing the course, the student should be able to design and implement a problem-solving application with the knowledge of object-oriented programming using the latest features of C++ language. |
Course Contents |
---|
Lectures will serve as an entry point for exercises. They set themselves the objective of introducing students into the problematics and outlining the subsequent work on the exercises.
Lectures will include at least the following topics:
- type system, from basic data types to object type, conversion type
- working with pointers and references, the basic principle of "smart pointers"
- operators and their overloading
- program flow controlling
- principles of Object Oriented Programming projected into the C++ language
- standard library
-- exception system
-- iterators and their types
-- working with files
-- console application creation
-- more selected STL classes
Practical exercises on computer labs will correspond to lecture notes:
1. Basic data types, struct, union
2. Memory allocations, pointers, references, smart pointers
3. Program flow controling
4. Operators, their overloading, bit operators and their usage
5. Principles of OOP projected into C ++
6. Familiarize with the standard library and the concept of their classes
7. Exceptions and their usage
8. Construction of different types of iterators and their usage
9. Working with text and binary files
10.-12. Case Study: Creation of a more complex console application - data processing
13. Other selected classes from STL
14. Verification of knowledge |
Recommended or Required Reading |
---|
Required Reading: |
---|
[1] Stroustrup, Bjarne. The C++ programming language. Upper Saddle River, NJ: Addison-Wesley, 2013. Print.
[2] Bancila, Marius. Modern C++ programming cookbook : over 100 recipes to help you overcome your difficulties with C++ programming and gain deeper understanding of the working of modern C. Birmingham, UK: Packt Publishing, 2017. Print. |
[1] Stroustrup, Bjarne. The C++ programming language. Upper Saddle River, NJ: Addison-Wesley, 2013. Print.
[2] Bancila, Marius. Modern C++ programming cookbook : over 100 recipes to help you overcome your difficulties with C++ programming and gain deeper understanding of the working of modern C. Birmingham, UK: Packt Publishing, 2017. Print.
|
Recommended Reading: |
---|
[1] Galowicz, Jacek. C++17 STL Cookbook. Birmingham: Packt Publishing, 2017. Print.
[2] Savitch, Walter J., and Kenrick Mock. Problem solving with C++. 9th Edition, Boston: Pearson, 2015. Print. |
[1] Galowicz, Jacek. C++17 STL Cookbook. Birmingham: Packt Publishing, 2017. Print.
[2] Savitch, Walter J., and Kenrick Mock. Problem solving with C++. 9th Edition, Boston: Pearson, 2015. Print.
|
Planned learning activities and teaching methods |
---|
Lectures, Tutorials |
Assesment methods and criteria |
---|
Task Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Graded credit | Graded credit | 100 | 51 |