Загальні теми: 6 годин Оглад факультативів: 19 годин
Передумови: базове володіння ПК, браузером, електронною поштою та засобами google meet, google documents
- Презентація концепції та огляд структури курсів (1 година)
- Особливості отримання знань у ІТ-галузі та у чому полягає різниця для майбутніх ІТ-спеціалістів
- Огляд ІТ-спеціальностей та як ми пропонуємо навчати для отримання дуже різноманітних знань
- Джерела знань, як шукати матеріали з ІТ та оцінювати ії актуальність та корисність
- Рівні знань: наука, парадигми, технології, інструменти, бібліотеки, фреймворки, продукти, сервіси
- Типи ІТ-компаній та їх потреби у спеціалістах: технологічні, продуктові, аутсорсингові, стартапи
- Рівні ІТ-спеціаліалістів: CTO, архітектори, інженери, кодери, допоміжні спеціалісти
- Різниця у ІТ-освіті: ком'юніті, ВНЗ, ПТУ, курси, школи, на виробництві, у R&D підрозділах
- Огляд проблем ІТ-освіти та загальних проблем ІТ-індуструї
- Особливості виробничого циклу у ІТ, виклики майбутнього ІТ та яке буде навчання
- Старі та нові спеціальності у ІТ
- Термінологія у ІТ та формування спільні мову між різними спеціалістами
- Зрозумілі пояснення замість формальних визначеннь
- Міфи у ІТ та ії спростування
- Семінар для обговорення та відповіді на питання після першої лекції (2 години)
- Відповіді на питання слухачів курсу
- Співбесіди у ІТ-компаніях
- Олімпіадні задачі, алгоритмічні задачі, мікрооптимізація
- Перспективність різних технологічних стеків та мов програмування
- Чому справді потрібно навчати: парадигми, предметна область, технічна ерудиція, софт-скіли
- Системи наставництва, вільне програмне забезпечення
- Огляд програмних засобів для ведення занять (1 година)
- Чому ми орієнтуємося на такий самий набір засобів, як використовується у ІТ-компаніях
- Системи відеозв'язку, планування зустрічей, запису та публікації матеріалів
- Системи контролю версій, планування та керування процесом розробки програмного забезпечення
- Середовища розробки програмного забезпечення, тестування та відлагодження
- Середовища розгортання програмних систем та виконання коду
- Операційні стстеми, віртуальні машини та контейнери
- Мови програмування
- Системи керування базами даних та засоби моделювання даних
- Семінар по програмним засобам (2 години)
- Відповіді на питання слухачів курсу
- Демонстрація практичних
- Огляд матеріалів курсу "Використання обчислювальної техніки та комунікаційних пристроїв" (2 годин)
- Огляд матеріалів курсу "Основи програмування" (3 години)
- Парадигми програмування та мультипарадигмальне програграмування
- Технологічні стеки
- Формування прикладів для курсу
- Перекладання коду між мовами програмування
- Перехресний рев'ю коду учнями
- Підходи до вивчення програмування
- Моделювання: абстракції та повторне використання
- Алгоритм, программа, синтаксис, мова
- Декомпозиція та поділ відповідальності
- Огляд факультативу "Інженерія програмного забезпечення" (5 годин)
- Іменування даних: значення, ідентифікатор, літерал, присвоєння, тип, посилання, структура
- Потік виконання: оператор та вираз, блок коду, функція, цикл, умова
- Структури даних: масив, список, множина, кортеж, словник, хеш-таблиця та асоціативний масив, стек, черга, дек, дерево, граф
- Контекст та лексичне оточення, виклик, стек та куча, функція вищого порядку, чиста функція, побічні ефекти
- Замикання, функції зворотного виклику, обгортки та події, винятки та обробка помилок
- Ітерування: рекурсія, ітератори та генератори
- Структура додатку: файли, модулі, компоненти, залежності та бібліотеки
- Об'єкт, прототип та клас
- Часткове застосування та каррування, композиція функцій
- Чейнінг для методів та функцій, домішки (mixins)
- Огляд факультативу "Верстка та основи веб-розробки" (3 години)
- Що таке фронтенд-розробка
- Можливості сучасного браузера
- Комунікаційні моюливості браузера
- SPA-сайти та PWA-додатки
- Безпеуа у браузері
- Огляд факультативу "Фронтенд фреймворки та Web API" (3 години)
- Фреймворки для побудови інтерфейсів користувача
- Браузерне API
- WEB-компоненти
- Тестування інтерфейсів користувача
- Серверний рендерінг
- Огляд факультативів, що плануються для розробки у 2023 (3 години)