Программирование на языке C++
Возраст от 10 лет. Продолжительность обучения 4 года.
На языке С++ постоянно работают миллионы программистов по всему миру.
Достоинства:
- Один из популярнейших языков.
- Высокая скорость.
- Гибкость.
- Низкоуровневый доступ к оборудованию и использование высокоуровневых конструкций.
Язык С++ - язык высокого уровня, на котором разрабатываются большинство современных программ. Язык С++ станет проводником в мир IT-технологий для учеников, мечтающих стать гуру в программировании.
Первый курс посвящен разработке приложений без графического интерфейса, где взаимодействие пользователя с компьютером происходит посредством консоли. Изучаем основные конструкции языка: условия, циклы, функции. Работаем с простыми переменными и с массивами. Используем простые и сложные алгоритмы для решения задач.
Основные темы курса Оставить заявку
Назначение курса
Изучить методы построения программ на языке C++ и основные конструкции языка, научиться создавать консольные приложения.
Основы программирования на языке С++
Введение в программирование. Классификация языков программирования: языки высокого и низкого уровня, процедурное программирование и ООП. Особенности языка. Кроссплатформенная интегрированная среда разработки приложений Qt Creator.
Повторение: алгоритмы и блок-схемы.
Структура программы на языке С++
Функция main. Алфавит языка, основные типы данных. Ввод, вывод данных. Арифметические операции и выражения. Линейный алгоритм. Операторы управления. Условный оператор. Оператор варианта. Операторы цикла: цикл с предусловием, цикл с постусловием, цикл с параметром. Стандартные функции. Стандартные функции над арифметическими операндами.
Структурированные типы данных.
Статические массивы, основные операции над массивами. Поиск минимального и максимального элементов массива, сортировка массива. Строки. Операции над строками. Форматированный ввод/вывод в С++. Использование флагов и манипуляторов. Файлы. Работа с текстовыми файлами: запись в файл, чтение файла. Функции. Локальные и глобальные переменные. Область видимости переменных в функции. Передача параметров в функцию. Возврат результата. Рекурсивные функции.
На курсе С++2 происходит переход от процедурного к объектно – ориентированному программированию. Система классов Qt Creator — мощный инструмент для создания приложений с развитым пользовательским графическим интерфейсом. В результате обучения ученики смогут самостоятельно создать программы не только для ввода данных пользователем и их обработки, но и организовать взаимодействия и передачу данных в многооконных приложениях.
Основные темы курса Оставить заявку
Назначение курса
Создание приложений в Qt Creator с использованием Qt Designer.
Повторение
Типы данных. Основные конструкции языка. Функции.
Объектно-ориентированное программирование на языке С++
Динамические массивы, выделение памяти. Статические и динамические матрицы. Обработка двоичных файлов. Указатели. Операции с указателями. Указатели на функции. Совместное использование динамических массивов, указателей, функций в сложных задачах обработки массивов.
Объектно-ориентированное программирование. Классы и объекты. Структуры. Принципы ООП. Модификаторы доступа. Иерархия классов. Qt Creator и ООП. Структура проекта. Ресурсы программы. Реализация классов в С++. Конструкторы и деструкторы. Статические свойства и методы классов. Окна. Класс QMainWindow. Создание графического интерфейса средствами Qt. Виджеты. Компоновка элементов. Сигнально-слотовые соединения. Дополнительные сигналы. Работа с текстовыми строками в Qt. Класс QString. Класс QStringList. Работа с файлами в Qt. Стандартные диалоги. Окна сообщений. Создание диалоговых окон. Класс QDialog. Модальные и немодальные диалоговые окна. Сигнально-слотовые соединения. Дополнительные сигналы. Перегрузка членов классов. Ранее и позднее связывание. Рисование элементов. Класс TPainter.
Работа с базами данных, сетевыми технологиями и двухмерной графикой. Являясь самым быстрым на сегодняшний день языком программирования, С++ оказывается одним из лучших для разработки игр в 2D и 3D, многопользовательских и других. И здесь большая роль отводится графическому представлению интерфейса игры. Платформа Qt Creator имеет развитую систему классов и инструментов для создания собственных элементов интерфейса, так и для использования графики в проектах.
База данных - один из главных терминов в арсенале любого программиста. Понимание устройства и работы БД не только расширит кругозор, но и даст вполне реальную практическую пользу каждому, кто хочет стать профессионалом в сфере программирования.
Основные темы курса Оставить заявку
Назначение курса
Создание приложений баз данных.
Повторение
Типы окон Qt Creator. Модальные и немодальные диалоговые окна. Окна сообщений. Стандартные диалоги. Класс QMainWindow. Меню. Панели инструментов. Строка состояния Сигналы и слоты предопределенные и создаваемые пользователем. События. События клавиатуры, события мыши. Переопределение специализированных методов обработки событий.
Компьютерная графика
Введение в компьютерную графику. Классы геометрии. Цвет. Класс QColor. Цветовые модели, палитра, предопределенные цвета. Контекст рисования, класс QPaint. Событие обновление контекста рисования класс QPaintEvent. Перья и кисти. Градиенты. Рисование графических примитивов, запись команд рисования. Работа со шрифтами. Трансформация систем координат: перемещение, масштабирование, поворот, скос. Трансформационные матрицы. Графическая траектория. Отсечения. режим совмещения. Графические эффекты. Растровые изображения. Форматы графических файлов. Контекстно — независимое и конткстно — зависимое представление. Растровые изображения как контекст рисования. Создание нестандартного окна виджета. Графическое представление. Интервью или модель-представление, концепция на примере сцены. Сцена, представление, элемент, события. Виджеты в графическом представлении. События клавиатуры, мыши, перетаскивания. Анимация и мультимедиа. Класс QMovie. SVG — графика. Спрайтовая анимация. Модуль QtMultimedia. Звук: класс QSound. Класс QMediaPlayer — воспроизведение звуковых и видеофайлов.
Базы данных
Классификация баз данных. Реляционные базы данных. Основные понятия: таблицы, ключи, связи. Проектирование баз данных. Этапы проектирования. Информационная модель, ER-диаграмма. Логическая модель, преобразование диаграммы в реляционную модель данных. Физическая модель, выбор СУБД, создание реляционной базы данных в СУБД SQLite. Язык запросов SQL. Организация запросов на выборку, добавление, изменение и удаление записей. Использование языка SQL в библиотеке Qt. Модуль QtSql. Уровни взаимодействия приложения с базой данных. Соединение с базой данных. Исполнение команд SQL. Классы SQL — моделей для интервью. Табличная модель QsqlTableModel, работа с одной таблицей. Реляционная модель QsqlRelationalTableModel, отображение данных в модели-представлении, установление связей, делегаты. Модель запроса QsqlQuery, выполнение параметрических запросов.
На курсе С++4 продолжается изучение возможностей Qt Creator. Создание сетевых приложений: от мессенджера и файлового сервера до онлайн игры. Продолжается изучение баз данных, - в своих приложениях используем серверные базы данных с многопользовательским доступом.
Изучаем технологию Qt Quick для создания пользовательского интерфейса с помощью декларативного языка QML и создаем приложения для мобильных устройств.
В курс обучения также входят некоторые аспекты, связанные с обработкой больших данных: сбор, агрегация и визуализация.
Основные темы курса Оставить заявку
Повторение
Серверные реляционные базы данных. СУБД PostgreSQL- создание базы данных, управление, SQL-запросы.
Принципы работы интернета
Протоколы передачи данных. Сетевая модель. OSI. Семейство TCP/IP. Адресация в сети: IP-адрес, доменное имя, порт. Модель «клиент — сервер». Серверное приложение. «Тонкий» и «толстый клиент».
Программирование поддержки сети
Сокетное соединение. Модуль QtNetwork Реализация TCP-сервера, TCP-клиента. Клиент-серверный чат Управление доступом к сети. Протокол HTTP. Взаимодействие с web-сервером. Класс QNetworkAccessManager. Файловый сервер и клиент. GET и POST запросы. Блокирующий подход. Авторизация пользователей. Использование базы данных в проекте Режим proxy. Информация о хосте. Он-лайн игра. Игровой сервер и клиенты. QtWebEngine. Разработка браузеров и других приложений, отображающих веб-страницы. Загрузка страниц и ресурсов.
Язык сценариев JavaScript
Синтаксис языка сценариев. Управляющие структуры. Встроенные объекты. Классы поддержки JavaScript.
Технология Qt Quick
Введение в QML. Использование JavaScript в QML. Элементы. Визуальные элементы. Создание собственных элементов. Создание динамических элементов. Готовые элементы пользовательского интерфейса. Диалоговые окна. Управление размещением элементов. Элементы графики. Цвета, градиенты, растровые изображения. Рисование на элементах холста. Шейдеры и эффекты. Пользовательский ввод. Область мыши, сигналы. Ввод с клавиатуры. Мультитач. Анимация. Анимация при изменении свойств. Анимация поведения. Состояния и переходы. Модуль частиц. Модель/Представление. Модель списка, XML-модель, JSON — модель. Представление данных моделей. Визуальная модель данных. Использование языка QML в С++. Использование компонентов языка С++ в QML. Мобильные приложения и Qt. Особенности мобильных приложений. Пример разработки мобильного приложения.
Работа с большими данными
Сбор структурированных и неструктурированных данных. Источники больших данных. принципы работы с большими данными. Методы сортировки. Поиск элемента по критерию. Библиотеки визуализации данных.