https://www.traditionrolex.com/19

C++ как первый язык программирования

Организатор: Высшая школа экономики НИУ Институт профессиональной переподготовки специалистов
Москва
Даты проведения:

С открытой датой

Подать заявку
Цена: 80 000 руб.

Описание мероприятия

Формат обучения: очно-заочный
Язык обучения: русский
Адрес проведения: Кочновский проезд, дом 3

Выдаваемые документы

Удостоверение о повышении квалификации

Описание программы

В рамках данной программы мы изучим один из самых популярных языков программирования С++. C++ — чрезвычайно мощный язык, позволяющий создавать эффективные программы практически любого назначения, от низкоуровневых утилит и драйверов до операционных систем, поисковиков и игр.

Учебный план:

  • Программа “Hello, world!”. История C++. Использование языка. Мультипарадигменность. Стандарты языка (С++98/03, С++11, С++14). Популярные компиляторы (gcc, clang, msvc, ...). Литература и полезные материалы по C++
  • C++ — язык со статической типизацией. Типы данных и переменные. Области видимости переменных. Встроенные типы данных. Перечисления. Понятие о пользовательских типах. Выражения. Обзор операторов языка C++. Оператор присваивания. Lvalue и rvalue. Таблица приоритета операторов
  • Инструкции (if, while, do, for, switch, goto). Функции. Перегрузка функций. Шаблоны функций. Статические переменные в функциях. Псевдонимы типов (typedef и using)
  • Работа с консольным и файловым вводом-выводом с помощью потоков
  • Массивы фиксированного размера. Динамические массивы. Шаблоны std::vector и std::string. Списки инициализации. Функции-члены стандартных последовательных контейнеров (push_back, size, capacity, empty, clear, ...). Цикл for по коллекции
  • Указатели. Арифметика указателей. Оператор взятия адреса. Итераторы. Динамическая память и стек
  • Ссылки. Константность. CV-квалификаторы. Способы передачи аргументов в функцию
  • Средства отладки и профилирования программ. Отладчик gdb. Утилита valgrind. Программа AddressSanitizer
  • Последовательные контейнеры стандартной библиотеки C++ (на примере std::list, std::deque), адаптеры контейнеров (на примере std::stack и std::queue). Стандартные функции последовательных контейнеров. Категории итераторов
  • Ассоциативные контейнеры стандартной библиотеки C++ (std::map и std::set, std::unordered_map и std::unordered_set). Стандартные функции ассоциативных контейнеров
  • Обзор алгоритмов стандартной библиотеки. Объекты-функции и лямбда-функции. Обертка std::function
  • Структуры и классы. Уровни доступа к именам в классе. Конструкторы. Деструктор. Оператор присваивания. Функции-члены, генерируемые компилятором по умолчанию
  • Перегрузка операторов в классе. Пример: класс «Комплексное число»
  • Шаблоны классов. Шаблонные функции внутри класса. Шаблонные параметры шаблонов. Инстанцирование шаблонов
  • Одиночное наследование. Полиморфизм. Виртуальные функции. Работа с объекта- ми производных классов через указатели (ссылки) на базовый класс. Операторы преобразования типов
  • Единицы трансляции. Заголовочные файлы. Компоновка программы. Правило одного определения. Пространства имен
  • Идиома RAII. Генерация и обработка исключений. Гарантии безопасности исключений
  • Умные указатели как иллюстрация идиомы RAII. Шаблоны std::unique_ptr, std::shared_ptr и std::weak_ptr. Идиома pImpl
  • Move-семантика и rvalue-ссылки
  • Управление памятью. Размещающий оператор new. Идеи реализации шаблона std::vector
  • Обзор паттернов проектирования

Преподаватели

Кирилл Лунев
разработчик компании Яндекс (С++ и Python) с 2014 года. Выпускник Школы анализа данных Яндекса, аспирант Московского государственного университета.
Роман Халкечев
разработчик C++ в Яндексе в направлении функциональности поиска, выпускник Школы анализа данных Яндекса и аспирант факультета компьютерных наук НИУ ВШЭ, преподает в ШАДе курс Машинного обучения, а на факультете компьютерных наук курс алгоритмов.

Требования к поступающим:

Документы для приема

  • Оригинал и копия паспорта или документа, заменяющего его
  • Оригинал диплома и приложения к нему и копия документа об образовании или справка об обучении для лиц, получающих высшее образование
  • Оригинал и копия документа об изменении фамилии, имени, отчества (при необходимости)
  • скан паспорта (первой страницы и страницы с регистрацией)
  • скан диплома о высшем образовании или справка-подтверждение из вуза
Оставить заявку на обучение
Введите имя и фамилию Введите номер вашего телефона Введите ваш email адрес Введите город проживания
https://www.traditionrolex.com/19