1-й модуль
День первый
Знакомство с языком Python и средой IDLE
− Введение в язык программирования Python
− Знакомство со средой разработки
− Что такое переменные?
− Ввод данных пользователем
Результат занятия: ученик может самостоятельно установить Python на компьютер и начать работу с языком, написание программы-анкет ы на языке Python.
День второй
Условные операторы и первые циклы
− Операции с переменными
− Условные операторы If
− Циклы While и завершение разработки мини-игры
Практическое задание: домашний индивидуальный мини-проект на понимание изученного материала
Результат занятия: написанное нескольких простых программ-примеров типа “Угадай число”
День третий
Продолжение изучения Python
− Циклы For
− Функция range()
− Типы данных и как работает память?
Результат занятия: у ученика есть начальное понимание памяти, необходимое для правильного выбора типа данных
День четвертый
Списки и словари
− Списки и генераторы списков
− Простейшая сортировка списков
− Генерация случайных ключей словаря
Практическое задание: ученик получает техническое задание и программирует калькулятор на основе индивидуального ТЗ.
Результат занятия: ученики знакомятся со структурами данных, углубляют и практикуют навыки в использовании цкилов For.
2-й модуль
День первый
Изучение стандартной библиотеки языка Python
− Подробно рассматривается строковый тип данных
− Разбор ошибок домашнего проекта
− Как правильно пользоваться документацией на python.org
− Изучение строковых методов при помощи документации
Результат занятия: ученик готов к дальнейшему самостоятельному углублению “стандартного” python по мере необходимости
День второй
Функции и многофайловые программы
− Понятие функции и создание собственных функций
− Что такое модуль и зачем нужны многофайловые программы?
− Немного информации о декораторах
Практическое задание: усовершенствовать свои программы с помощью собственных функций в отдельных файлах
Результат занятия: ученик понимает, зачем может быть полезным деление одной большой задачи на несколько маленьких, и как это может оптимизировать код
День третий
Начало объектно-ориентированного программирования
− Основные понятия ООП
− Классы, методы и аттрибуты
− Методы и поля класса. Что такое конструктор?
Результат занятия: ученик узнает основы объектно-ориентированного программирования, что важно для дальнейшего понимания ботов
День четвертый
Продолжать изучать ООП
− Наследования в Python
− Применение декораторов на примере чат-ботов
− Инкапсуляция и виды наследования
Практическое задание: каждый ученик получает задание на разработку собственного класса, взяв за родительский класс, созданный преподавателем.
Результат занятия: ученик подробно изучил основные постулаты ООП и изучил примеры реализации этой методики
3-й модуль
День первый
Создание первого бота для ВКонтакте
− Установка и настройка необходимых библиотек
− Создание токена бота и изучение избранных методов библиотеки VK
− Разработка чат-бота, отвечающего на простые команды
Результат занятия: работающий бот в социальной сети VK, который умеет отвечать на простые команды
День второй
Повышаем функциональность бота
− Продумываем больше команд и больше ответов
− Самостоятельная реализация каждым учеником
− Учимся отправлять стикеры
Практическое задание: сделать небольшого интерактивного бота по техническому заданию
Результат занятия: закрепили методы VK Api для отправки текстовых сообщений и определились с дальнейшим развитием функциональности бота
День третий
Формирование запросов бота
− Продумываем диалог, инициируемый ботов
− Бот запоминает входные данные от пользователя
− Использование ранее написанных программ для повышения пользы бота
Результат занятия: каждый ученик начинает добавлять в свой бот все больше и больше полезный функций
День четвертый
Цикл приема сообщений
− Разработка мини-калькулятора с помощью диалога с пользователем
− Делаем диалог более живым
− Изучен и применен механизм обработки исключений
Практическое задание: каждый ученик получает собственное задание по расширению функциональности бота
Результат занятия: получили платформу для созданий бота, необходимой функциональности. Были показаны и разобраны несколько примеров диалоговых ботов
4-й модуль
День первый
Сессии пользователей
− Краткий экскурс в базу данных
− Разные статусы чат-ботов
− Использование БД и сброс статуса
Результат занятия: у чат-бота теперь есть несколько статусов для каждого этапа работы. Возможен перезапуск и повторное использование бота
День второй
Взаимодействие с медиафайлами
− Подробный разбор типа Message
− Самостоятельный отбор контента из VK
− Реализация отправки аудиофайлов и картинок
Практическое задание: добавить запрос бота на отправку случайной аудиозаписи и случайной картинки по команде
Результат занятия: закрепили методы VK Api для отправки текстовых сообщений и определились с дальнейшим развитием функциональности бота
День третий
Продолжение работы с медиафайлами
− Создание новой базы данных избранных медиафайлов
− Учимся сортировать запросы музыки по жанрам
− Какие еще медиафайлы мы можем отправлять
Результат занятия: после этого занятия бот умеет принимать запросы на музыку в разных жанрах и отправлять её в виде аудиозаписи
День четвертый
Занятие по командообразованию
− Разбиваем группу на команды, распределяем роли
− Распределение ролей, согласование идеи проекта
− Методы реализации идеи, налаживание внеклассной связи
Практическое задание: коллективно подготовиться к защите идеи к следующему занятию, сделать план выполнения проекта
Результат занятия: группа поделена на команды по несколько человек, каждая группа начинает разработку прототипа для проектного бота
5-й модуль
День первый
Система контроля версий
− Знакомство с Git и изучение базовых команд
− Регистрация и выгрузка проекта на Github
− Клиент-серверная модель
Результат занятия: были изучены важные команды по системе контроля версий
Практическое задание: создать новую ветку и сделать туда коммит всего проекта
День второй
Работа со сторонними библиотеками
− Знакомимся с API openweathermap
− Учимся извлекать нужную информацию из ответа сервера
− Пишем основу для бота, который даёт информацию о погоде
Практическое задание: сделать небольшого интерактивного бота по техническому заданию
Результат занятия: начали изучение сторонней библиотеки для отображения погоды. Изучили нужные методы и научили бота отправлять информацию о погоде
День третий
Знакомство с искусственным интеллектом
− Что такое ИИ и знакомство с DialogFlow
− Изучаем API и подключаем DialogFlow к боту
− Учимся работать с DialogFlow
Результат занятия: познакомились с понятием искусственного интеллекта и разобрали интересные для себя возможности DialogFlow
День четвертый
DialogFlow и оформление бота
− Продолжаем изучение и реализуем DialogFlow
− Объединяем весь функционал в одном боте
− Продумываем оформление и новые клавиатуры
Практическое задание: сделать у своего бота наиболее подходящее оформление, предварительно взяв совет у преподавателя
Результат занятия: разобраны различные варианты оформления и клавиатур
6-й модуль
День первый
Поддержка бота в беседе
− Продолжаем работу над оформлением бота
− Какой функционал может принести бот в беседе?
− Изучаем необходимую документацию. Добавляем чат-бота в беседу
Практическое задание: придумать и расписать шаги разработки бота в беседе
Результат занятия: был изучен дополнительный функционал чат бота, которого мы теперь можем добавлять в беседы с пользователем.
День второй
Взаимодействие пользователей через бот
− Обработка идей и их реализация
− Делаем вызов бота с репликой/картинко й через обращение
− Тестирование им подготовка к выгрузке бота на Heroku
Практическое задание: прочитать материалы про две методики связи бота с сервером
Результат занятия: бот теперь реагирует на реплики пользователей и из беседы, и в самом чат-боте
День третий
Развертывание бота на сервере
− Загружаем обновленную версию на GitHub
− Устанавливаем и близко знакомимся с Heroku
− Deploy бота на сервер
Результат занятия: теперь бот работает без запуска скриптов с компьютера, 24/7
День четвертый
Занятие по ораторскому мастерству
− Как правильно представлять своей проект?
− Тренировка для речи
− Каких речевых конструкций точно стоит избегать при презентации?
Практическое задание: спикер от каждой команды должен подготовить речь для представления своего проекта
Результат занятия: начинается работа над финальной презентацией. С каждой группой были проработаны слабые и сильные стороны проекта, подготовлены тезисы для презентации.
7-й модуль
День первый
Работа над собственными проектами
− Пару слов о парсинге интернет-страниц
− Модуль requests
− Парсинг HTML страниц на примере мониторинга скидок
Практическое задание: упражнение на парсинг информации с данной преподавателем интернет страницы
Результат занятия: продолжается работа над собственными проектами. По желанию был добавлен функционал парсинга скидок с избранных сайтов
День второй
Работа над собственными проектами
− Загрузка сторонних медиафайлов
− Работа с фотографиями и базами данных
− Продолжаем тренироваться в парсинге сайтов
Результат занятия: теперь бот может работать с файлами вне ВК.
День третий
Развертывание бота на сервере
− URL запросы
− Учимся делать запросу на YouTube
− Обработка запроса и ответ пользователю
Результат занятия: помимо работы над собственными проектами, каждый ученик узнал, каким образом можно получить видео с YouTube в чат-бот
День четвертый
Занятие по созданию презентаций
− Сделали слайды и определились с основными тезисами
− Научились и сделали уместные и красивые анимации слайдов
− Подготовили речь и решили, на какие фишки бота стоит обратить особенное внимание
Результат занятия: работа над проектом закончена, презентации готовы, боты выгружены