- Значення та тип даних
- Ідентифікатори: змінна та константа, аргумент та параметр
- Літерал, вираз, оператор
- Блок коду, цикл, умова
- Процедура та функція
- Модулі, компоненти, бібліотеки
- Мови та парадигми програмування
- Масиви та об'єкти
- Робота з рядками
- Функції, іменовані та анонімні
- Області видимості та контексти
- Таймери, EventEmitter, події
- Колекції, множини, хештаблиці
- Робота з файлами
- Записи та структури (struct)
- Серіалізація та десеріалізація
- Обробка помилок та винятків (exceptions)
- Контексти та замикання (closure)
- ООП: класи та успадкування
- Списки: однозв'язні, двозв'язкові, циклічні, розгорнуті
- Стек, черга, дек, графові структури
- Огляд парадигми: Об'єктно-орієнтоване програмування
- Принципи: абстрагування, інкапсуляція, успадкування, поліморфізм
- Інтерфейси vs успадкування у ООП
- Асоціація, агрегація та композиція об'єктів
- Дженерики та узагальнене програмування (generic programming)
- Огляд парадигми: Функціональне програмування
- Асинхронне програмування на callback-ах та async/await
- Тестування: юніттести, системне та інтеграційне тестування
- Контрактне програмування
- Оцінка складності алгоритмів
- Незмінні структури даних (immutable)
- Введення в патерни GRASP, SOLID, GoF