Course teaches the participant to use the advanced object programming paradigms in C++ variants 11, 14 and 17. The course builds on basic C++ knowledge to enable the participants utilize constructs such as move semantics, lambdas, templates etc. in their C++ software solutions. Thanks to these high level OOP, C++ is great to model complex systems, such as autonomous driving systems in vehicles.
Course topics:
C++ language extensions (C++11, C++14, C++17), nullptr, auto, scoped enumerations, compile-time assertions, string literals
C++ better class design: override, final, implicitly-declared operations, =delete, =default, delegating constructors, explicit, user-defined literals (UDL)
Move semantics: move constructor, move assignment, the rule of five, rvalue references, perfect forwarding, forwarding references
Lambdas: function objects, lambda expressions, variable capturing, generic lambdas, return type deduction, usage with STL algorithms
Multithreading: threads, passing parameters to threads, thread joining, mutexes, locking, condition variables, semaphores
Templates: function templates, variadic templates, tuples, template specializations, type traits, if constexpr
Hardware (required): Computer with Internet connection, working speakers and microphone.
Software: Chrome browser.
Course Typically Offered: Live Online in Fall quarter (mid June - August), Winter quarter (mid January - March), Spring quarter (April - mid June) or Summer quarter (mid June - August).
Prerequisites: Students should have basic programming knowledge in C++.
Next Step: To gain additional knowledge in specific domains where C++ language is heavily utilized, consider taking the courses from the Automotive engineering catalog (NIT-AU-XX) or Consumer electronics catalog (NIT-CE-XX).
Course Number: NIT-CE-03
Duration: 2.00 units (~20 live teaching hours, ~40 hours of individual practice and preparation work)
Class type: Live Online Intensive (according to the schedule published at the beginning of the course, approximately 3x2 live classes per week)
Instructor: To be announced
How to join: Google Meet (link will be available upon enrollment ), NIT Canvas
How to apply: Please apply by filling up the form here and we will get in touch with you as soon as possible.
Class type: Live Online (Regular or Intensive), Live Bootcamp (Company premises)
Instructor: To be announced
For groups and organizations: please contact us directly to arrange this course according to your scheduling, needs and participant lists - via the contact form here.