Курсы информатики и программирования для детей - Школа Real-IT / Программирование С++

Программирование на языке 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. Загрузка страниц и ресурсов.