Программирование на С++ [IT-Academy]
Для кого этот курс
Для тех, кто уже знаком с базовыми основами языка, и хочет повысить свой уровень.
Необходимая подготовка
Если вы не уверены в своих силах, для более лёгкого восприятия и быстрого освоения, обязательно рекомендуем прочитать книгу "Программирование: принципы и практика в С+ " (Бьёрн Страуструп) (обновлено для С 11/С 14) Введение в С++, написанное создателем этого языка.
Вы узнаете
- Что язык программирования С++ применяется в сочетании с дополнительными библиотеками для написания программ во всех операционных системах от прикладных приложений до драйверов и игр. Работает по средствам прямого взаимодействия с оборудованием компьютера, что выделяет его от других языков.
- Первая часть курса посвещена освоению С++. Ее задача – познакомить студента с основами языка программирования, дать базовые знания и объяснить основные понятия. Студент узнает, что отличает С++ от других языков, как работать со сторонними библиотеками и как программы взаимодействуют с «железом» компьютера.
- Далее студент изучает библиотеки Qt. Qt – это инструмент для кроссплатформенной разработки софта на C++. Его основная задача – дать возможность запускать одни и те же программы на разных операционных системах без изменения исходного кода проекта. Достаточно лишь скомпилировать код под конкретную платформу - и программа запустится на ней. ПО, созданное с помощью различных библиотек Qt, можно запускать не только на Windows и Linux, но и на iOS и Android. С помощью Qt создан Skype, Google Планета, плеер VLC и т.д.
- После освоения курса студенты умеют создавать программы, использующие систему ввода-вывода данных и работы с ними средствами языка программирования, создания программ, состоящих из нескольких файлов и использования сторонних библиотек (набора готовых программных блоков).
Модуль1
- Знакомство с компилятором
- Основные операторы
- Типы данных
- Написание первой программы
- Операторы, спецификаторы
- Перечисления, структуры
- Указатели, массивы
- Список
- Линковка
- Препроцессор
- Функции
- Сортировка массива
- ООП (инкапсуляция, поли-м, насл-е)
- Указатель this
- Static, const, ссылка
- Безопасный массив
- Перегрузка
- Перегрузка операторов
- Операторы new, delete
- Безопасный массив #2 (доработка)
- Наследование
- Конструкторы, деструкторы
- Множественое наследование
- Virtual
- Stack из массива #2
- Полиморфизм, RTTI, cast
- Переопределение методов
- Механизм переопределения
- Нахождение площади фигуры
- I/O
- iostream, fstream
- C++ 17 Filesystem
- Свои консольные mv и cp
- C++11/14
- rvalue
- constexpr, auto, decltype, initialize_list
- labbda, extern template, .....
- Перевод массива #3 в C++14
- Шаблоны
- Инстанцирование, параметры
- Специализация
- Массив #4
- Ошибки
- Иерархия ошибок
- Умные указатели
- Отладка кода
- enable_shared_from_this
- Свой умный указатель
- C++ Standard Library
- STL
- Контейнеры
- Итераторы
- Свой итератор
- Алгоритмы, предикаты
- Поиск, сортировка, копирование
- Переупоряд-е, модиф-я, рассчеты
- Сортировка в файле
- Многопоточность
- Управление, синхронизация
- Атомарные операции
- Проектирование
- Сортировка в файле #2
- C Library, C++
- cmath, cfloat, ctime, cerrno...
- memory, new, random ...
- Аллокатор
- Assembler
- Data Accessing Methods (registers)
- Addressing Modes
- Loops
- Сортировка массива
- Assembler Functions
- Recursive Functions
- UNIX File Concept
- Shared Library
- Memory Layout программы
- Allocator
- Math
- Optimization
- Сортировка в файле
- Make, CMake, IDE
- Правила make
- Переменные
- Команды cmake
- Добавления библиотек
- Eclipse CDT
- Плагины
- Real "Hello World"
- Git
- Настройка
- Состояния
- Работа с репозиториями
- Ветвление
- Утилиты слияния
- Удаленные репозитории
- GitHub - На примере создания дерева
- Boost
- Общие сведения
- Boost.Any
- Boost.Signals
- Boost String Algorithms
- Boost.Tribool
- Boost.Variant
- Эмитация работы с GUI
- Unit тестирование
- Общее представление
- Boost Test
- Google Test
- Своя библиотека unit tests
- DB
- SQL
- sqlite
- Connect to DB
- Простая библиотека
- POSIX API
- Windows API
- System Calls
- GUI
- Qt GUI
- GTK
- WxWidget
- UI "Hello World"
- Работа с сетью
- Сокеты
- TCP/UDP
- Обертка для сокета
- Curl
- Передача данных по сети
- High Integrity C++ standard
- Basic concepts
- Standard conversions
- Expressions
- Statements
- Declarations
- Definitions
- Classes
- Standard library
- Библиотека читателей
- RegExp
- Итераторы рег выражений
- Замена рег выражений
- Флаги рег выражений
- Исключения в рег выражениях
- Свой RegExp
https://www.dist.it-academy.by/course/c-game-developer/cd1-programmirovanie-na-s-/