Skip to content

Latest commit

 

History

History
60 lines (49 loc) · 3.68 KB

course-program.md

File metadata and controls

60 lines (49 loc) · 3.68 KB

Программа курса C++

Урок 1: Введение в Git и настройка рабочего окружения

  • Зачем использовать Git: контроль версий и совместная работа
  • Основные команды: git init, git add, git commit, git status, git push, git pull
  • Создание репозитория для курса
  • Основы работы с GitHub: создание и клонирование репозиториев
  • Основы работы с .gitignore

Урок 2: Основы объектно-ориентированного программирования в C++

  • Основные концепции ООП: классы, объекты, наследование, инкапсуляция, полиморфизм
  • Создание и использование классов и объектов в C++
  • Конструкторы и деструкторы
  • Наследование и работа с иерархиями классов
  • Виртуальные функции и полиморфизм

Урок 3: Современные функции и улучшения в C++17

  • if constexpr и inline функции
  • Авто-определение типа (auto)
  • Упрощение лямбда-выражений

Урок 4: Пространства имен и управление зависимостями

  • Создание и использование пространств имен
  • Понимание и использование заголовочных файлов
  • Применение #include, #define, #pragma once

Урок 5: Стандартные библиотеки C++17

  • std::optional, std::variant, std::any
  • Примеры применения и когда использовать эти типы
  • JSON

Урок 6: Обобщенное программирование и шаблоны

  • Основы шаблонов: функции и классы
  • Специализация шаблонов и её использование
  • Метапрограммирование с шаблонами
  • Основы работы с потоками: std::thread

Урок 7: Стандартные алгоритмы и контейнеры

  • Контейнеры: std::vector, std::list, std::map, std::set
  • Стандартные алгоритмы: std::sort, std::find, std::accumulate
  • Практические примеры использования

Урок 8: Современные возможности языка

  • constexpr функции и их использование
  • Раннее вычисление выражений (compile-time evaluation)
  • Расширенные возможности работы с типами (structured bindings, fold expressions)

Урок 9: Умные указатели и управление памятью

  • Разница между сырыми указателями и умными указателями
  • std::unique_ptr, std::shared_ptr, std::weak_ptr
  • Примеры использования и общие ошибки

Урок 10: Многопоточность и параллелизм

  • Синхронизация потоков: std::mutex, std::lock_guard
  • Примеры простых многопоточных приложений

Урок 11: Итоговый проект и обзор

  • Реализация итогового проекта, использующего ключевые элементы C++17
  • Обсуждение и анализ кода
  • Подведение итогов и дальнейшее развитие