Программирование на языке C++
Возраст от 10 лет. Продолжительность обучения 4 года.
Язык C++ считается "отцом" обширного семейства других языков программирования. Сам C++ закрепился во многих областях разработки: операционные системы, прикладное ПО, встроенные системы, видеоигры, высоконагруженные приложения, и многое другое. А в тех областях, где использование языка C++ сопряжено с неудобствами, появляются более узкоспециализированные языки, основанные на C++.
Достоинства:
- Один из популярнейших языков программирования с огромной областью применения
- Погружение в глубинные алгоритмы обработки данных, что впоследствии облегчает изучение других языков
- Высокая производительность и гибкость
- Возможность напрямую управлять оборудованием, используя высокоуровневые языковые конструкции
Язык С++ - язык высокого уровня, на котором разрабатываются большинство современных программ. Этот язык станет фундаментом для учеников, стремящихся стать гуру в программировании.
Первый курс посвящен разработке приложений без графического интерфейса, где взаимодействие пользователя с компьютером происходит в командной строке. Ученики изучают основные конструкции языка: условия, циклы, функции. Работают с простыми переменными и с массивами. Составляют алгоритмы для решения задач по обработке данных.
Основные темы курса Оставить заявку
Введение в программирование
Интерфейс IDE Qt Creator. Создание консольных приложений. Термины "программа" и "алгоритм". Классификация языков программирования: языки высокого и низкого уровня, процедурное программирование и ООП. Компиляция программного кода.
Основы программирования на языке С++
Хранение данных в переменных. Типы данных. Операции ввода и вывода. Функция main. Арифметические операции. Виды алгоритмов: следование, ветвление, цикл. Алгоритмические конструкции: условный оператор, оператор выбора, циклы. Генератор псевдослучайных чисел.
Алгоритмы обработки данных
Статические массивы. Обработка массивов данных. Строковый тип данных. Работа с функциями, передача аргументов в функцию. Области видимости переменных. Подключение стандартных библиотек. Работа с текстовыми файлами: запись данных в файл, чтение данных из файла.
Продвинутые алгоритмы в C++
Использование флагов и манипуляторов. Динамические массивы и их методы. Символьный тип данных. Работа с потоками текстового ввода.
На втором курсе изучения C++ ученики открывают для себя событийно-ориентированное программирование. Система классов Qt Creator — мощный инструмент для создания приложений с развитым пользовательским графическим интерфейсом. В результате обучения ученики смогут самостоятельно создать программы не только для ввода данных пользователем и их обработки, но и организовать взаимодействия и передачу данных в многооконных приложениях.
Основные темы курса Оставить заявку
Повторение
Создание консольных приложений. Переменные и типы данных. Ввод и вывод данных. Условный оператор, циклы, функции. Строковый и логический типы. Массивы.
Создание приложений с графическим интерфейсом
Интерфейс Qt Designer. Стандартные виджеты Qt: кнопки, поля ввода данных, элементы отображения данных. Контейнеры для виджетов. Работа с таблицей свойств.
Событийно-ориентированное программирование на языке С++
Отслеживание и обработка событий. Механизм сигналов и слотов. Методы виджетов. Класс QTimer. Динамическое создание виджетов. Локальные и глобальные переменные.
Дизайн приложений
Стилевой язык QSS. Настройка внешнего вида элементов интерфейса. Основные приёмы дизайна интерфейсов.
На третьем курсе учеников встречает объектно-ориентированное программирование - парадигма, позволяющая значительно повысить скорость и удобство разработки, а также расширить возможности разработчика.
Также ученики занимаются работой с графическими библиотеками. Язык С++ предлагает обширное разнообразие инструментов для обработки 2D-графики и 3D-графики. Платформа Qt Creator имеет развитую систему классов и инструментов для создания собственных элементов интерфейса, так и для использования графики в проектах.
Основные темы курса Оставить заявку
Повторение
Синтаксис языка C++. Алгоритмические конструкции. Функции, область видимости переменных. Разработка приложений с графическим интерфейсом.
ООП
Объекты и классы. Свойства и методы классов. Конструктор класса. Сеттеры и геттеры. Инкапсуляция, композиция, наследование. Полиморфизм. Методология применения ООП.
Работа с графикой
Графические библиотеки и их стандартные классы. Настройка холстовой среды. Отрисовка графических примитивов. Подгрузка ассетов: шрифты, изображения, звуковые и прочие файлы. Отрисовка изображений и текста. Работа с координатами холста.
Проектная деятельность
Отслеживание событий клавиатуры и мыши. Таймер. Стандартные игровые алгоритмы: нахождение точки в области, соприкосновение областей, плавное движение, анимация. Разработка компьютерных игр с 2D-графикой.
На четвёртом курсе продолжается изучение возможностей языка C++. Ученики занимаются созданием сетевых приложений: от мессенджера и файлового сервера до онлайн-игр.
К используемым инструментам добавляются базы данных, позволяющие хранить и обеспечивать доступ к огромным объёмам структурированных данных.
В курс обучения также входят технологии обмена данными по сети: семейство протоколов TCP/IP, работа с сокетами в Qt и клиент-серверная архитектура приложений.
Основные темы курса Оставить заявку
Повторение
Синтаксис языка C++. Хранение, обработка и передача данных. Парадигмы СОП и ООП.
Принципы работы интернета
Протоколы передачи данных. Сетевая модель OSI. Семейство TCP/IP. Адресация в сети: IP-адрес, доменное имя, порт. Модель «клиент — сервер». Серверное приложение. «Тонкий» и «толстый клиент».
SQL
Базы данных. Синтаксис языка SQL. Получение данных из БД. Запись данных в БД. Фильтрация записей в БД. Работа с таблицами. Объединение таблиц. Работа в СУБД. Библиотека QtSql и её функционал.
Программирование поддержки сети
Сокетное соединение. Модуль QtNetwork. Реализация TCP-сервера и TCP-клиента. Клиент-серверный чат. Управление доступом к сети. Протокол HTTP. Взаимодействие с web-сервером. GET и POST запросы. Блокирующий подход. Авторизация пользователей. Использование базы данных в проекте. Игровой сервер и клиенты. QtWebEngine. Загрузка страниц и ресурсов.