Course detail
Language C++
FSI-SCP Acad. year: 2021/2022 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 course provides the basics of C ++ and an introduction to object-oriented programming. Introduces students to classes, objects, the concept of heredity, etc.
Language of instruction
Czech
Number of ECTS credits
3
Supervisor
Department
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
The evaluation of the course consists of points for the semestral project (presentation of a Java program) (70 %) and points for unassisted homework (30 %) . The condition for obtaining course credits is to obtain at least 50% points from the semestral project.
Aims
The aim of this course is to get up-to-date on modern programming techniques, up to and including C++19. 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
Programme B-MAI-P: Mathematical Engineering, Bachelor's, compulsory
Type of course unit
Lecture
13 hours, optionally
Teacher / Lecturer
Syllabus
1. Introduction to the C ++ programming language
2. Fundamental data types
3. Arrays and loops, pointers and references
4. Classes, objects, inheritance
5. Polymorphism, encapsulation
6. Methods, overriding, abstract and virtual methods
7. Basics of input, output, data streams
8. Data files
9. Exceptions
10. Templates
11. STL containers and algorithms
12. Libraries for scientific and technical calculations
13. Lecturer's reserve
Computer-assisted exercise
26 hours, compulsory
Teacher / Lecturer
Syllabus
The PC labs are focused on practical usage of the topics discussed in lectures, see Syllabus. Emphasis is placed on the ability to work independently, ie to create a simple application, often within individual tasks.
Students will get acquainted with the tools for the C ++ programming language:
Visual studio 2019, MSBuild, CMake, vcpkg, Armadillo, Eigen, MKL atd.