Course detail

Language C++

FSI-SCP Acad. year: 2020/2021 Summer semester

C++ is a modern programming language, with a focus on high performance. It is widely being used in very different contexts and has excellent support in both tools and libraries. The language received a huge overhaul in 2011 with C++11, lifting it into the 21st century.

Language of instruction

Czech

Number of ECTS credits

3

Learning outcomes of the course unit

Students will obtain the basic skills and experiences of program writing and debugging using programming language C++.

Prerequisites

The basic knowledge and experience with programming language (C#, Java ) are expected.

Planned learning activities and teaching methods

The course is taught through lectures explaining the basic principles and theory of the discipline. Exercises are focused on practical topics presented in lectures.

Assesment methods and criteria linked to learning outcomes

Graded course-unit credit is awarded on the following conditions: 30% on weekly programming assignments, 70% on the individual project. Participation in the lessons may be reflected in the final mark.

Aims

The aim of this course is to get up-to-date on modern programming techniques, up to and including C++17. There is a wealth of numerical libraries for scientific computing in C++. Students will be able to develop modern scientific applications.

Specification of controlled education, way of implementation and compensation for absences

Attendance at lectures is recommended, attendance at seminars is required. Lessons are planned according to the week schedules. Absence from lessons may be compensated by the agreement with the teacher supervising the seminars.

The study programmes with the given course

Type of course unit

 

Lecture

13 hours, optionally

Teacher / Lecturer

Syllabus

1. Basic parts of modern C++
2. Fundamental types of data
3. Arrays and Loops
4. Pointers and References
5. Defining Functions
6. Function Templates
7. Preprocessing directives
8. Classes and object-oriented Programming
9. Operator Overloading
10. Inheritance, polymorphism
11. Class templates
12. STL containers and algorithms
13. Scientific computing libraries

Computer-assisted exercise

26 hours, compulsory

Teacher / Lecturer

Syllabus

1. Visual studio 2019
2. MSBuild, CMake, vcpkg
3. -8. Small projects
9. C++/CLI
10. Interoperability (Matlab, .NET)
11. Armadillo, Eigen, MKL
12. Boost.Numeric.Odeint
13. Accreditation