Курс по языку программирования С++ с нуля! (Лекции, Обучение, Упражнения)
- Июнь 26, 2018
- 5003
Онлайн курс по языку программирования С++ включает в себя лекции и упражнения по таким темам как: Виды операций и операторов, Циклы, Статические массивы, Указатели, Функции, Структуры данных, Классы, Библиотека STL, Макросы в современном C++, QT: общие механизмы, QT: контейнеры, QT: чтение и запись файлов, QT: XML, QT: JSON, QT: основные визуальные компоненты, QT: кастомизация стандартных классов, QT: классы работы с датой и временем, QT: поддержка технологии drag and drop, QT: перехват клавиатуры и мыши, Передача данных по сети: общая теория, QT: передача данных по сети, Общие практические советы.
Данный курс представляет собой совокупность теоретических и практических занятий, направленных на изучение основ программирования на C++. Он будет полезен не только тем, кто решит работать программистом C++, но и программистом вообще, так как основы программирования в большинстве языков общие, отличаются только синтаксисом. Для тех, кто решит работать именно программистом C++, также будет большим плюсом при трудоустройстве знание библиотек QT и STL.
На рынке труда в данный момент профессия программиста очень востребована: чтобы в этом убедиться, достаточно зайти на www.hh.ru и поискать там предложения по работе в этой сфере. Для тех, кто собирается учиться в ВУЗе по профессии, связанной с программированием, данный курс также поможет повысить качество практического программирования.
Данный курс делает упор на практическую сторону вопроса: именно это важнее всего при освоении новой предметной области, ведь известно, что «практика — критерий истины». Это выгодно отличает данный курс от ряда других, которые направлены на теоретическую сторону вопроса.
Курс на 1 месяц состоит из 8 занятий, на которых будет освещены только основы программирования на C++, а 3-месячный курс, соответственно, из 24 занятий: на дополнительных 16 занятиях будет освещаться работа с STL и QT
№п/п | Тема | Краткое содержание |
1 | Вводное занятие | Знакомство, организационные вопросы. Установка среды разработки. Основные сведения о ЯП C++: структура ПО, компилятор, переменные, константы, типы данных, комментарии, пространства имён, ввод-вывод в стиле Си. |
2 | Виды операций и операторов | Операции ветвления, множественного ветвления, сравнения. Арифметические операции. Побитовые логические операции. Преобразования типов. |
3 | Циклы | Циклы со счётчиком, с предусловием, с постусловием. Выход из цикла. Break и Continue. |
4 | Статические массивы | Одномерные, двумерные. Строки CHAR и std::String. |
5 | Указатели | Суть. Операции над ними. Динамическое выделение и освобождение памяти. Динамические массивы. SMART – указатели. |
6 | Функции | Определение функции. Методы передачи параметров, методы возврата. Лямбда — функции. Перегрузка функций. Рекурсия. |
7 | Структуры данных. Классы. | Из чего состоят структуры и классы. Конструктор, деструктор, поля, методы, модификаторы доступа. |
8 | Классы. | Наследование, полиморфизм, инкапсуляция. Преобразование указателей на объекты: dynamic_cast, static_cast, reinterpret_cast, const_cast. Абстрактные классы (интерфейсы). Шаблонные классы. |
9 | Библиотека STL | Наиболее часто используемые контейнеры: vector, list, deque, map, multimap, set, multiset. Критерии выбора контейнера для решения практической задачи. Стандартные операции над контейнерами. |
10 | Макросы в современном C++ | Синтаксис, для чего используются, как работают. |
11 | QT: общие механизмы I | Механизм слотов и сигналов QT. |
12 | QT: общие механизмы II | Система ресурсов QT |
13 | QT: контейнеры | Основные классы для работы с контейнерами: QList, QVector, QStack, QQueue, QMap, QMultiMap, QHash |
14 | QT: чтение и запись файлов | QFile, QTextStream |
15 | QT: XML |
Краткое описание этого языка разметки. Основные классы для работы с ним: QXmlStreamWriter, QXmlStreamReader, QXmlStreamAttributes.
|
16 | QT: JSON | Краткое описание этого языка разметки. Основные классы для работы с ним: QJsonDocument, QJsonObject, QJsonArray. |
17 | QT: основные визуальные компоненты | Основные виджеты: QCheckBox, QComboBox, QDateTimeEdit, QDateEdit, QLabel, QLineEdit, QRadioButton, QPushButton |
18 | QT: Кастомизация стандартных классов | Разработка визуальных компонентов на базе стандартных с предыдущего занятия. |
19 | QT: классы работы с датой, временем и строками | QDate, QTime, QDateTime, QTimer, QString |
20 | QT: поддержка технологии drag and drop | QDragEnterEvent, QDragLeaveEvent, QDragMoveEvent, QDropEvent |
21 | QT: перехват событий клавиатуры и мыши | QKeyEvent, QMouseEvent, QWheelEvent |
22 | Передача данных по сети: общая теория | Протоколы передачи данных, модель OSI, клиент — серверная технология. |
23 | QT: передача данных по сети. | QDataStream, QTcpSocket, QTcpServer |
24 | Общие практические советы | Специфика работы программиста: как организовать свой рабочий процесс. |