NIE-EPC
NIE-EPC course pages
Warning:
It is strongly recommended not to enroll in this course without prior knowledge and practical experience in C++. This is particularly important for students who did not complete their bachelor’s studies at FIT CTU. The specific prerequisites required for this course are listed below.
Warning:
Course pages are being updated for the winter semester B261; currently presented information may be outdated.
Annotation
Students will learn how to use modern features the C++ programming language for creating software. The main focus will be on effectiveness and efficiency, whether it means writing portable and maintainable source code, or creating correct computer programs with low requirements for system memory and CPU runtime.
Characteristics
The NIE-EPC course is intended for students with serious interest in programming in current versions of the C++ language. The focus is put on the modern form of programming in C++ and the effective use of this programming language, meaning both efficient utilization of computer system resources and effective code writing and its subsequent maintenance. The goal of the course is also understanding of the “nature and philosophy” of C++.
Requirements
NIE-EPC builds on the BIE-PA1 and BIE-PA2 courses, and students are expected to have a thorough mastery of their content. Partial knowledge of the BIE-GIT, BIE-OSY, and BIE-SAP courses is also required. Familiarity with the BIE-APS course may be beneficial.
Study materials
The primary study materials are the lecture slides. Other suitable sources are, for instance:
- C++ Reference: https://cppreference.com/cpp (not to be mistaken for the reference https://cplusplus.com/reference/, which includes a relatively large amount of incorrect and misleading information).
- C++ Standard: complete but hard-to-read source. If you are in doubt, always look for the answer in the corresponding version of the Standard. Final versions are paid, but the access to the “draft” versions may be obtained for free, for instance, via the https://cppreference.com/cpp/links webpage. Frequently, the current draft online version https://eel.is/c++draft/ is used as well, which lets you reference individual sections, paragraphs, and even sentences.
- Stack Overflow: https://stackoverflow.com/. Probably needs no introduction; it represents an invaluable source of information for solving specific problems.
- CppCon conference lectures: https://www.youtube.com/user/CppCon/videos.
- C++ Core Guidelines: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines. An active project with the goal of providing a set of rules and recommendations for effective use of modern C++. The editors Bjarne Stroustrup and Herb Sutter guarantee high quality of information.