Skip to content

Latest commit

 

History

History
126 lines (106 loc) · 7.54 KB

File metadata and controls

126 lines (106 loc) · 7.54 KB

Обчислювальна техніка та програмування

Використання обчислювальної техніки

Модуль IT0 (з 6-10 років)

  • Робота у терміналі (консолі) та командний рядок
  • Текстовий редактор та графічний редактор
  • Файли, типи файлів, директорії
  • Веб-браузер, сайти та принцип роботи інтернету
  • Пошукові системи
  • Додатки у ПК та мобільному телефоні
  • Комунікаційне ПЗ, електронна пошта, чати, соцмережі
  • Цілі використання техніки, навіщо нам всі ці інструменти
  • Правила поведінки в інформаційному просторі

Модуль IT1 (з 8-11 років)

  • Принципи роботи пам'яті та накопичувачів, одиниці вимірювання
  • Інформація та дані, моделювання, кодування, зберігання та передача
  • Принципи роботи обчислювальної техніки та з чого складається комп'ютер
  • Типи процесорів, із чого складаються процесор
  • Растрові та векторні зображення, представлення звуку та відео
  • Пристрої введення-виведення (клавіатура, екран, мережева карта, I/O порти...)
  • Мережі (дротові та бездротові, обладнання та безпека)
  • Операційні системи (функції, типи та встановлення)
  • Налаштування робочого середовища (мови, програми, мережа, час, звук тощо)
  • Резервні копії та хмарні сховища
  • Авторське право
  • Документи (форми, таблиці, презентації, схеми)
  • Архіватори та криптографія

Основи програмування

Модуль SE0 (з 10-13 років)

  • Значення та тип даних
  • Ідентифікатори: змінна та константа, аргумент та параметр
  • Літерал, вираз, оператор
  • Блок коду, цикл, умова
  • Процедура та функція
  • Модулі, компоненти, бібліотеки
  • Мови та парадигми програмування
  • Технологічні стеки
  • Debug, обробка помилок, лінтери, транслятори та компілятори
  • Системи контролю версій та пакетні менеджери, git
  • Масиви та об'єкти
  • Робота з рядками

Модуль SE1 (з 12-15 років)

  • Функції, іменовані та анонімні, першого класу, стрілкові
  • Устрій пам'яті додатків, стек та куча (heap)
  • Області видимості та контексти
  • Базове розуміння рекурсії та забезпечення виходу
  • Таймери, EventEmitter, події
  • Колекції, множини, хештаблиці
  • Робота з файлами
  • Записи та структури (struct)
  • Серіалізація та десеріалізація
  • Обробка помилок та винятків (exceptions)
  • Шаблонні рядки та юнікод, регулярні вирази та парсинг
  • Антипатерни процедурного програмування та загальні для усіх парадигм
  • Code Review, рефакторинг: причини, цілі, техніки та процес

Модуль SE2 (з 13-16 років)

  • Контексти та замикання (closure)
  • Часткове застосування (partial) та карірування (сгккн), функції вищого порядку (higher order functions), колбеки
  • Чеїнінг функцій (functional chaining) та об'єктів (object method chaining)
  • Рекурсія: непряма та хвостова, стек, вихід
  • Композиція функцфй: pipe, compose
  • Функції-обгортки, мемоізація
  • Функції-фабрики та пули об'єктів
  • Класи, прототипне програмування та успадкування
  • Домішки та їх небезпека: mixin, extend, Object.assign
  • Списки: однозв'язні, двозв'язкові, циклічні, розгорнуті
  • Стек, черга, дек, графові структури

Модуль SE3 (з 15-17 років)

  • Огляд парадигми: Об'єктно-орієнтоване програмування
  • Принципи: абстрагування, інкапсуляція, успадкування, поліморфізм
  • Приховування в ООП та особливості на JavaScript
  • Інтерфейси vs успадкування у ООП
  • Асоціація, агрегація та композиція об'єктів
  • Антипатерни об'єктно-орієнтованого програмування
  • Дженерики та узагальнене програмування (generic programming)
  • Огляд парадигми: Функціональне програмування
  • Функціональні об'єкти, функтори та монади
  • Огляд парадигм: Реактивне програмування
  • Огляд парадигм: Автоматне програмування
  • Асинхронне програмування на callback-ах та async/await
  • Тестування: юніттести, системне та інтеграційне тестування
  • Контрактне програмування

Модуль SE4 (з 16-19 років)

  • Оцінка складності алгоритмів
  • Вимірювання продуктивності коду та оптимізація
  • Інтроспекція та рефлексія
  • Мономорфний та поліморфний код, інлайн-кеш, приховані класи
  • Незмінні структури даних (immutable)
  • Введення в патерни GRASP, SOLID, GoF
  • GRASP з адаптацією для JavaScript та Node.js
  • GRASP: Творець та контролер
  • GRASP: Принцип інформаційного експерта (information expert)
  • GRASP: Зачеплення та зв'язність (coupling and cohesion)
  • GRASP: Чиста вигадка (pure fabrication)
  • GRASP: Посередник, стійкість до змін
  • Закон Деметри (LoD - Law of Demeter)
  • Генератори та асинхронні генератори
  • Ітератори та асинхронні ітератори

Модуль SE5 (з 17-19 років)

  • Принципи SOLID
  • GoF: Породжувальні шаблони (creational)
  • GoF: Структурні шаблони (structural)
  • GoF: Поведінкові шаблони (behavioral)
  • to be continued

Модуль SE6 (з 18-19 років)

  • Асинхронне та паралельне програмування
  • to be continued