C++

For this course only the syllabus is available.

Syllabus

  • Programming language basics: syntax vs semantics; interpreters/compilers; scope, visibility, block structure; lifetime and allocation.
  • Preprocessing; constants and fundamental types; expressions and operator evaluation; memory-management concepts.
  • Functions: overloading, parameter passing, default arguments; references and their use.
  • Object-oriented programming in C++: classes, member functions, constructors/destructors; static members; namespaces and access control.
  • Special member functions (copy constructor, assignment, operator overloading) and the rule-of-three/five (conceptual).
  • Inheritance (including multiple inheritance), name hiding; virtual functions and dynamic dispatch; abstract classes and interfaces.
  • Exception handling; runtime type information and modern casts.
  • Templates: function and class templates; basics of generic programming and metaprogramming ideas.
  • Standard Template Library (STL): containers, iterators, algorithms (practical overview).