# Основы программирования ## Уроки 1. Введение * Алгоритмы и Блок-схемы * Код и данные * REPL * Переменные, типы данных, базовые операции, скобки, выражения * Литеральные и вычисляемые значения, DRY 2. Условия, Boolean, Логические операторы, Циклы * Boolean * Операторы сравнения * not, or, and, not-not * Логические выражения * if, else * Тернарный оператор * switch 3. Массивы, строки и циклы * Developer Tools * debugger * Пошаговая отладка * Отладочный вывод * Комментирование как инструмент отладки * while * for * String как массив. * Array 3. Ассоциативные массивы, `in` * Object как ассоциативный массив * `in` * практика 4. Функции, области видимости * Функции * Определение и выполнение оных * Параметры и возвращаемое значение * Область видимости * Функции высшего порядка 5. Отладка, декомпозиция кода и локализация проблем, практика * Процесс * KISS * DRY 6. Модуль 7. Замыкания * Цели и паттерны использования. Плюсы и минусы * Замыкание как объект * Мегатонна практики 8. ООП функциональное * {} * Поля ассоциативного массива как методы * this * call, apply * Конструктор * new 9. ООП прототипное * prototype * наследование 10. try-catch + свободный полет 11. Педаляж, можно canvas, можно еще что-то 12. Модуль