Обучение

Консультация
Консультируем с 9:00 до 18:30Выходной: суббота и воскресенье


Сообщение об ошибке

Обучение

Сообщение об ошибке

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

Профессиональный курс (для трудоустройства)

Главные свойства языка программирования С++ – эффективность, мобильность и универсальность. Он позволяет решать задачи, которые требуют высокой производительности.

Язык хоть и считается сложным в изучении, но очень популярен и востребован. С помощью него написаны Google Chrome, Microsoft Office, Adobe Creative Suite, VLC-плеер, Virtual Box, а также многие игры класса ААА. В рейтинге языков программирования TIOBE С++ много лет подряд традиционно входит в пятёрку лучших.

Технические требования к оборудованию слушателей дистанционных курсов.

Описание курса

Формы обучения

Условия отбора

Зачисление на курс проводится по результатам

  • теста по английскому языку

  • теста по логике

Для кого этот курс

  • Для тех, кто уже знаком с базовыми основами языка, и хочет повысить свой уровень.

Необходимая подготовка

  • Если вы не уверены в своих силах, для более лёгкого восприятия и быстрого освоения, обязательно рекомендуем прочитать книгу "Программирование: принципы и практика в С++" (Бьёрн Страуструп) (обновлено для С++11/С++14) Введение в С++, написанное создателем этого языка.

Для чего этот курс

  • Для создания самых быстродействующих программ любого уровня сложности.

Вы узнаете

  • Что язык программирования С++ применяется в сочетании с дополнительными библиотеками для написания программ во всех операционных системах от прикладных приложений до драйверов и игр. Работает по средствам прямого взаимодействия с оборудованием компьютера, что выделяет его от других языков.

  • Первая часть курса посвещена освоению С++. Ее  задача – познакомить  студента  с основами языка программирования, дать базовые знания и объяснить основные понятия. Студент узнает, что отличает С++ от других языков, как работать со сторонними библиотеками и как программы взаимодействуют с «железом» компьютера.

  • Далее студент изучает библиотеки Qt. Qt – это инструмент для кроссплатформенной разработки софта на C++. Его основная задача – дать возможность запускать одни и те же программы на разных операционных системах без изменения исходного кода проекта. Достаточно лишь скомпилировать код под конкретную платформу - и программа запустится на ней. ПО, созданное с помощью различных библиотек Qt, можно запускать не только на Windows и Linux, но и на iOS и Android. С помощью Qt создан Skype, Google Планета, плеер VLC и т.д.

Вы будете уметь

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

Внимание:

Доступ к электронным материалам открыт в период прохождения курса. По окончании курса доступ закрывается.

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

  1. Модуль
    Принципы машинной обработки данных
    Обзор существующих языков программирования и их рейтинг
    Место С\С++ среди языков программирования
    Установка компилятора и IDE CodeBlocks
    Знакомство с компилятором
    Введение в программирование на С
    Объявление переменных
    Основные операторы
    Типы данных
    Написание первой программы
  2. Модуль
    Структурная разработка программ
    Операторы, спецификаторы
    Выполнение математических операций
    Выполнение логических операций
    Операторы управления программой
  3. Модуль
    Циклы, вложенные циклы
    Перечисления, структуры
    Динамическое выделение памяти
    Указатели, массивы
    Массивы
    Генератор случайных чисел
    Двумерные массивы
    Список
  4. Модуль
    Линковка
    Препроцессор
    Функции
    Сортировка массива
    Символы и строки. Работа со строками
  5. Модуль
    Файлы. Работа с файлами
    Операции с битами. Объединения. Битовые поля
    Многомерные динамические массивы
    Перечисляемые типы
    Указатели на функции
    Оператор sizeof
    Форматированный ввод\вывод
  6. Модуль
    Структуры данных
    Стек. Дек
    Списки. Дерево. Графы
    Линейный поиск. Сортировка выбором, вставками, «пузырьковая»
    Рекурсия. Быстрая сортировка. Двоичный поиск
  7. Модуль
    Введение в программирование на С++
    Знакомство с ООП
    Знакомство с классами. Конструкторы и деструкторы
    Работа с классами. ООП (инкапсуляция, поли-м, насл-е)
    Указатель this. Копирующий конструктор
  8. Модуль
    Указатели на объекты. Защищенные члены класса
    Создание и удаление объектов
    Константный метод. Перегрузка
    Перегрузка операторов
    Перегрузка ++, --, []
    Статические члены
    Дружественные функции, классы
  9. Модуль
    Динамическое выделение памяти. Операторы new, delete
    Композиция. Наследование
    Конструкторы, деструкторы
    Множественое наследование
    Virtual. Виртуальные функции, классы
  10. Модуль
    Полиморфизм, RTTI, приведение типов в стиле С++
    Переопределение методов
    Механизм переопределения
    Перегрузка ->. Smart pointer. Умные указатели
    Свой умный указатель
    Функции с произвольным количеством и типом аргументов
    Шаблоны
    Инстанцирование, параметры
    Специализация
  11. Модуль
    I/O
    iostream, fstream
    C++ 17 Filesystem
    Работа с файлами и директориями
    Потоки ввода\вывода в языке С++
    Класс std::string и обработка строк
    Ошибки. Иерархия ошибок
    Отладка кода
  12. Модуль
    C++ Standard Library
    Использование классов STL
    Контейнеры
    Итераторы
    Свой итератор
    Функторы. Предикаторы. Алгоритмы
  13. Модуль
    Поиск, сортировка, копирование
    Сортировка в файле
    Многопоточность
    Управление, синхронизация
    Атомарные операции
    Проектирование многопоточной программы. Основы
    Выдача выпускного проекта курса
  14. Модуль
    C Library, C++
    cmath, cfloat, ctime, cerrno
    memory, new, random
    Аллокатор
    Static Library
    Shared Library
    Библиотека слушателей курса
  15. Модуль
    Стандарт C++11/14/17. Обзор стандартов и сравнение функционала
    rvalue
    constexpr, auto, decltype, initialize_list
    lambda, extern template и др.
  16. Модуль
    Make, CMake, IDE
    Правила make
    Переменные make
    Команды cmake
    Добавления библиотек в CMakeLists.txt
  17. Модуль
    Git
    Настройка
    Состояния
    Работа с репозиториями
    Ветвление
    Утилиты слияния
    Удаленные репозитории
    GitHub - На примере создания дерева
  18. Модуль
    Boost
    Общие сведения
    Boost.Optional
    Boost.ProgramOptions
    Boost.Any
    Boost.Signals2
    Boost.FileSystem
  19. Модуль
    Unit тестирование
    Общее представление
    Boost Test
    Google Test
    Своя библиотека unit tests
  20. Модуль
    DB
    SQL
    sqlite
    Connect to DB
    Простая библиотека для работы с SQLite
  21. Модуль
    POSIX API
    Windows API
    System Calls
    GUI
    Qt GUI
    GTK
    WxWidget
    UI "Hello World"
  22. Модуль
    Работа с сетью
    Сокеты
    TCP/UDP
    Обертка для сокета
    Передача данных по сети
  23. Модуль
    RegExp
    Итераторы рег выражений
    Замена рег выражений
    Флаги рег выражений
    Исключения в рег выражениях
    Свой RegExp
    Сдача выпускного проекта
  24. Модуль
    Производительнось
    Паттерны и идиомы разработки
    Стандарт С++20. Обзор новшеств
    Разработка утилит общего назначения
    Разработка потокобезопасных структур данных
    Проектирование стратегии компьютерной игры с применением шаблонов
    С++ и искусственный интеллект
    С++ и машинное обучение
    Разработка поискового движка на С++
    Что дальше? Куда двигаться?

Трудоустройство выпускников

IT-Academy не только обучает, но и помогает слушателям, нацеленным на результат, найти работу. Выпускники курса «Программирование на С++» участвуют в «Программе трудоустройства», с помощью которой можно получить заветную должность практически в любой IT-компании!


Преподаватели курса

  • Артур Пожидаев

    Специальность:
    Разработка игр на С++

    Ещё в школе любовь к компьютерным играм вызывала желание создавать их самостоятельно. Окончил курсы по информатике в поисках ответа, как их делать, затем лицей и университет.

    Узнать больше

Другие курсы программы Разработка игр на С++

Артур Пожидаев

Специальность:Разработка игр на С++

Ещё в школе любовь к компьютерным играм вызывала желание создавать их самостоятельно. Окончил курсы по информатике в поисках ответа, как их делать, затем лицей и университет.

Свой путь в преподаватели я начал еще в университете. Ещё на первых курсах университета ко мне начали обращаться за разъяснением тех или иных тем. В какой­-то момент времени процесс обучения людей начал вызывать у меня исключительно положительные эмоции и меня затянуло.

Считаю, что обучать слушателей в одном направлении недальновидно, во всех расточительно. Поэтому цель одна ­ побороть у слушателей любые проявления страха в нужных для рынка специализациях. А добиться этого можно показав границы знаний в той или иной области. Содержание наполняется личной практикой.

Самое важное в моей специализации ­ не распыляться по направлениям, оставаться в тренде своей специфики, а значит не бояться учиться. В программировании кирпичи каждый раз кладут по-­новому. Нельзя научиться всему на будущее. Даже самый крутой программист каждое новое утро в какой-­то степени новичок, так как за ночь уже могло что-­то поменяться. Как быть крутым программистом? ­ Не бояться оставаться вечным студентом.

Парапсихологи говорят, что после смерти человеку задают два вопроса: постиг ли ты любовь и обучение? Кто бы это не сказал, я с ним согласен.

Владимир Марушко

Специальность:Разработка игр на С++
Опыт работы:c 2010 года

Сфера интересов: мобильная робототехника, промышленная автоматизация и автоматизированный электропривод, компьютерные науки и математическое моделирование.

Профессиональный путь: В настоящее время работаю старшим преподавателем БГУ ФПМИ и Senior C++ Developer в компании ISoftBet (основной продукт – онлайн-казино). Выполняю задачи разработки и проектирования серверной части онлайн-игры.

Особенности преподавания: Курс «Программирование на С++» даст слушателям твердые знания синтаксиса, технологий и возможностей языка С++ современных стандартов, стандарт С++20 включительно. После завершения обучения выпускники смогут показать твердые и качественные знания ядра С++, библиотеки STL, алгоритмов и элементов шаблонов проектирования классов и библиотек на С++. В дальнейшем выпускники смогут уверенно осваивать разработку графических интерфейсов и компьютерных игр, серверов и системных библиотек.


Почему выбирают IT-академию?

Все организовано на высоком уровне

Все разделы программы по С++ считаю полезными для будущих программистов. Наиболее заинтересовали следующие темы: процесс компиляции, smart pointers, исключения (try-catch), STL, Qt, работа с файлами(ifstream, ofstream), CMake, сеть (TCP, UDP), assembler, многопоточность, Git. 

Отличная программа курса

Всё изложенное в программе курса весьма полезно для меня! Особенно понравились следующие разделы: rvalue, lvalue, итераторы, STL, перегрузка операторов. Из пожеланий – увеличить длительность курса хотя бы до 3-х месяцев, чтобы усвоение материала было более плодотворным.

Полезными были многие разделы курса!

Прошёл курс «Программирование на С++» у Артура Пожидаева. Полезными были все разделы, которые касались ООП и возможности компилятора С++: инкапсуляция классами, наследование, шаблоны, итераторы, полиморфизм и пр. Я бы увеличил время курса или растянул его на 2 занятия в неделю, чтобы увеличить время на выполнение домашних заданий.

Практика реально учит

Наиболее полезными для меня были домашние задания :) Практика реально учит! Есть предложение добавить пару домашек на понимание основ ООП.

Все разделы программы по С++ считаю полезными для будущих программистов. Наиболее заинтересовали следующие темы: процесс компиляции, smart pointers, исключения (try-catch), STL, Qt, работа с файлами(ifstream, ofstream), CMake, сеть (TCP, UDP), assembler, многопоточность, Git. 

Лично мне интересно углубиться в Qt и язык QML и больше попрактиковаться в данных технологиях. Но считаю, что вводная информация по этой теме дана в полном объеме для новичка, дальше дело за учащимся – самостоятельное углубление в тему. На курсе все организовано на высоком уровне! 


Всё изложенное в программе курса весьма полезно для меня! Особенно понравились следующие разделы: rvalue, lvalue, итераторы, STL, перегрузка операторов. Из пожеланий – увеличить длительность курса хотя бы до 3-х месяцев, чтобы усвоение материала было более плодотворным.

Прошёл курс «Программирование на С++» у Артура Пожидаева. Полезными были все разделы, которые касались ООП и возможности компилятора С++: инкапсуляция классами, наследование, шаблоны, итераторы, полиморфизм и пр. Я бы увеличил время курса или растянул его на 2 занятия в неделю, чтобы увеличить время на выполнение домашних заданий.

Наиболее полезными для меня были домашние задания :) Практика реально учит! Есть предложение добавить пару домашек на понимание основ ООП.

Более 5210 выпускников успешно работают в IT-компаниях в Беларуси и за рубежом

Акции и новости