The course gives students an introduction to the main elements of the C++ programming language.

The aim is to teach participants the fundamental understanding of language features such as classes, inheritance, function overloading, references, templates, lambda expressions, etc. Furthermore, the aim is to teach some standard library features, like containers, algorithms and iterators.

The course starts with a look at C++ objects, types, values, statements, and expressions, functions, classes, input-output flows and finishes with move semantics, generic programming, and some common design patterns.

Course Topics:

  • Abstraction and basic elements of language

  • User defined types, variables, functions, namespaces

  • Inheritance and polymorphism (example graphic library)

  • Pointers, C-style arrays, vectors

  • More about vectors, templates, STL

  • More about STL: list, set, map, algorithms

  • Move semantics, smart pointers, design patterns

Hardware (required): No special requirements

Software: No special requirements

Course Typically Offered: Students will get elementary knowledge about the C++ programming language. This course also has additional modules that introduce them to embedded programming.

Prerequisites: Students should have basic knowledge of programming, be able to write simple programs in some programming language, build them and run them in a development environment.

Next Step: The next step is Modern C ++ or bundle that contains Advanced C, Modern C++ and Embedded Linux courses.

Course Number: NIT-CE-09

Duration: 2.00 units (~20 live teaching hours, ~40 hours of individual practice and preparation work)

Offered next: Contact us!

Class type: Live Online Intensive (according to the schedule published at the beginning of the course, approximately 3x2 live classes per week)

Instructor: doc. dr Miodrag Đukić; dr Branislav Kordić

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.

Customized schedule for your company or team (call for price)

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.