Описание
C++ се използва навсякъде – от уеб браузъри до създаване на игри, от операционни системи до machine learning (ML). В обучението ще стартираме от базовите концепции за езика С++, а именно променливи, условни оператори, цикли, масиви и функции, плавно ще преминем през обектно-ориентираното програмиране (object-oriented programing) и ще завършим с теми за нишки и работа с XML/JSON данни и бази данни. Материалът се надгражда постепенно, с много примери, упражнения, задачи за самоподготовка и консултации с лектора. Обучението завършва с практически проект за изготвяне на приложение подобно на реалните такива.
Какво ще научите:
- Как да програмите със С++ – един от най-мощните езици за програмиране
- Как да използвате различни структури от данни за лесна обработка на информация
- Какви са принципите и основните компоненти на обектно-ориентираното програмиране
- Как да създавате йерархии от класове с композиция, агрегация, наследяване, полиморфизъм и множествено наследяване
- Какво са указателите (pointers) и референции (references) и каква е силата им
- Как да четете и записвате данни в текстови и бинарни файлове и да ползвате сериализация и десериализация за обмен на информация
- Как да четете и записвате данни в XML и JSON
- Как да свържете приложението с SQL тип база данни и да създавате, променяте и изтривате записи
- Как да ползвате регулярни изрази и lambdas
- Как да създавате producer/consumer приложения, използвайки multithreading и concurrency
Програма на курс “Програмирането със С++”
- Моята първа C++ програма
- Запознаване със средата за разработка – Visual Studio Code
- Тип за цели числа
- Тип за дробни числа
- Булев тип
- Тип за символи
- Запазената дума auto
- Указатели
- Символни низове
- Променливи. Използване на променливи
- Тип по подразбиране
- Специални символи
- Оператори за извършване на аритметични действия
- Оператори за сравняване
- Оператори за логически операции
- Други оператори
- Явно и неявно преобразуване на типовете
- Изрази
- Извеждане на информация
- Четене на информация
- if и if-else изрази
- Вложени if изрази
- switch-case изрази
- while цикъл
- do … while цикъл
- for цикъл
- Вложени цикли
- Цикли за обхождане на поредици от елементи
- Деклариране и създаване на едномерен масив
- Инициализиращ списък
- Достъп до елементите на масив
- Четене и извеждане на масиви от и на екрана
- Обхождане на масиви
- Деклариране и създаване на многомерен масив
- Търсене в масив
- Сортирана на масив
- Компоненти на програма в C++
- Функции без параметри
- Функции с параметри
- Function prototypes
- Argument coercion
- Енумератори
- Storage класове
- Scope правила
- Ред на изпълнение на функциите
- Референции и параметри
- Параметри по подразбиране
- Предефиниране на функции
- Функции шаблони
- Подаване на масиви към функции
- Деклариране и инициализация
- Операции с указатели
- Подаване на параметри на функция чрез референция с указател
- Използване на const с указатели
- sizeof оператори
- Аритметика с указатели
- Връзки между указатели и масиви
- Масиви от указатели
- Nullptr
- STL String
- Основни операции със STL стрингове – сравнение, слепване, намиране на подстринг, търсене
- Още операции със стрингове – размяна на подстрингове, изтриване на подстрингове
- Класове, обекти, методи и полета на клас
- Дефиниране на клас с метод
- Дефиниране на метод с параметри
- Полета на клас, сет методи и гет методи
- Инициализиране на обекти с конструктори
- Uniform инициализация
- Конструктор с аргументи по подразбиране
- Инициализация чрез присвояване
- Копиращ конструктор
- Деструктори
- const обекти и const методи
- Композиция
- Приятелско функции и приятелски класове
- Използване на указател this
- Статични полета и методи
- Базови класове и класове наследници
- protected членове на клас
- Връзки между базови класове и класове наследници
- Конструктори и деструктори в класовте наслоедници
- public, protected и private наследяване
- Примери за полиморфизъм
- Връзки между обектите в йерархия от наследяване
- Виртуални функции
- Полета за тип и използване на switch конструкция
- Абстрактни класове и чисти виртуални функции
- Базови концепции
- Хвърляне, прихващане и обработка на изключения
- Основи на предефиниране на оператори
- Предефиниране на бинарни оператори
- Предефиниране на унарни оператори
- const_cast оператор
- namespaces
- Запазената дума Оператор
- Указатели към членове на клас (.* и ->*)
- Множествено наследяване
- Множествено наследяване и виртуални базови класове
- Въведение в Standard Template Library (STL)
- Въведение в контейнери, итератори и акгоритми
- Последователни контейнери: вектор, списък, опашка
- Асоциативни контейнери: мултимножество, множество, мултимап, мап
- Контейнери адаптери: стек, опашка, приоритетна опашка
- fill, fill_n, generate и generate_n
- equal, mismatch и lexicographical_compare
- remove, remove_if, remove_copy и remove_copy_if
- replace, replace_if, replace_copy и replace_copy_if
- Математически алгоритми
- Основни алгоритми за търсене и сортиране
- swap, iter_swap и swap_ranges
- copy_backward, merge, unique и reverse
- inplace_merge, unique_copy и reverse_copy
- Операции с множества
- lower_bound, upper_bound и equal_range
- Heapsort
- min и max
- Файлове и потоци
- Достъп до файлове
- Създаване на файл
- Записване на данни във файл
- Четене от файл
- Сериализация на обекти
- Основни XML концепции
- Четена на XML
- Parsing XML
- Писане в XML
- Въведение в JSON
- Четене на JSON данни
- Parsing JSON
- Писане в JSON
- Move и r-value
- Ламбди (Lambdas)
- Smart указатели, unique_ptr, shared_ptr, weak_ptr
- Регулярни изрази
- Валидиране на входни данни с регулярни изрази
- Въведение
- Често срещани проблеми – deadlocks, starvation, race conditions, inconsistent reads
- Изрично заключване и синхронизация
- Producer/Consumer релации
- Какво е база данни?
- Въведение в SQL заявки
- Запознаване с MySQL/PostgreSQL/SQLite бази
- Използване на SQLAPI++ библиотека
- Връзка към база данни
- CRUD действия – създаване, четене, промяна и изтриване на данни
Продължителност
Материалът ще бъде преминат в рамките на 6 месеца, по 12 часа седмично, разделени в лекции и време за самоподготовка.
Начало на обучението
18.09.2024г.
За кого е подходящо: | |
---|---|
Начинаещи | ✔ |
Специалисти с 3-5 години опит | ✖ |
Senior професионалисти | ✖ |
Форми на обучение: | |
---|---|
Онлайн | ✔ |
Присъствено | ✖ |
Хибридно | ✖ |
Тип обучения: | |
---|---|
Платени | ✔ |
Безплатни | ✖ |
Цена | 980 лв. / |
Изпити и сертификати: | |
---|---|
Изпит | ✔ |
Сертификат | ✔ |
Удостоверение за Професионално Обучение | ✔ |
Необходими ли са предишни познания
“Програмиране със С++” е специално създаден за абсолютно начинаещи, без предишен опит с програмиране.
Кариерно ориентиране
Персонална консултация с лектора на обучението и експерт от DevStyleR Academy за възможностите за кариерно развитие в ИТ сферата, съвети от бизнес практиката и как да се държите на интервю за работа.
Как да се запиша | Записването и заплащането става през магазина или от бутон |
Срок за записване | 17.09.2024г. |
Форма на обучение | Онлайн формат, два пъти седмично от 18:00 до 20:00ч. Възползвайте се от най-доброто на дистанционното обучение – пестенето на време. Съчетайте го с отличната възможността да получите отговори на въпроси, които ви вълнуват на живо от лекторите в курса в удобно за вас време. |
Ще има ли изпит? | Да |
Ще получа ли сертификат? | Всички участници завършили курса ще получат сертификат за преминато обучение, а при постигнат хорариум от часове и Свидетелство за професионална квалификация. |