- Автор: https://github.com/tshemsedinov
- Завдання з курсу: https://github.com/HowProgrammingWorks/Index/blob/master/Practice/SEF1.ru.md
- Словник термінів: https://github.com/HowProgrammingWorks/Dictionary
- Умовні позначення:
- ⭐ - Нові спрощені лекції
- ✨ - Старі але важливі лекції
- 🧑💻 - Приклади коду
- 🧩 - Необов'язкові лекції
- Введення та огляд метеріалу
- ⭐ Новий вступ
- ⭐ Q&A для усіх курсів
- 🧩 Введення у програмування
- 🧩 Введення у програмування, продовження
- 🧩 Мови програмування
- 🧩 Семінар: JavaScript, відповіді на запитання
- 🧩 История развития языков программирования
- 🧩 Парадигмы программирования
- ✨ Базовий синтаксис JavaScript
- ✨ Базовий синтаксис JavaScript, продовження
- 🧩 Семінар: Базовий синтаксис мови JavaScript
- 🧑💻 Абстракції та їх перевикористання: https://github.com/HowProgrammingWorks/Reusable
- 🧑💻 Основні конструкції: https://github.com/HowProgrammingWorks/Cheatsheet
- Ідентифікатори та значення
- Функції
- Умови
- ⭐ Умови та розгалудження, оператор if
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/Conditional
- Ітерування
- Колекції
- ⭐ Колекції — Array, Object
- 🧑💻 Масиви: https://github.com/HowProgrammingWorks/Arrays
- ✨ Масиви, об'єкти, класи, прототипи JavaScript
- ✨ Массивы в JavaScript, методы Array
- 🧑💻 Структури даних: https://github.com/HowProgrammingWorks/DataStructures
- ⭐ Домішки (mixin), JSON серіалізація (serialization)
- ⭐ Множини (Set) та хеш-таблиці (Map)
- ✨ Коллекции, множества, хеш таблицы в JavaScript
- 🧑💻 Колекції: https://github.com/HowProgrammingWorks/Collections
- 🧑💻 Хеш таблиці: https://github.com/HowProgrammingWorks/Map
- 🧑💻 Множини (Set): https://github.com/HowProgrammingWorks/Set
- Практичні завдання
- ⭐ Нові практичні завдання 1-5
- ✨ Налаштування середовища: Node.js, npm, git, eslint Дивитись вибірково, що не зрозуміло – пропускайте
- ✨ Старий семінар: Автоматична перевірка лабораторних робіт
- ✨ Семінар: Виконання лабораторних робіт з курсу
- 🧑💻 Підготовка середовища виконання завдань: Exercises.ru.md
- 🧑💻 Завдання: SEF1.ru.md
- Callbacks, timers
- ⭐ Функції зворотнього виклику (callbacks) та таймери
- 🧑💻 Функції зворотнього виклику: https://github.com/HowProgrammingWorks/Callbacks
- ✨ Функції вищого порядку, колбеки, події
- 🧑💻 Функції вищого порядку: https://github.com/HowProgrammingWorks/HigherOrderFunction
- ✨ Таймеры, таймауты и EventEmitter
- 🧑💻 Таймери: https://github.com/HowProgrammingWorks/Timers
- 🧑💻 EventEmitter: https://github.com/HowProgrammingWorks/EventEmitter
- 🧑💻 Події: https://github.com/metarhia/common/blob/master/lib/events.js
- Замикання (closures)
- ⭐ Замикання closures, (функції + контексти)
- ✨ Функції, стрілочні функції, контексти, замикання JavaScript
- 🧑💻 Замикання (closures): https://github.com/HowProgrammingWorks/Closure
- 🧩 Часткове застосування та curry
- 🧑💻 Часткове застосування: https://github.com/HowProgrammingWorks/PartialApplication
- Асинхронність
- Обробка помилок
- Модульність
- Рекурсія
- ✨ Робота з рядками, шаблонами та юнікодом
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/String
- ✨ Антипатерни загальні для всіх парадигм
- ✨ Консоль та командний рядок у JavaScript та Node.js
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/CommandLine
- 🧩 Чеининг функций и объектов, обработка ошибок
- 🧑💻 Чеінінг: https://github.com/HowProgrammingWorks/Chaining
- 🧑💻 Обробка помилок: https://github.com/HowProgrammingWorks/Errors
- ✨ Антипатерни процедурного програмування
- ✨ Code Review: как это и зачем
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/CodeReview
- Семинар: Code Review, ответы на вопросы
- ✨ Структури даних: списки, стек, черга, дек
- 🧑💻 Списки: https://github.com/HowProgrammingWorks/LinkedList
- 🧑💻 Черги: https://github.com/HowProgrammingWorks/Dequeue
- ✨ Сериализация и десериализация в JavaScript и Node.js
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/Serialization
- ✨ Рефакторинг: причины, цели, техники и процесс
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/Refactoring
- 🧑💻 Пример проекта: https://github.com/tshemsedinov/node-mysql-utilities
- 🧩 Семінар: Вибір напряму у програмуванні
- 🧩 Proxy та Symbol
- 🧑💻 Проксі: https://github.com/HowProgrammingWorks/Proxy
- 🧑💻 Символи: https://github.com/HowProgrammingWorks/Symbol
- ✨ Регулярні вирази та парсинг у JavaScript
- 🧑💻 Примеры кода: https://github.com/HowProgrammingWorks/RegExp
- ✨ Композиція: pipe, compose
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/Composition
- ✨ Домішки: mixin, extend, Object.assign, class-mixin
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/Mixin
- 🧩 Стара версія лекцій: https://youtu.be/2h9syXN5wO0
- 🧩 Прототипне програмування та прототипне успадкування
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/PrototypeChain
- ✨ Прототипи: https://github.com/HowProgrammingWorks/Prototype
- 🧩 Мемоізація: memoize
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/Memoization
- 🧑💻 Стара версія лекцій: https://youtu.be/2h9syXN5wO0
- 🧩 Фабрики та пули об'єктів у JavaScript, factorify, poolify
- 🧑💻 Фабрики: https://github.com/HowProgrammingWorks/Factory
- 🧑💻 Пули об'єктів: https://github.com/HowProgrammingWorks/Pool
- 🧩 Функції-обгортки: wrappers
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/Wrapper
- 🧩 Стара версія лекцій: https://youtu.be/2h9syXN5wO0
- 🧩 Типізовані масиви JavaScript
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/TypedArrays
- 🧩 Нове у JavaScript
- 🧑💻 Приклади коду: https://github.com/HowProgrammingWorks/ESNext