Технологии программирования на C++

Цель курса – овладеть фундаментальными знаниями об устройстве вычислительных машин и научиться ими управлять с помощью языка С++.

По курсу предусмотрено решение учащимися задач различной сложности, проведение преподавателем код-ревью (проверка написанного программного кода на наличие ошибок), изучение теоретической базы.

Пройдя этот курс, обучающийся:

  1. Научится решать простые задачи с сайта LeetCode.

  2. Сможет самостоятельно написать динамический массив/очередь/стек.

  3. Поймет, как вручную выделять и освобождать оперативную память.

  4. Узнает, чем отличается указатель от ссылки.

  5. И многое другое в рамках программирования на С++.

  • Уровень курса

    Продвинутый

  • Профиль

    Программирование на C++

  • Класс

    9-11 классы

  • Необходимый входной уровень

    • Уверенное знание любого языка программирования

    • Наличие абстрактного мышления

    • Уровень математики не ниже оконченного 8 класса

  • Примеры материалов

  • Формат обучения

    Очный

  • Количество занятий

    24 занятий по 1 разу в неделю в течение 2 астрономических часов

  • Стоимость обучения

    30 000 рублей за весь курс

Примерная программа курса

Программа может быть усовершенствована или скорректирована к моменту начала обучения.

Повторение/изучение основ языка

  • Простые программы на C++.

  • Арифметические операции и их приоритет.

  • Логические операторы и условный оператор.

  • Циклы.

  • Ввод и вывод данных с помощью библиотеки iostream.

  • Определение функции.

  • Параметры функции и возвращаемое значение.

  • Структуры и классы.

  • Модификаторы доступа полей и методов класса.

Адреса переменных в памяти

  • Указатель на переменную.

  • Передача переменной в функцию по ссылке.

  • Арифметика указателей.

  • Преобразование типов.

Динамическое выделение памяти

  • Сегменты памяти, стек и куча.

  • Операторы new и delete.

  • Конструкторы и деструкторы.

Введение в структуры данных и алгоритмы

  • Динамический массив.

  • Списки.

  • Сортировки.

  • Алгоритмическая сложность.

Шаблоны

  • Шаблонный класс и шаблонная функция.

  • Неопределенность поведения.

  • Исключения.