Создай свои первые компьютерные программы

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

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

Всегда мечтали попробовать себя в области IT и программирования — этот курс для Вас! Никаких специальных требований для прохождения курса не предъявляется.

На курсе

  • запуск своей первой компьютерной программы;
  • знакомство с принципами работы современной вычислительной техники;
  • новые знания в области фундаментальной информатики и программирования;
  • изучение одного из самых известных языков программирования в мире (С++).

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

  • null

    Кто такие программисты?

    Путь программиста от постановки задачи до рабочей программы. Что такое алгоритм и почему он так важен. Знакомство с алгоритмами на примере Scratch.

  • null

    Поехали!

    Почему мы программируем на C++? Запуск первой программы на C++. Почему компьютер так глуп?

  • null

    Как компьютер получает, хранит и выводит информацию? #1

    Ввод вывод информации. Системы счисления. Понятие переменой.

  • null

    Как компьютер получает, хранит и выводит информацию? #2

    Типы данных. Знакомство с видами памяти. Представление данных в памяти. Программирование с использованием переменных.

  • null

    А что если…?

    Как заставить компьютер принимать решения? Разветвленный алгоритм и оператор if. Программирование с использованием условий.

  • null

    Все неслучайно…

    Знакомство с понятиями случайного и псевдослучайного числа. Псевдослучайные числа в C++.

  • null

    Что мы можем?

    Знакомство с понятиями случайного и псевдослучайного числа. Псевдослучайные числа в C++.

  • null

    Сколько можно повторять! #1

    Циклический алгоритм. Циклы с пост и пред условием (while, do-while).

  • null

    Сколько можно повторять! #2

    Цикл с заданным числом повторений (for).

  • null

    Нас много, и мы одинаковые.

    Массивы, как базовая структура данных. Массивы в C++.

  • null

    Собрать – собрали, а что теперь!?

    Стандартные алгоритмы обработки массивов.

  • null

    А-а-а!!! Меня нажали!

    Знакомство с событиями. Знакомство с визуальным программированием. Создание простой компьютерной игры с графическим интерфейсом.

  • null

    А вот и окна!

    Знакомство с C++ Builder. Понятие формы. Знакомство с простыми компонентами (кнопки, поля ввода, метки).

  • null

    Хочу хранить это вечно!

    Работа с файлами (создание, чтение, запись).  Отображение списков (листы). Многооконные приложения.

  • null

    Осторожно! Ток!

    Что такое микроконтроллер. Микроконтроллеры Arduino. Простейшие основы электроники. Программировании микроконтроллеров.

  • null

    «Умный» дом!

    Создание простейшего микроконтроллера для мониторинга показателей в квартире.

  • null

    Концепция объектно-ориентированного программирования

    Отличия процедурного и ООП. Концепция классов в С++. Понятие класса. Объявление класса. Данные-члены класса + функции-члены класса = инкапсуляция. Оператор sizeof и размер класса. Конструктор класса. Спецификаторы доступа. Создание экземпляра класса.

  • null

    Взаимоотношения между классами

    Наследование. Виды наследования. Простое (single) наследование. Объявление производного класса. Спецификатор protected в базовом классе. Спецификаторы наследования. Порядок вызова конструкторов и деструкторов. Передача параметров базовому классу при конструировании. Специфика передачи параметров конструктору копирования базового класса.

  • null

    Полиморфизм

    Раннее и позднее связывание. Виртуальные функции. Механизм вызова виртуальной функции. Виртуальные деструкторы. Чисто виртуальные функции и абстрактные классы. Наследование интерфейса и наследование реализации при открытом наследовании.

  • null

    Перегрузка операторов для базовых и пользовательских типов

    Правила перегрузки унарных и бинарных операторов. Порядок поиска компилятором функции. Формы перегрузки операторов. Перегрузка оператора с помощью метода класса. Перегрузка с помощью метода класса. Специфика перегрузки оператора присваивания.

  • null

    Статические члены класса, множественное наследование

    Ключевое слово static. Статические данные. Статические функции: для доступа извне к private или protected static-данным класса, для «косвенного» создания объекта. Структуры и объединения языка C++.Ключевые слова struct и union. Отличия структур и классов. Создание объектов производных классов при множественном наследовании. Полиморфизм и множественное наследование. Проблемы, возникающие при множественном наследовании.

  • null

    Механизм RTTI, исключения

    Оператор static_cast и указатели. Динамическая идентификация типа.
    Подключение RTTI. Оператор typeid и класс type_info. Оператор dynamic_cast. Что такое исключительные ситуации. Способы отслеживания «аварийных» ситуаций. Обработка исключений: встроенные средства С++ для обработки исключений — операторы try,catch, throw.

  • null

    Обобщенное программирование

    Шаблоны. Объявление шаблона. Инстанцирование шаблона.
    Обобщенное программирование. Обобщенные алгоритмы.
    Шаблоны функций. Способы обобщения функций, выполняющих одинаковые действия, но оперирующих данными разных типов. Создание функции по заданному шаблону и ее вызов.
    Шаблоны классов. Ключевое слово typename. Стандартная библиотека шаблонов(STL).

  • null

    Обобщенные алгоритмы стандартной библиотеки, потоки ввода/вывода

    Рассмотрение наиболее часто используемых обобщенных алгоритмов. Система ввода-вывода С++. Поток С++ с точки зрения системы. Поток С++ с точки зрения прикладной программы. Классы ввода/вывода.

  • null

    Классы Qt для создания приложений c графическим интерфейсом

    Кроссплатформенность Qt. Состав Qt. Модули Qt. Инструменты разработчика. Иерархия классов Qt. Обзор основных классов Qt. Директивы проекта. Виджеты и окна. Свойства виджетов. Настройка вешнего вида окон. Стандартные диалоговые окна.

  • null

    Событийно-ориентированное программирование

    Архитектура приложений, управляемых событиями. Обработка событий средствами Qt. Система доставки, контроля и фильтрации событий Qt. Очередь событий Qt. Обработчики событий различных типов. Аппаратно-независимый ввод/вывод. Реализация графического вывода средствами Qt – классы QPaintDevice и QPainter. Инструменты для «рисования». Вывод текста, векторной и растровой графики.

  • null

    Мета объектная модель Qt, механизм сигналов и слотов

    Qt как расширение С++. Мета объектный компилятор. Система динамических свойств Qt. Автоматические иерархии объектов. Именование объектов. Механизм сигналов и слотов. Отличия сигналов/слотов от событий. Реализация механизма сигналов/слотов. Установка соединения между объектами.

  • null

    Введение в архитектуру Модель-Представление-Контроллер (MVC)

    Архитектура MVC. Понятие MVC. Элементы управления, содержащие модели (QListWidget, QTableWidget, QTreeWidget, QComboBox). Система Graphics View Framework. Понятие сцены — класс QGraphicsScene. Класс для отображения – QGraphicsView. Классы графических примитивов: QGraphicsItem. QAbstractGraphicsShapeItem. QGraphicsRectItem. QGraphicsEllipseItem.

  • null

    Взаимодействие с базами данных

    Основные классы для работы с БД. Установление соединения с БД. Добавление таблиц в БД, работа с записями в таблицах, модификация полей записи, выборка записей, удовлетворяющих условию, упорядочение записей.

  • null

    Взаимодействие с базами данных

    Использование архитектуры MVC для работы с БД. Классы моделей: QSqlQueryModel, QSqlTableModel, QSqlRelationalTableModel, QSqlRelationalDelegate. Создание информационно-связанных форм (QDataWidgetMapper).

  • null

    Межпроцессное взаимодействие

    Реализация многозадачности посредством процессов. Формирование, хранение (QByteArray), передача «сырых» данных. Классы ввода/вывода (QIODevice, QFile, QBuffer, QProcess). Обмен данными между процессами. Обмен с дочерним процессом посредством перенаправления стандартного ввода/вывод. Разделяемая память (QSharedMemory).

  • null

    Использование многопоточности

    Реализация многозадачности посредством потоков. Потоковые классы (обзор). Использование класса QThread. Синхронизация потоков с помощью: QMutex, QSemaphore, QSystemSemaphore, QWaitCondition.

  • null

    Использование многопоточности

    Высокоуровневый API для поддержки многопоточности. Использование классов QtConcurrent, QRunnable, QThreadPool. Взаимодействие вторичного потока с главным. Механизмы оповещения главного потока (события, сигналы-слоты).

  • null

    Обмен данными по сети

    Классы для поддержки сетевого взаимодействия. Сетевые протоколы (TCP, UDP). Модель «клиент- сервер». Низкоуровневый API для взаимодействия посредством сокетов: QTcpServer, QTcpSocket, QHostAddress, QUdpSocket.

  • null

    Обмен данными по сети

    Обмен сообщениями разной длины. Асинхронный и блокирующий подход. Высокоуровневый API для сетевого взаимодействия. Классы: QNetworkAccessManager, QNetworkRequest, QNetworkReply.

  • null

    Библиотеки

    Виды библиотек. Статическая библиотека. Динамическая библиотека (DLL). DLL – стержень компонентной модели ОС Windows. Назначение DLL. Отличия приложения и DLL. Отличия статической библиотеки и DLL. Понятия, связанные с DLL: “подключение” DLL к исполняемому файлу (загрузка), совместное использование DLL несколькими приложениями, выполнение DLL в контексте вызвавшего потока, “отключение” DLL.

  • null

    Библиотеки

    Виды “связывания” DLL с исполняемым файлом: неявное (во время загрузки), явное (во время выполнения). Составные DLL: функция входа/выхода (DllMain). DEF – файлы. Экспорт данных и функций из DLL. Импорт данных и функций приложением из DLL.

  • null

    QT Designer, быстрая разработка прототипов

    Создание новой формы в QT Designer. Добавление виджетов. Компоновка. Порядок следования табулятора. Сигналы и слоты. Использование в формах собственных виджетов. Использование форм в проектах. Компиляция. Динамическая загрузка формы.

  • null

    Графика 3D

    Основные положения OpenGL. Классы QT для работы с OpenGL. Рисование при помощи OpenGL. Комбинирование OpenGL и QPainter. Создание наложений с помощью объектов Framebuffer.

  • null

    Проведение тестов

    Создание тестов. Создание тестов графического интерфейса. Параметры для запуска тестов.

+ Уровень 0
  • null

    Кто такие программисты?

    Путь программиста от постановки задачи до рабочей программы. Что такое алгоритм и почему он так важен. Знакомство с алгоритмами на примере Scratch.

  • null

    Поехали!

    Почему мы программируем на C++? Запуск первой программы на C++. Почему компьютер так глуп?

  • null

    Как компьютер получает, хранит и выводит информацию? #1

    Ввод вывод информации. Системы счисления. Понятие переменой.

  • null

    Как компьютер получает, хранит и выводит информацию? #2

    Типы данных. Знакомство с видами памяти. Представление данных в памяти. Программирование с использованием переменных.

  • null

    А что если…?

    Как заставить компьютер принимать решения? Разветвленный алгоритм и оператор if. Программирование с использованием условий.

  • null

    Все неслучайно…

    Знакомство с понятиями случайного и псевдослучайного числа. Псевдослучайные числа в C++.

  • null

    Что мы можем?

    Знакомство с понятиями случайного и псевдослучайного числа. Псевдослучайные числа в C++.

  • null

    Сколько можно повторять! #1

    Циклический алгоритм. Циклы с пост и пред условием (while, do-while).

  • null

    Сколько можно повторять! #2

    Цикл с заданным числом повторений (for).

  • null

    Нас много, и мы одинаковые.

    Массивы, как базовая структура данных. Массивы в C++.

  • null

    Собрать – собрали, а что теперь!?

    Стандартные алгоритмы обработки массивов.

  • null

    А-а-а!!! Меня нажали!

    Знакомство с событиями. Знакомство с визуальным программированием. Создание простой компьютерной игры с графическим интерфейсом.

  • null

    А вот и окна!

    Знакомство с C++ Builder. Понятие формы. Знакомство с простыми компонентами (кнопки, поля ввода, метки).

  • null

    Хочу хранить это вечно!

    Работа с файлами (создание, чтение, запись).  Отображение списков (листы). Многооконные приложения.

  • null

    Осторожно! Ток!

    Что такое микроконтроллер. Микроконтроллеры Arduino. Простейшие основы электроники. Программировании микроконтроллеров.

  • null

    «Умный» дом!

    Создание простейшего микроконтроллера для мониторинга показателей в квартире.

+ Уровень 1
  • null

    Концепция объектно-ориентированного программирования

    Отличия процедурного и ООП. Концепция классов в С++. Понятие класса. Объявление класса. Данные-члены класса + функции-члены класса = инкапсуляция. Оператор sizeof и размер класса. Конструктор класса. Спецификаторы доступа. Создание экземпляра класса.

  • null

    Взаимоотношения между классами

    Наследование. Виды наследования. Простое (single) наследование. Объявление производного класса. Спецификатор protected в базовом классе. Спецификаторы наследования. Порядок вызова конструкторов и деструкторов. Передача параметров базовому классу при конструировании. Специфика передачи параметров конструктору копирования базового класса.

  • null

    Полиморфизм

    Раннее и позднее связывание. Виртуальные функции. Механизм вызова виртуальной функции. Виртуальные деструкторы. Чисто виртуальные функции и абстрактные классы. Наследование интерфейса и наследование реализации при открытом наследовании.

  • null

    Перегрузка операторов для базовых и пользовательских типов

    Правила перегрузки унарных и бинарных операторов. Порядок поиска компилятором функции. Формы перегрузки операторов. Перегрузка оператора с помощью метода класса. Перегрузка с помощью метода класса. Специфика перегрузки оператора присваивания.

  • null

    Статические члены класса, множественное наследование

    Ключевое слово static. Статические данные. Статические функции: для доступа извне к private или protected static-данным класса, для «косвенного» создания объекта. Структуры и объединения языка C++.Ключевые слова struct и union. Отличия структур и классов. Создание объектов производных классов при множественном наследовании. Полиморфизм и множественное наследование. Проблемы, возникающие при множественном наследовании.

  • null

    Механизм RTTI, исключения

    Оператор static_cast и указатели. Динамическая идентификация типа.
    Подключение RTTI. Оператор typeid и класс type_info. Оператор dynamic_cast. Что такое исключительные ситуации. Способы отслеживания «аварийных» ситуаций. Обработка исключений: встроенные средства С++ для обработки исключений — операторы try,catch, throw.

  • null

    Обобщенное программирование

    Шаблоны. Объявление шаблона. Инстанцирование шаблона.
    Обобщенное программирование. Обобщенные алгоритмы.
    Шаблоны функций. Способы обобщения функций, выполняющих одинаковые действия, но оперирующих данными разных типов. Создание функции по заданному шаблону и ее вызов.
    Шаблоны классов. Ключевое слово typename. Стандартная библиотека шаблонов(STL).

  • null

    Обобщенные алгоритмы стандартной библиотеки, потоки ввода/вывода

    Рассмотрение наиболее часто используемых обобщенных алгоритмов. Система ввода-вывода С++. Поток С++ с точки зрения системы. Поток С++ с точки зрения прикладной программы. Классы ввода/вывода.

  • null

    Классы Qt для создания приложений c графическим интерфейсом

    Кроссплатформенность Qt. Состав Qt. Модули Qt. Инструменты разработчика. Иерархия классов Qt. Обзор основных классов Qt. Директивы проекта. Виджеты и окна. Свойства виджетов. Настройка вешнего вида окон. Стандартные диалоговые окна.

  • null

    Событийно-ориентированное программирование

    Архитектура приложений, управляемых событиями. Обработка событий средствами Qt. Система доставки, контроля и фильтрации событий Qt. Очередь событий Qt. Обработчики событий различных типов. Аппаратно-независимый ввод/вывод. Реализация графического вывода средствами Qt – классы QPaintDevice и QPainter. Инструменты для «рисования». Вывод текста, векторной и растровой графики.

  • null

    Мета объектная модель Qt, механизм сигналов и слотов

    Qt как расширение С++. Мета объектный компилятор. Система динамических свойств Qt. Автоматические иерархии объектов. Именование объектов. Механизм сигналов и слотов. Отличия сигналов/слотов от событий. Реализация механизма сигналов/слотов. Установка соединения между объектами.

  • null

    Введение в архитектуру Модель-Представление-Контроллер (MVC)

    Архитектура MVC. Понятие MVC. Элементы управления, содержащие модели (QListWidget, QTableWidget, QTreeWidget, QComboBox). Система Graphics View Framework. Понятие сцены — класс QGraphicsScene. Класс для отображения – QGraphicsView. Классы графических примитивов: QGraphicsItem. QAbstractGraphicsShapeItem. QGraphicsRectItem. QGraphicsEllipseItem.

  • null

    Взаимодействие с базами данных

    Основные классы для работы с БД. Установление соединения с БД. Добавление таблиц в БД, работа с записями в таблицах, модификация полей записи, выборка записей, удовлетворяющих условию, упорядочение записей.

  • null

    Взаимодействие с базами данных

    Использование архитектуры MVC для работы с БД. Классы моделей: QSqlQueryModel, QSqlTableModel, QSqlRelationalTableModel, QSqlRelationalDelegate. Создание информационно-связанных форм (QDataWidgetMapper).

  • null

    Межпроцессное взаимодействие

    Реализация многозадачности посредством процессов. Формирование, хранение (QByteArray), передача «сырых» данных. Классы ввода/вывода (QIODevice, QFile, QBuffer, QProcess). Обмен данными между процессами. Обмен с дочерним процессом посредством перенаправления стандартного ввода/вывод. Разделяемая память (QSharedMemory).

  • null

    Использование многопоточности

    Реализация многозадачности посредством потоков. Потоковые классы (обзор). Использование класса QThread. Синхронизация потоков с помощью: QMutex, QSemaphore, QSystemSemaphore, QWaitCondition.

  • null

    Использование многопоточности

    Высокоуровневый API для поддержки многопоточности. Использование классов QtConcurrent, QRunnable, QThreadPool. Взаимодействие вторичного потока с главным. Механизмы оповещения главного потока (события, сигналы-слоты).

  • null

    Обмен данными по сети

    Классы для поддержки сетевого взаимодействия. Сетевые протоколы (TCP, UDP). Модель «клиент- сервер». Низкоуровневый API для взаимодействия посредством сокетов: QTcpServer, QTcpSocket, QHostAddress, QUdpSocket.

  • null

    Обмен данными по сети

    Обмен сообщениями разной длины. Асинхронный и блокирующий подход. Высокоуровневый API для сетевого взаимодействия. Классы: QNetworkAccessManager, QNetworkRequest, QNetworkReply.

  • null

    Библиотеки

    Виды библиотек. Статическая библиотека. Динамическая библиотека (DLL). DLL – стержень компонентной модели ОС Windows. Назначение DLL. Отличия приложения и DLL. Отличия статической библиотеки и DLL. Понятия, связанные с DLL: “подключение” DLL к исполняемому файлу (загрузка), совместное использование DLL несколькими приложениями, выполнение DLL в контексте вызвавшего потока, “отключение” DLL.

  • null

    Библиотеки

    Виды “связывания” DLL с исполняемым файлом: неявное (во время загрузки), явное (во время выполнения). Составные DLL: функция входа/выхода (DllMain). DEF – файлы. Экспорт данных и функций из DLL. Импорт данных и функций приложением из DLL.

  • null

    QT Designer, быстрая разработка прототипов

    Создание новой формы в QT Designer. Добавление виджетов. Компоновка. Порядок следования табулятора. Сигналы и слоты. Использование в формах собственных виджетов. Использование форм в проектах. Компиляция. Динамическая загрузка формы.

  • null

    Графика 3D

    Основные положения OpenGL. Классы QT для работы с OpenGL. Рисование при помощи OpenGL. Комбинирование OpenGL и QPainter. Создание наложений с помощью объектов Framebuffer.

  • null

    Проведение тестов

    Создание тестов. Создание тестов графического интерфейса. Параметры для запуска тестов.

Записаться на курс

16 занятий

1.5 часа каждое занятие

5 000 р. / мес.

цена без скидки

Внимание! Подача заявки не накладывает обязательства и не является гарантией зачисления на курс. После обработки данных оператором с Вами свяжутся по одному из указанных в заявке телефонов для уточнения информации.

Идет набор групп

* Ставя отметку в этом пункте, я подтверждаю, что мне исполнилось 14 лет и в соответствии с положениями Федерального закона №152-ФЗ от 27.07.2006 г. «О персональных данных» я, свободно, своей волей и в своем интересе, даю свое согласие на обработку моих персональных данных, представленных в заявке, в целях доведения информации, связанной с обучением на курсах, организации обучения, обеспечения соответствующего образовательного процесса, оформления и выдачи сертификата о прохождении обучения, подтверждения подлинности сертификата, а также ведения статистики. Я согласен с тем, что обработка может включать в себя следующие действия: сбор, систематизацию, накопление, хранение, уточнение (обновление, изменение), использование, распространение (в том числе передачу третьим лицам), обезличивание, блокирование, уничтожение. Внимание: если Вам меньше 14 лет, Вы вправе подать заявку на обучение только с согласия Ваших родителей, опекунов или законных представителей. Для получения подробной информации обращайтесь по адресу info@worldofeducation.ru