Информация о классе
Оценки: 8–12 (для участия в занятии учащиеся должны быть не младше 13 лет)
Длительность урока: один час
Рекомендуемое средство: творческий режим Fortnite
Класс/среда обучения: поддерживающее Fortnite устройство с подключением к интернету (по одному на каждого учащегося). Компьютерный класс или передвижной столик для ноутбука создадут все необходимые условия.
Связь с автором
Авторы: Steven Isaacs и Brian Dickman
Электронная почта: [email protected] | [email protected]
Twitter: @mr_isaacs | @cleverlike
LinkedIn: https://www.linkedin.com/in/steve-isaacs/ | https://www.linkedin.com/in/cleverlike
ОПИСАНИЕ КЛАССА/СРЕДЫ ОБУЧЕНИЯ
Этот урок предназначен для Hour of Code в рамках Недели информатики.
Урок можно пройти отдельно или интегрировать с другими активностями в рамках большого проекта.
Steve Isaacs — преподаватель игрового дизайна и разработки, который широко использует в обучении практические задания и личный выбор. Данный формат позволяет ученикам по-разному достичь результатов обучения, которые зависят от их интересов, доступного контента и опций.
Brian Dickman изучал информатику и работает в игровой студии, которая создаёт развлекательный и образовательный контент в популярных видеоиграх.
Обзор урока
Сможете ли вы сбежать из башни-викторины? Или, что ещё лучше, сможете ли вы создать викторину в жанре «Побег из башни»?
Изучите функции в творческом режиме Fortnite и создайте игру, в которой игрокам нужно отвечать на вопросы викторины, чтобы сбежать. Каждый правильный ответ активирует функцию, которая позволяет игрокам продвинуться дальше по башне, а также сопровождается приятными звуком и визуальным эффектом. Неверные ответы будут активировать неприятный звук и визуальный эффект и не открывают путь дальше.
Данный курс поможет ученикам с помощью циклового контроллера и ряда устройств освоить азы функций в контексте программирования.
Желаемые результаты
Каких результатов достигнут учащиеся в процессе обучения?
ВАЖНЫЕ ВОПРОСЫ И КЛЮЧЕВЫЕ ИДЕИ
Можно ли преподавать основы информатики в рамках конструктивной деятельности вместо того, чтобы изучать синтаксис с позиции очередного навыка?
Равноценно ли изучение таких основ информатики, как функции в творческом режиме Fortnite, знакомству с ними в полноценной среде программирования?
Можно ли преподавать основы информатики с помощью механик игры?
Захотят ли учащиеся активнее изучать информатику, если обучение будет проходить в игровой среде?
Учебные занятия
Введение в функции
Функция — это единица кода, которая обычно характеризуется своей ролью в общей структуре программы. Если точнее, функция содержит в себе единицу кода, которая работает с несколькими входными сигналами, многие из которых являются переменными. В зависимости от этих сигналов функция может выполнять разные действия — менять значения или даже осуществлять конкретные операции.
– из Techopedia.com
Проще говоря:
Функция — это единица кода, к которой можно обращаться раз за разом.
– из code.org
Например, в рамках данного урока ученикам нужно будет настроить несколько функций для викторины, которая пройдёт в творческом режиме Fortnite. По сути, каждая функция (представленная в игре цикловым контроллером) будет выполнять в игре серию команд (с помощью устройств).
Псевдокод — симуляция процесса написания кода для демонстрации идеи, которая будет реализована с помощью кода. Псевдокод показывает общую структуру, но не всегда использует правильный синтаксис. В этом курсе мы время от времени будет использовать псевдокод для демонстрации наших идей.
На псевдокоде задание выглядит так:
Функция 1 (askQuestion): начать раунд / задать игроку вопрос Функция 2 (startTimer): запустить таймер
myFunction(askQuestion) Сделать следующее Сбросить кнопки ответов Воспроизвести звук Выбрать случайное количество вопросов викторины Показать вопрос myFunction(startTimer) Запустить таймер обратного отсчёта Если таймер доходит до 0, то Время вышло Воспроизвести звук Показать сообщение («К сожалению, вы не успели ответить на вопрос!») Активировать следующий вопрос Отключить функцию Отключить функцию
Функция 3: (correctAnswer) myFunction(correctAnswer) Сделать следующее Воспроизвести приятный звук Показать сообщение («Правильно! Отличная работа!») Увеличить счёт на 1 Активировать следующий вопрос Отключить функцию Отключить функцию
Функция 4: (wrongAnswer) myFunction(wrongAnswer) Сделать следующее Воспроизвести неприятный звук Показать сообщение («Неверно! Попробуйте ещё раз!») Активировать следующий вопрос Отключить функцию
Пример выше показывает, что при активации функции (askQuestion) происходит сразу несколько действий:
Сбрасываются кнопки вопросов.
Воспроизводится звук, сигнализирующий о появлении вопроса.
Выбирается случайное количество вопросов викторины.
Игроку показывается вопрос.
Затем мы вводим ещё одну функцию (startTimer), которая делает следующее:
Запускает таймер обратного отсчёта.
Если таймер доходит до 0, воспроизводит звук и лишает игрока возможности ответить на вопрос.
Мы также добавили две дополнительные функции: (correctAnswer) и (wrongAnswer). Они делают следующее:
Воспроизводят звук.
При необходимости меняют счёт.
Выводят на экран сообщение.
Активируют следующий вопрос.
Больше информации о функциях можно найти в этом видео:
Принципы CS: определение и вызов функций
Функции можно использовать в любом языке программирования, а также в различных средах, в том числе в творческом режиме Fortnite.
В Fortnite мы используем цикловой контроллер, в котором будут размещены события/действия. Они будут выполняться при активации циклового контроллера.
АКТИВНОСТИ
Поэтапные инструкции к занятию можно найти в учебном пособии и руководстве учителя.
В процессе обучения ученики должны использовать только учебное пособие.
Используйте загружаемую рубрику, чтобы оценить работу учащихся.
Внешние ресурсы
Принципы CS: введение в переменные, часть 1 Принципы CS: введение в переменные, часть 2 Определение переменных
Назначение стандартов
Единый комплекс образовательных стандартов
1A-AP-09 Продемонстрируйте принцип хранения и обработки данных программами с помощью цифр или других символов.
1B-AP-10 Создайте программы с последовательностями, событиями, петлями и условиями.
1B-AP-12 Измените, переделайте или внедрите элементы уже существующих программ в свою работу, чтобы создать что-то новое или добавить продвинутые функции.
1B-AP-15 Протестируйте и отладьте (найдите и исправьте ошибки) программу или алгоритм, чтобы убедиться, что он работает так, как задумано.
2-AP-10 Используйте блок-схемы и/или псевдокод, чтобы преобразовать сложные проблемы в алгоритмы и решить их.
2-AP-13 Разбейте проблемы и подзадачи на части для упрощения разработки, внедрения и проверки программ.
2-AP-14 Создайте процедуры с параметрами, чтобы упорядочить код и упростить его дальнейшую эксплуатацию.
2-AP-17 Систематически протестируйте и улучшите программы с помощью различный тестов.
3A-AP-13 Используйте уже имеющиеся знания и личные интересы для создания прототипов, которые используют алгоритмы для решения вычислительных проблем.
3A-AP-16 Придумайте и поэтапно разработайте вычислительные артефакты, использующие события и активируемые ими инструкции для решения практических вопросов или общественных проблем, а также выражения ваших личных взглядов.
3A-AP-17 С помощью системного анализа, а также таких конструкций, как процедуры, модули и/или объекты, разбейте проблемы на меньшие части.
3A-AP-18 Создайте артефакты с помощью процедур программы, комбинаций данных и процедур или независимых, но взаимосвязанных программ.
3A-AP-22 Работая в команде и используя инструменты для совместной работы, придумайте и разработайте вычислительные артефакты.
МЕЖДИСЦИПЛИНАРНЫЕ СВЯЗИ И НАВЫКИ ДЛЯ XXI ВЕКА
Этот урок посвящён вопросам, связанным с программированием и информатикой.
Навыки для XXI века:
Критическое мышление
Творческая изобретательность
Совместный проект
Общение
Технологическая грамотность
Гибкость
Лидерство
Инициативность
Социальные навыки
ИЗМЕНЕНИЯ И АДАПТАЦИЯ
Меняйте и адаптируйте урок под потребности студентов, IEP, 504 и т. д.
Учащиеся могут работать в командах с целью внедрения метода программирования в парах.
Учащимся может быть предоставлен образец карты для разбора и изменения.
При необходимости предоставьте учащимся адаптивный контроллер/геймпад.