Онлайн-навчання

Курс C++ Basic

Навчання С++ з нуля онлайн? З ITEA!
Курс С++ дозволить створювати ігри, програмне забезпечення, прикладні програми та нейромережі.

КОЛИ

Старт

Йде набір на курс

СКІЛЬКИ

16 занять

2-3 рази на тиждень

З 19:00 до 22:00

ЦІНА

8950 UAH

6700 UAH

Доступна оплата частинами

Доступна оплата частинами

Навчання С++ проходить так:

Програма курсу

Вебінар

Заняття проходять в онлайн-форматі. Кожен студент доєднується до стріму, де може поставити запитання викладачеві в режимі реального часу й отримати розгорнуту відповідь. Усі уроки для початківців записуються, тому запис будь-якого заняття завжди можна переглянути в особистому кабінеті.

Домашні завдання

Вивчення С++ з нуля в ITEA передбачає виконання домашніх завдань після завершення тематичних блоків з програмування. Так ти закріплюєш пройдений матеріал і отримуєш більше практичних навичок.

Робота з ментором

Ментор супроводжує групу протягом занять та після уроків. Він консультує з приводу домашніх завдань, складання портфоліо та вибору подальшого напрямку. Саме ментор приходить на допомогу, коли у студентів виникають труднощі.

Курсовий проєкт

Наприкінці курсу ти готуєш курсовий проєкт, який потім зможеш додати до свого портфоліо програміста. Вивчення основ C++ разом з ITEA — просто, ефективно й цікаво!

Перша робота в IT?
Разом з ITEA!

Про працевлаштування

Індивідуальний план вивчення для кожного студента

Допомога в складанні резюме та портфоліо

Консультації з ментором

Допомога з працевлаштуванням після завершення комплексної освітньої програми

Про працевлаштування

На курсі C++ Basics ти навчишся:

За якою формулою проходять онлайн курси С++:

Ефективний і зручний формат

Щоби навчитися програмування, тобі потрібно приєднатися до прямої трансляції заняття — з будь-якого місця й з будь-якого пристрою. Став запитання викладачеві, спілкуйся на потрібну тему з одногрупниками й отримуй розгорнутий зворотний зв’язок. Пропускаєш заняття? Записи всіх онлайн-ефірів завжди доступні в особистому кабінеті.

Повний нахил на практичні й домашні завдання

На кожному уроці студенти отримують теоретичні знання, які ефективно підкріплюються практикою й великим домашнім завданням. Після виконання домашнього завдання ти отримаєш розгорнуту відповідь і коментарі від викладача.

Стажування та працевлаштування

Ми не залишаємо своїх випускників! Після завершення курсу C++ з нуля кар’єрний центр академії безкоштовно реєструє студентів на поталі JunGo, де зібрані пропозиції від компаній-партнерів ITEA. За допомогою порталу наші студенти швидко знаходять місце для проходження стажування та працевлаштування.

Невеликі групи до 15 осіб

Наше головне правило — якість, а не кількість. Тому ми не збираємо сотні осіб в одній групі. Ми намагаємося випускати справжніх фахівців, тому формуємо групи до 15 осіб. Такий підхід забезпечує комфортне й ефективне навчання кожному студентові.

Стабільна робота?
З ITEA!

Інтерактивні онлайн-курси, які ведуть кращі викладачі — унікальна можливість прокачати навички в новому напрямку та опанувати перспективну кар’єру. ITEA допоможе змінити твоє життя в кращу сторону!

Записатися на курс

Junior

від 1 року досвіду
$800+

Middle

від 2-3 років досвіду
$2000+

Senior

від 4 років досвіду
$3700+
Записатися на курс

План навчання на курсі C++:

1. Трішки історії

● Що таке мова програмування?

● Машинні мови

● Низькорівневі мови (мова асемблера)

● Високорівневі мови

● Транслятори

● Компіляція

● Інтерпретація

● Парадигми програмування

● Модульна парадигма програмування

● Функціональна парадигма програмування

● Узагальнена парадигма програмування

● Об’єктно-орієнтована парадигма програмування

● Історія С++

2. Основи GIT-системи контролю версії

● Що таке система контролю версії і що вона вирішує?

● Основні елементи Git

● Що таке коміт?

● Що таке гілка?

● Способи створення сховища. Види сервісів, що дозволяють створити віддалений репозиторій

● Базові команди Git

● Практика. Створення репозиторію локально. Створення репозиторію на віддаленому сервері

3. Зміст С++ мови
  • Приклад простої програми С++
  • Базові способи збірки додатку
  • Алфавіт мови
  • Що таке лексеми?
  • Ідентифікатор як важлива складова програми
  • Що таке ключові слова?
  • Коментарі (однорядкові, багаторядкові)
  • Що таке літера? Види літералів. Їхня значущість у коді
  • Чим відрізняються строковий літерал від інших типів літералів?
  • Що таке інструкції?
  • Що означає синтаксична помилка? Приклад простої синтаксичної помилки
4. Змінні й типи даних
  • Що таке змінна? Синтаксис оголошення змінної
  • Тип даних. Що таке сувора типізація? Навіщо змінній потрібен тип даних?
  • Цілочисельний тип даних
  • Символьні типи
  • Цілочисельні типи починаючи з С++11. Які проблеми вони розв’язують?
  • Що таке аліас на тип даних? Приклад з описом typedef. Розуміння типів size_t та time_t як аліасів на вбудовані типи
  • Тип void як маркер різного контексту. Приклад контексту використання цього типу
  • Логічний тип даних
  • Речові типи даних. Можливі підводні камені уявлення в пам’яті
5. Основні операції С++
  • Види операторів (унарний, бінарний, тернарний). Їхній синтаксис
  • Неявне перетворення при операторі присвоєння? Що таке зрізка? Що таке звужувальне перетворення? Проблема знакового та беззнакового перетворення
  • Явне перетворення типів (С підходить і С++ підхід)
  • Арифметичні операції
  • Проблема арифметичних операцій. Цілочисельне ділення на нуль, переповнення тощо
  • Змішані вираження. Пріоритет операцій
  • Автоматичний висновок типу як розв’язання проблеми перетворення в арифметичних виразах
  • Тимчасова змінна як результат проміжного обчислення виразу. Як виглядає тимчасова змінна в створеному асемблерному коді (простий опис)?
  • Базові поняття про Rvalue і Lvalue
  • Складовий оператор
6. Оператори, що керують ходом виконання програми

● Умовний оператор if. Приклад можливих проблем з висячими else. Різні підходи до написання оператора if задля уникнення спагеті-коду

● Що таке область видимості? Що таке блок?

● Оператор вибору switch. Проблема fall through. У чому відмінність між оператором вибору switch і логічним оператором if?

● Що таке compile time і run time вираження на прикладі case гілок оператора вибору switch?

● Оператор циклу for. Способи оголошення циклу for. Для чого потрібен вічний цикл? Можливі проблеми знакового та беззнакового порівняння і їхні наслідки

● Оператор циклу while

● Оператор циклу do while. Використання do while задля розв’язання проблем з розгалуженням коду із застосуванням оператора if

● Тернарний оператор

● Просте розуміння точки наслідування на прикладі коми

7. Масиви

● Що таке масив і в чому його переваги?

● Оголошення масивів. Способи вказівки розміру масиву. Ініціалізація масиву. Можливі помилки при ініціалізації масиву

● Масив змінної довжини як розширення компілятора. Прапор компіляції — pedantic

● Масив символом vs строки. Способи оголошення. Що таке символ «термінальний нуль»? Можливі проблеми при ініціалізації символьного масиву

● Доступ до елементів масиву

● Що таке вихід за межі масиву? Що таке buffer overflow?

● Цикли як спосіб обходу, обробки та виведення масиву на екран

● Часті помилки у виборі типу для змінної циклу при роботі з масивом

8. Покажчик

● Базові поняття про стек пам’яті

● Що таке локальні змінні і як змінні створюються на стеку? Що таке автоматичне керування пам’яттю?

● Поняття покажчика

● Оголошення покажчиків

● Способи ініціалізації вказівника. Що таке невалідний покажчик? Що таке розіменування покажчика і якими є можливі проблеми при його проведенні? Nullptr як правильний літерал для ініціалізації покажчика. Що таке покажчик на тип? Розмір покажчика, моделі пам’яті різних ОС та платформ. Покажчики типу void

● Що таке константний покажчик і покажчик на const? Розбір можливих помилок

● Арифметика з покажчиками. Чим відрізняється арифметика з покажчиками від арифметики зі змінними?
● Що спільного між масивом і покажчиком? Як обходити масив за допомогою покажчика? Що означає покажчик на елемент за останнім елементом масиву й навіщо так робити?

9. Функції
  • Що таке функція і які вона вирішує проблеми в коді
  • Синтаксис функції
  • Базове поняття що таке оголошення і визначення функції. Приклад відмінності
  • Що таке списки параметрів. Спосіб виклику функції. Завдання значення за замовчуванням для параметру
  • Значення, що повертається з функції. auto як автоматичне виведення, що повертається. Проблеми при автоматичному виведенні типу. Тип void як маркер необоротного значення функції
  • Передача параметрів за значенням
  • Що таке фактичні й формальні параметри
  • Неправильне використання auto як параметру функції та, як наслідок, розширення компіляторів
  • Що таке глобальні змінні. Проблема приховування імен глобальних і локальних змінних
  • Передача за вказівником. Спосіб повернення декількох значень з функції
  • Що таке посилання. У чому відмінність посилання від покажчика
  • Посилання як частина інтерфейсу функції
  • Які проблеми вирішує посилання в порівнянні з покажчиком як параметр функції. Які переваги константної посилання. Чому можна передавати Rvalue, як аргумент константної посилання
  • Приклад як зробити посилання невалідною
  • Стек і виклик функцій
  • Угода про виклик функцій
  • Масиви як параметри функції. Способи оголошення масиву як параметру функції і часті помилки. Проблема отримання кількості елементів масиву в функції
  • Рекурсія. Inline-функції
  • Що таке перевантаження функцій. Що таке mangling імен функції на прикладі генерації ассемблерного коду
  • Чому перевантаження недоступне в мові С. Простий опис ключового слово extern «C» як приклад опису перевантаження
  • Що таке покажчик на функцію та які проблеми вирішує передача функції як параметр функції на прикладі алгоритму сортування
  • Базові поняття що таке lambda як заміна вказівника на функцію. Що таке std :: function
  • Проблеми при поверненні локальних змінних з функції за посиланням або вказівником
  • Зняття константності з аргументу використання std :: const_cast
10. Простори імен
  • Що таке простори імен
  • Що таке вкладені простори імен
  • Нові можливості оголошення просторів імен в С++17

Викладачі курсу:

Команда ITEA зібрала кращих практиків: керівників, senior-фахівців і експертів з багаторічним досвідом

Software Engineer

Роман Ткачик

Понад 12 років досвіду. Брав участь у різних IT-проектах щодо розробки мережевих, десктопних і web-додатків, а також вбудованих пристроїв. Ідеально володіє навичками роботи з .NET, C#, LINQ, C/C++, SQL, Boost, STL, Multithreading, TCP/IP, Git, Scrum. Автор тестів функціональної та системної інтеграції, тестів з автоматизації для Windows і веб-додатків. Має сертифікат AZ-300 Azure Architecture Technologies Exam Prep 2020.

Senior Software Engineer (С++ Developer)

Микола Солянко

Senior Software Development Engineer у компанії EPAM Systems. 9 років досвіду. Займав посаду Software engineer в Ukrgaztech, де розробляв додатки та працював з даними, використовуючи бібліотеку Qt. Також був Lead Engineer Samsung у R&D Institute Ukraine, де працював з C/C++, EFL framework та Tizen IDE.

Встигни забронювати своє місце в групі

Якщо після першого заняття ти відчуєш, що цей курс не для тебе (наприклад, не підходить за складністю), то ми повернемо гроші.

Тобі можуть підійти ці IT-курси онлайн:
Розклад курсів

Вибирай IT-курси суміжного напряму, щоб розширити свої компетенції і підвищити свою конкурентноспроможність.

Відповідаємо на питання, які часто задаються
Який рівень англійської мови потрібен для працевлаштування на позицію Junior?
Рівень знання англійської мови безпосередньо залежить від вакансії. Для багатьох Junior-фахівців англійська рівня Intermediate буде перевагою, проте для деяких вакансій досить рівня Elementary.
Чи потрібно мати попередню підготовку в рамках вашого навчання?
Мінімальні вимоги вказані на сторінці кожного курсу. Найчастіше базові курси не потребують спеціальної підготовки. Для курсів поглибленого рівня досить матеріалу попереднього (базового) курсу.
Чи є вікові обмеження на проходження курсу?
Курси націлені на аудиторію віком від 18 років.
Чи буде викладач допомагати мені з вирішенням практичних завдань: давати поради, дивитися скріншоти, пояснювати те, що я не зрозумів?
Так. Викладач завжди на зв'язку, щоб направити студента і при необхідності виправити його. Викладач бере за основу власний досвід і наводить приклади з власної практики. Викладач не рухається далі по програмі, поки студенти не засвоять матеріал на потрібному рівні.
Як відбувається процес працевлаштування в ITEA після проходження курсу і отримання сертифікату?
Студенти, які набрали максимальну кількість балів в ході навчання і пройшли програму Roadmap, отримують спеціальну форму резюме, по якій ми співпрацюємо з нашими партнерами.

Ми також проводимо перевірку резюме, супровідних листів та даємо консультації, якщо виникають питання. Наш кар'єрний центр мотивує і підтримує кожного кандидата доти, поки він не вибере для себе кращу пропозицію.
Якщо я роблю паузу в навчанні (наприклад, через хворобу), чи можу я відновитися? Чи не будуть втрачені час і гроші?
Якщо ти був змушений тимчасово припинити навчання - не потрібно знову повертатися до самого початку. Ти завжди можеш продовжити з того ж місця, де зупинився. Деталі відновлення розповість наш менеджер.
Чи не буде в курсі багато теорії? Я отримаю практичні знання?
Інформація без практичного закріплення довго не тримається в пам'яті. Тому після отримання нових знань, наші студенти відразу застосовують їх на практиці.

Викладач допомагає їм впоратися з завданнями і відповідає на питання, які можуть виникнути. Тому тебе чекає практика на заняттях, у домашніх завданнях, а також при роботі з власним проектом у кінці курсу.