Голосов: 0
#1
Название: C++. Начинающий разработчик
Автор: LevelUP
Описание:
Если Вы мечтаете стать разработчиком, изменить мир к лучшему, этот курс для Вас!
Уникальный курс С++ Junior Developer ориентирован на приобретение практических знаний и навыков, которые необходимы начинающим разработчикам на языке C++.
После окончания курса Вы сможете:
Начать карьеру C++ программиста
Использовать фреймворк Qt для создания своих приложений
Разрабатывать приложения для различных десктопных и мобильных платформ с минимумом изменений кода
Что Вы приобретаете:
Знания и навыки, которые позволят Вам реализовать любую задачу с помощью инструментов языка С++
После прохождения данного курса Вы сможете писать приложения на C++ с использованием Qt - самого совершенного и популярного кроссплатформенного фреймворка для C++
а также БЕСПЛАТНО:
+ 2 занятия, включенные в курс
+ Видеоматериалы уроков
+ Сертификат
1. Введение в C++
Языки высокого и низкого уровня.
История создания языка C, история C++. Перспективы - язык D.
Установка IDE Code::Blocks. Запуск программы. Отладка.
Программа «Hello world!» на C и на C++. Отличия С и C++.
Общая структура программы. Использование комментариев (практика: комментарии до кода).
Стиль оформления исходных тестов программ. Отступы, "лесенка", пробелы. Преимущества и недостатки автоматического форматирования исходного текста программы.
Объявление переменных. Основные типы данных: целочисленные (модификаторы знаковый/беззнаковый), вещественные (с плавающей точкой), логический тип, символы, строки.
Ввод и вывод данных (консоль) в C и в C++. Ввод и вывод из текстового файла.
Оператор присваивания. Операторы и их приоритеты. Скобки. Сокращённые операторы (+=, -=, *=, /=, %=, ++, --). Инкремент и декремент. Операции отношения: (<, <=, >, >=, ==, !=). Логические операции (&& и ||).
Тернарный оператор.
Массивы: одномерные, многомерные.
Записи (struct - структуры). typedef.
Записи с вариантами (union).
Оператор условного перехода if else.
Множественный выбор switch.
Циклы с предусловием и постусловием: while, do while. Цикл for. Операторы break, continue.
Модули: заголовочный файл (header), основной файл (.c и .cpp, .h и .hpp).
Литература по C/C++.
2. Указатели, работа с памятью
Типы памяти: статическая, динамическая (куча), стек.
Выделение и освобождение динамической памяти (malloc / free).
Ссылки и указатели в C++: общее и различия.
Операторы new и delete.
Утечки памяти и методы борьбы с ними
Отличия C и C++ (ссылки, в приведении типов, перегрузка функций).
Использование динамической памяти на примере реализации структур данных: список, стек, очередь и "дерево".
3. ООП - принципы: классы, объекты, прототипы
Объектно-ориентированное программирование (ООП, OOP): абстракция, инкапсуляция, наследование и полиморфизм.
Объявление класса
Создание экземпляра
Конструкторы и деструкторы.
Перегрузка операторов в C++. Вывод в поток.
Прототипы
Практика: класс "рациональная дробь".
4. Template. Шаблонные функции. Стратегии.
Обобщённое программирование.
Описание шаблона. Шаблонные функции (min, max и т.д.)
Шаблонные классы.
Контейнеры
Стандартная библиотека шаблонов STL: контейнеры, итераторы, алгоритмы, адаптеры, функторы (vector, algorithm)
5. Введение в Qt, Qt Creator, QtCore, QtGui, отладка
QT - история.
Установка и запуск Qt Creator. Qt Designer.
Создание простейшего приложения. Сигналы и слоты. Обработка событий.
Проектирование пользовательского интерфейса с учётом требований эргономичности (компоненты, события, сигналы, слоты в Qt) - описать процесс
Виды отладки: отладчик, трассировка (логгирование), модульные тесты, визуализаторы процесса выполнения.
6. SQL (на примере sqlite), QtSql
Язык SQL: SELECT, INSERT, UPDATE, DELETE.
Соединение с базой данных
Выполнение инструкций SQL. Выполнение запроса и навигация по результирующей выборке.
Вставка, изменение и удаление записей
Транзакции
Использование классов-моделей SQL (модель запроса, модель таблицы). Отображение данных в таблице-представлении.
7. Сетевое программирование. QtNetwork
Клиент-серверные приложения. Общие принципы. Обработка подключений в отдельном потоке.
Написание HTTP- и FTP-клиентов с помощью классов QHttp и QFtp.
Использование TCP с помощью классов QTcpSocket и QTcpServer
Многопоточное программирование
8. Системы контроля версий, git. Юнит-тестирование. QtTest. Shell
Системы контроля версий: централизованные (SVN), децентрализованные (git).
Основные команды git (pull, push, commit, fetch..). Использование TortoiseGit. Хостинг на github и bitbucket.
Виды тестов: модульные, приёмочные (общее и отличия). Ручное тестирование. Модульные тесты в С/C++: CUnit, CppUnit (возможности).
QtTest
Test Driven Development - разработка через тестирование ("красная" и "зелёная" полоса, цикл: тест - разработка - рефакторинг) - описание процесса.
Объекты заглушки (MockObjects) и их использование (цели, применимость).
9. Регулярные выражения.
Что такое регулярные выражения? Математический аппарат конечных автоматов, теория формальных языков и грамматик.
Базовые понятия: перечисление, группировка, квантификация.
Использование QRegExp. Наборы символов. Утверждения.
10. Введение в паттерны проектирования
Классификация шаблонов проектирования: Архитектурные паттерны, Паттерны проектирования, Идиомы
Паттерны проектирования классов/обьектов: адаптер, декоратор, заместитель, фасад и т.д.
Паттерны проектирования поведения классов/обьектов:
Порождающие паттерны проектирования: фабрика, Singleton, Prototype, Фабричный метод
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.