Месяц 1
День первый - Знакомство с JavaScript
Цель занятия: познакомить учеников с языком JS, его областью применения и основными отличиямиот других языков. Написать первую программу на JS с использованием функцийввода и вывода информации.
− Для чего используется JS
− Ввод и вывод информации
− Что такое переменные, директивыlet и const
− Основные типы данных в JS
Результат занятия: Ученики научились создавать простую программу на JS, выводить информацию на экран, считывать информацию от пользователя и сохранять ее в переменных.
День второй - Математические и логические операторы
Цель занятия: Научиться решать математические и логические задачи при помощи JS.
− Арифметические операторы
− Операторы сравнения
− Логический тип данных
− Логические операторы
Результат занятия: Освоены математическиеи логические возможности JS для написания логики программ. Написаны несколько программ для решения математических и логических задач.
День третий - Условные операторы
Цель занятия: Изучить способы управления ходом программы при помощи условных операторов.
− Операторы if/else
− Множественное ветвление
− Тернарныйоператор
− Порядок вычисления логических выражений
Результат занятия: Ученики научились реализовывать нелинейные алгоритмы при помощи операторов ветвления. Получили более глубокое понимание работы с логическими выражениями. Написали простую программу для нелинейного разговора с пользователем.
День четвертый - Циклы. Цикл While
Цель занятия: Решить задачу выполнения однотипных действий для большого количества данных с использованием циклов.
− Понятие и смысл цикла
− Цикл while
− Понятие итерациии итератора
Результат занятия: Ученикинаучились реализовывать нелинейные алгоритмы при помощи операторов ветвления. Получили более глубокое понимание работы с логическими выражениями. Создали игру “Угадай число” или похожую игру на основе цикла.
Месяц 2
День первый - Повторение основных алгоритмических конструкций. Цикл for
Цель занятия: Повторить и закрепить пройденное в прошлом модуле. Изучить новую конструкцию цикла for и его преимущества перед while.
− Цикл for
− Операторы break и continue
− Перебор последовательностей
Результат занятия: Закончили изучение основного синтаксиса JS и закрепили полученные знания.
День второй - Массивы
Цель занятия: Научиться использовать массивы для хранения и обработки большого количества однотипных данных.
− Понятие и объявление массивов
− Методы массивов
− Перебор элементов массива
− Многомерные массивы
Результат занятия: Ученики научились хранить и обрабатывать большое количество данных при помощи массивов.
День третий - Работа со строками
Цель занятия: Научиться эффективно работать с текстовой информацией при помощи строковых возможностейJS.
− Кавычки и специальные символы
− Работа с символами, изменение регистра
− Поиск и получение подстроки
− Сравнениестрок
− Понятие кодировки
Результат занятия: Ученики научились использовать инструменты JS для обработки, создания и изменения текста.
День четвертый - Функции
Цель занятия: Научиться структурировать программыпри помощи функций.
− Объявление функции
− Области видимости переменных
− Параметрыфункций
− Возвращение значений
Результат занятия: Ученикинаучились писать красивый понятный и структурированный код с использованием функций.
Месяц 3
День первый - Объекты
Цель занятия: Научиться удобно хранить связанные между собой данные при помощи объектов, познакомиться с основами объектно-ориентированного программирования.
− Создание объекта
− Ключи и значения
− Методы объектов
− Конструкторыобъектов
− Массивы объектов
Результат занятия: Закончили изучение инструментов JS для удобного хранения информации. Написали программу “Телефонный справочник” или похожую.
День второй - Основы верстки при помощи Bootstrap
Цель занятия: Научиться основам HTML и CSS. Познакомиться с фреймворком Bootstrap для быстрого создания интерфейсов.
− Основы HTML и CSS
− CSS-классы, компоненты Bootstrap
Результат занятия: Ученикинаучились создавать интерфейсына Bootstrap. Сверстали интерфейс для приложения «Список дел».
День третий - Работа с DOM
Цель занятия: Научиться основам HTML-верстки и использованию JS для манипуляции элементами на странице.
− Поиск элементов на странице
− Атрибуты и свойства элементов
− Изменение документа
Результат занятия: Ученикинаучились манипулировать содержанием страницы при помощи JS. Продумали структуру данныхдля приложения «Список дел».
День четвертый - События
Цель занятия: Научиться работать с событиями веб-страницы, привязывать к ним свои функции
− События мыши, клавиатуры и документа
− Создание обработчиков событий
− Получение информации о событии иоб элементе
Результат занятия: Ученикинаучились работать с событиямив JS, Закончили работу над приложением «Список дел».
Месяц 4
День первый - Основы git, nodejs, npm и express
Цель занятия: Подготовиться к созданию веб-приложения на фреймворке Express. Познакомиться с основнымиинструментами для работы с проектом
− git, понятие коммита, создание репозитория
− Запуск программ на JS при помощи nodejs
− Управление зависимостями припомощи npm
− Создание шаблона приложения на Express
Результат занятия: Ученикисоздали шаблон приложения на Express, подготовили необходимые для работы инструменты.
День второй - Пути и шаблоны
Цель занятия: Изучить понятие http-запросов и путей в веб-приложении. Научиться создавать шаблоны страниц иподставлять в них нужные данные.
− Понятие пути изапроса, запросы GET и POST
− Создание обработчиков для запросов
− Написание шаблонов страници подстановкаданных
Результат занятия: Ученики изучили основные инструменты создания вебприложения на Express, написали простой блог на JS.
День третий - Базы данных и контроллеры
Цель занятия: Научиться подключать базу данных к приложению на Express и делать простые запросы к базе.
− MongoDB и Mongoose
− Написание схемыи моделиданных
− Язык json
− Добавление документов в базу
− Получение документов из базы
Результат занятия: Ученики подключили базу данных к блогу на Express. Научились писать схему имодель данных, добавлять и запрашивать информацию из базы.
День четвертый - Пользователи и авторизация
Цель занятия: Изучить основы работы с пользовательскими аккаунтами в приложении на Express. Авторизация и аутентификация.
− Создание пользовательских аккаунтов
− Сохранение зарегистрированных пользователейв в базу
− Middleware и защищённые пути
− Страница пользователя
Результат занятия: Ученики изучили основы работы с пользовательскими аккаунтами в веб-приложениях. Добавили авторизацию к блогу на Express.
Месяц 5
День первый - Командообразование. Углубленное знакомство с HTML
Цель занятия: Разбить группу на команды, распределить ролии наладить общение внутри команд. Подробнее познакомиться с особенностями языка HTML.
− Командообразование:
− Формирование команд
− Распределение ролей внутрикоманды
− Общение через мессенджер Slack
− Разработка:
− Теги, родители и потомки
− Одиночные и парныетеги
− div и семантические теги
− Атрибуты тегов
Результат занятия: Начали работу в группах, наладили внутригрупповое общение. Ученики подробнее познакомились с особенностями языка HTML.
День второй - Бизнес-цели и задачи
Цель занятия: Узнать о приоритетных бизнес-целях и задачах компаний, научиться определять цели конкретного кейса (требуется обратная связь откомпании).
− Понятия приоритетных бизнес-целей изадач
− Встреча с представителями компаний
− Анализ информации от заказчика
Результат занятия: После урока ученик умеет различать бизнес-целии, используя полученные на уроке знания, анализирует информацию от заказчика, предоставляя результат в видезаписанной бизнес-цели заказчика.
День третий - Углубленное знакомство с CSS
Цель занятия: Подробней познакомиться с особенностями языка CSS. Узнать о разграничении задач между HTML иCSS.
− Разграничение содержания и оформления
− Селекторы и специфичность
− Блочная модель
− Псевдоклассы
Результат занятия: Ученикиподробнее познакомились с особенностями языка CSS.
День четвертый - User Story
Цель занятия: Продумать модель веб-приложения (требуется обратная связь от компании).
− Понятие User Story
− Продумываниепользовательскойистории своего приложения на основе поставленной ранее бизнес-цели
− Работа над моделью будущего веб-приложения
Результат занятия: На этом уроке ученики узналио том, что такое User Story и, опираясь на определенную ранее бизнес-цель, продумали модель будущего приложения с различными механиками.
Месяц 6
День первый - Flexbox
Цель занятия: Научиться манипулировать блоками на странице припомощи инструментов Flexbox.
− Что такое Flexbox
− Контейнерыи элементы в контейнере
− Основные свойства позиционирования
− Flexbox с использованием вспомогательных классов Bootstrap
Результат занятия: Ученики познакомились с современными подходами верстки при помощи Flexbox.
День второй - Построение макета в Figma
Цель занятия: Разработать прототип веб-приложения в Figma.
− Возможности и особенности Figma
− Компоненты, фреймы и сетки
− Работа над макетом приложения с учетом обратной связи, полученнойна этапе работы с User Story
Результат занятия: Ученики, используя приложение Figma, создали готовый прототип (дизайн-макет) веб-приложения.
День третий - Командная работа. Углубленное изучение Git
Цель занятия: Научиться работать с основнымиинструментами git иGithub.
− Staging и commit
− Файл .gitignore
− Ветки и merge
− Удаленный репозиторий, командыpush и pull
Результат занятия: Ученики научились командной работе с использованием инструментов git.
День четвертый - Углубленная работа с маршрутизацией и контроллерами в Express
Цель занятия: Рассмотреть оставшиеся вопросы об обработке запросов в Express.
− Параметрызапроса
− Установка кода ответа
− Роутер
− Прием данныхpost-запроса
− Редирект
− Отправка файла
Результат занятия: Ученики получили более цельное представление о работе с маршрутизацией и обработке запросов в приложении Express.
Месяц 7
День первый - Работа над собственными проектами. Статические файлы
Цель занятия: Начать практическую реализацию своих веб-приложений. Научиться обрабатывать статические файлыв приложении на Express.
− Чем статические файлы отличаются от динамической информациии почему они должны обрабатываться отдельно
− Настройка flow для обработкистатических файлов
Результат занятия: Ученики продолжили работу над собственными проектами. Научились работать со статическими файлами в Express.
День второй - Работа над собственными проектами. Углубленная работа с MongoDB и Mongoose
Цель занятия: Продолжить работу над своими веб-приложениями. Рассмотреть оставшиеся вопросы о работе с базой данных MongoDB в Express.
− Типы данных в схемах
− Валидация и сохранение данных
− Разные типы запросов к базе данных
Результат занятия: Ученики продолжили работу над собственными проектами. Получили более глубокое понимание работы с данными в Express с использованием MongoDB и Mongoose.
День третий - Работа над собственными проектами. Продолжение работы с данными в Express
Цель занятия: Продолжить работу над своими веб-приложениями. Познакомиться с некоторыми интересными приемами работы с данными в Express.
− Асинхронный запрос данных
− Flash-сообщения на странице
− Редактирование имеющихсязаписей в базе данных
Результат занятия: Продолжается работа над собственными проектами. Ученики научились реализовывать полезные приемы для работы с данными в Express.
День четвертый - Презентация и ораторское мастерство
Цель занятия: Начать работу по подготовке к защите своих веб-приложений.
− Анализ темы и цели презентации (понятие презентации: где и зачем используется, создание картыассоциаций для своейтемы, написание целостного текста-истории по выбранной теме)
− Прототипирование презентации (этапы презентации, выявление логического введения, главной мысли, выводов)
Результат занятия: Ученики начали готовиться к защите своих вебприложений, узнали об условиях успешной презентации, провели тренировку в составлении собственного выступления.
Месяц 8
День первый - Работа над собственными проектами. Пагинация
Цель занятия: Закончить работу над веб-приложениями, исправить последние ошибки, выявить последние проблемы. Научиться делать пагинацию (разделение большого количества информации нанесколько страниц).
− Создание пагинации
Результат занятия: Работа над веб-приложениями вступает в заключительную фазу. Ученики получили заключительные советы по их доработке. Научились применять пагинацию в своих приложениях.
День второй - Развертывание приложения на сервере
Цель занятия: Научиться настраивать сервер на Linux, настраивать окружение NodeJS и развертывать приложение на Express.
− Регистрация виртуального приватного сервера
− Основы администрирования Linux (работа с пакетами, управление пользователями, ssh, брандмауэр)
− Установка NodeJS на сервер
− Менеджер процессов PM2
Результат занятия: Ученики научились настраивать свой сервер на Linux, создали окружение и развернули свои веб-приложения.
День третий - Презентация и ораторское мастерство
Цель занятия: Продолжить работу по подготовке к защите своих вебприложений.
− Оформление презентации (основы успешного выступления, наполнение слайдов текстовой информацией, создание презентации без помощи готовых макетов, разработка собственного стиля и оформления презентации)
− Публичное выступление (самостоятельная подготовка текста по выбранной теме, подготовка презентации для выступления, защита проекта)
Результат занятия: Ученики продолжили подготовку к защите своих вебприложений, узнали о принципах оформления презентаций, провели тренировку публичного выступления.
День четвертый - Защита проектов перед представителями компаний.