AI-Assisted C++ Programming

course image

AI-Assisted C++ Programming

5
(7)

Master the main elements of the C++ programming language while leveraging AI to identify design pattern flaws, accelerate code stubs generation and debugging.

The course gives participants an introduction to the main elements of the C++ programming language. Gain a fundamental understanding of language features such as classes, inheritance, function overloading, references, templates, lambda expressions, etc. Furthermore, learn the standard library features, like containers, algorithms, and iterators. AI tools are strategically integrated to help you recognize and resolve common C++ pitfalls. You will learn how to use AI to analyze shallow versus deep copy memory issues, debug unexpected polymorphic behaviors, and safely implement operator overloading. By pairing traditional learning with AI-assisted code refactoring and generation, you will accelerate your ability to define simple application interfaces (APIs) and write safe, efficient C++ applications.

Course Topics:

  • Abstraction and basic elements of language.
  • User-defined types, variables, functions, namespaces. Using AI to help define simple and clean application interfaces (APIs).
  • Inheritance and polymorphism (example graphic library). Utilizing AI tools to analyze class hierarchies and correct unexpected polymorphic behaviors.
  • Pointers, C-style arrays, vectors. Understanding memory management and using AI to identify and fix shallow vs. deep copy issues.
  • More about vectors, templates, STL.
  • More about STL: list, set, map, algorithms.
  • Move semantics, smart pointers, design patterns, and operator overloading. Prompting AI to refactor code and safely generate complex operator overloads based on identified structural problems.

Requirements

Software: IDE with C++ compiler (e.g., Visual Studio Code, CMake, and C++ compiler such as clang, g++ etc.), Chrome browser, and access to modern AI tools (e.g., ChatGPT, Copilot).
Hardware: Computer with an Internet connection, working speakers, and microphone.
Prior knowledge: Participants 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.