- Roadmap
- Software Engineer Course
- Значення і тип
- Індетифікатори: зміна і константа, аргумент і параметр
- Літерал, вираз, оператор
- Блок кода, умова, цикл
- Процедура і функція
- Модулі, пакети і бібліотеки
- Пакетні менеджери, pip
- Парадигми програмування
- Технологічні стеки
- Відладка коду, оброблення помилок
- Транслятор, інтерпретатор, компілятор, лінтер
- Ситеми контролю версій, git
- Масиви і об'єкти
- Робота з текстовими рядками
- Функції першого класу, лямбда-функції
- Пристрій пам'яті додатків, стек і купа
- Області видимості і контексти
- Базове розуміння рекурсії і забезпечення виходу
- Колекції, множини, хештаблиці
- Робота з файлами
- Записи та структури
- Серіалізація і десеріалізація
- Обробка помилок і виключень
- Форматовані рядки і юнікод, регулярні вирази і парсинг
- Антипаттерни процедурного програмування і загальні для всіх парадигм
- Code Review, рефакторинг: причини, цілі, техніки і процес
- Контекст і замикання
- Часткове застосування і каррінг, функції вищого порядку, колбеки
- Чеінінг функцій і об'єктів
- Рекурсія: непряма і хвостова, стек, вихід
- Функції-обгортки, мемоізація, декоратори
- Функції-фабрики і пули об'єктів
- Класи та успадкування
- Списки: однозв'язані, двозв'язані, циклічні, розгорнуті
- Стек, черга, ДЕК, дерева,граф структури
- Огляд парадигми: Об'єктно-орієнтоване програмування
- Принципи: абстрагування, інкапсуляція, успадкування, поліморфізм
- Приховування в ООП і особливості на Python
- Інтерфейси vs спадкування в ООП
- Асоціація, агрегація і композиція об'єктів
- антипаттерни об'єктно-орієнтованого програмування
- Дженерики і узагальнене програмування
- Огляд парадигми: Функціональне програмування
- Функціональні об'єкти, функтори і монади
- Огляд парадигми: Реактивне програмування
- Огляд парадигми: Автоматне програмування
- Асинхронне програмування на callback-ах і async / await
- Тестування: юніттести, системне і інтеграційне тестування
- Контрактне програмування (DbC)
- Оцінка складності алгоритмів
- Вимірювання продуктивності коду і оптимізація
- Інтроспекція і рефлексія
- Мономорфний і поліморфний код, інлайн-кеш
- Незмінні структури даних (immutable)
- Введення в патерни GRASP, SOLID, GoF
- GRASP з адаптацією для Python
- GRASP: Творець і контролер
- GRASP: Принцип інформаційний експерт / Information Expert
- GRASP: Зачеплення і зв'язність / Coupling and Cohesion
- GRASP: Чиста вигадка / Pure Fabrication
- GRASP: Посередник, стійкість до змін
- Закон Деметри
- SOLID, GoF
- Генератори і асинхронні генератори
- Ітератори і асинхронні ітератори
- Асинхроне та паралельне програмування