C++ Junior Developer

Курс сайт события http://levelp.ru/courses/programmirovanie/c-junior-developer/

Добавить в календарь:
Поделиться:

Курс С++ Junior Developer для всех, кто желает стать разработчиком на языке С++. Курс ориентирован на приобретение практических знаний, навыков и опыта, которые необходимы начинающим разработчикам на языке C++. 

 

Что даёт курс программирования на C++ ? 

  • Знания и навыки, которые позволят Вам реализовать любую задачу с помощью инструментов языка С++ с использованием Qt - самого совершенного и популярного кроссплатформенного фреймворка для C++ 
  • Начало карьеры C++ программиста 
  • Новые полезные знакомства и новых друзей 
  • Сертификат о прохождении курса


Краткая программа курса: 

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, Фабричный метод ​

Преподаватель

Денис

Денис 

Закончил СПбГЭТУ «ЛЭТИ» по специальности «Автоматизированные системы обработки информации и управления» (АСОиУ).

Уже во время учебы Денис был участником и готовил команды своего университета к олимпиадам по программированию ACM ICPC(проводил лекции, тренировки, разборы задач), а также был методистом в «Заочной школе современного программирования» при журнале «Компьютерные инструменты в образовании». 
 
Более 10 лет Денис работал в компаниях и проектах различного уровня, где приходилось решать задачи на C++, C# и Java, а также преподавал курсы: «Программирование», «Операционные системы», «Компьютерная графика», «Конструирование программ» в СПбГЭТУ «ЛЭТИ».
 
В настоящее время Денис работает в компании Oracle, курирует и ведёт сборы для одаренных школьников в центре «Интеллект» по информатике (программированию), а также ведёт занятия по C++ и Java для студентов ЛЭТИ, организуя работу в командах над курсовыми проектами. 
 
"Все, чего не хватает начинающим программистам - это понимания того, как практику совместить с теорией, а также веры в себя и свои силы. Все это приходит только, когда ты видишь реальные результаты своей работы. Я старался сделать курс "С++ Junior Developer" таким, чтобы у каждого участника курса после окончания было четкое понимание всех аспектов, необходимых начинающему программисту, которые он смог бы применить на практике" - говорит Денис.

Денис

Закончил СПбГЭТУ «ЛЭТИ» по специальности «Автом

Комментарии (0):

Оставлять комментарии могут только зарегистрированные пользователи

Для получения embed кода необходимо кликнуть правой
кнопкой мыши на видео и выбрать пункт меню
'Сгенерировать HTML код'

Стоимость курса очно в аудитории - 15 970 рублей

Стоимость участия онлайн - 12 970 рублей

Забыли пароль? Регистрация