- Object-oriented programming, basic notions in, and syntax of, C++
- Objects, classes and its definition, constructors and destructors
- Operators, operator overloading, polymorphism
- Basics of abstract classes, inheritance, generic programming
- Selected components of the C++ standard library
- Structured and unstructured grids, data structures for their implementation
- Implementation of numerical methods for partial differential equations
- Efficicient implementation of numerical algorithms
Computer lab work and project tasks.
The aim of the course consists of providing knowledge how advanced numerical methods and complex algorithms in Scientific Computing can be implemented in C++.
After completion of the course the students can
- Construct simple classes for often used mathematical objects;
- Create abstract classes and define simple template classes;
- Implement data stryctures for manipulating realistic geometry and complex grids for numerically solving partial differential equations;
- Optimize data structures and algorithms in C++ with respect to efficient computations for large-scale problems.