Course detail
Language C++
FSI-SCPAcad. year: 2020/2021
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
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Bjarne Stroustrup A Tour of C++ [2nd ed.] C++ In-Depth Series Addison-Wesley 2018 ISBN 978-0-13-499783-4 (EN)
George Em Karniadakis and Robert M. Kirby II Parallel Scientific Computing in C++ and MPI Cambridge University Press 2003 ISBN 9780511812583 (EN)
Jacek Galowicz C++17 STL Cookbook Packt Publishing 2017 ISBN 978-1-78712-049-5 (EN)
Miroslav Virius Programování v C++ od základů k profesionálnímu použití GRADA 2018 ISBN 978-80-271-0502-1 (CS)
William H. Press Numerical Recipes 3rd Edition: The Art of Scientific Computing Cambridge University Press 2007 ISBN10: 0521880688 (EN)
Yair Shapira Mathematical Objects in C++: Computational Tools in A Unified Object-Oriented Approach Chapman & Hall 2009 ISBN 9781439811474 (EN)
Recommended reading
Mikael Olsson C++17 Quick Syntax Reference Apress 2018 ISBN 978-1-4842-3599-7 (EN)
Miroslav Virius Programovací jazyk C++ (1.-3. díl) ČVUT 2016 ISBN 9788001059616 (CS)
Elearning
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
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
Teacher / Lecturer
Syllabus
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
Elearning