Добро пожаловать в «Знакомство с учителем» - сегмент блога CodeMonkey, где учителя со всего мира делятся своим опытом о том, что значит быть педагогом. В сегодняшнем посте представлена Пэм Риссманн, учитель STEM в средней школе Дартмута., Сан-Хосе, Калифорния
Поворот сюжета Banana Tales: давайте закодируем математику
Я учусь в средней школе STEM и преподаю информатику, а также робототехнику и дизайн продукции. Кроме того, я тренер математического клуба нашей школы. В прошлом году я хотел предложить урок STEM перед школой, настоящий факультатив, который будет открыт для учеников 6, 7 и 8 классов. Я решил совместить мою любовь к математике с моей страстью к программированию и предложил урок «Математические головоломки и программирование».
Моя цель в классе - дать учащимся возможность продумать стратегии решения задач типа олимпиад по математике, которые больше похожи на головоломки, чем на традиционные математические задачи в классе. Я также хотел научить их Python с помощью CodeMonkey Банановые сказки, и показать студентам, что навыки Python, которые мы изучаем в Banana Tales, полезны не только для доставки бананов, но и для других целей. Фактически, мы могли бы использовать Python для решения наших математических задач.
Общая структура класса состоит в том, чтобы начать с нескольких математических головоломок, затем ученики делятся своими методами решения головоломок, а затем мы переходим к задачам CodeMonkey's Banana Tales. Когда студенты выучили достаточно базового синтаксиса Python, примерно к 35-му заданию, мы начали кодировать математику.
Мы начали с математического программирования в среде Banana Tales. Мы просто закомментировали существующую задачу и написали вместо нее наш математический код. Мы закодировали математику, чтобы ответ выводился на консоль. Например, вот как (рисунок 1) мы использовали Python для нахождения идеальных квадратов меньше 100.
Я думаю, что программирование математических головоломок помогло укрепить такие концепции Python, как: циклы for, операторы if, списки и другие концепции, которые тесно связаны с «игрой» Banana Tales. Это помогло ученикам понять, что эти конструкции являются методами общего назначения, и их нельзя применять только к жирафам, слонам и т. Д. В заданиях Banana Tales.
Написание математических головоломок на Python также было отличной стартовой площадкой для размышлений о математике по-разному и для изучения других команд Python как части процесса решения проблем.
Например, мы сначала решили эту головоломку карандашом и бумагой:
Сколько целых чисел от 100 до 1000 содержат только цифры: 3, 4 или 5?
На бумаге мы знаем, что числа должны быть от 300 до 599. Мы также знаем, что лучше всего, если мы организуем свое мышление, потому что часто возникает закономерность, когда мы это делаем. Перечисляя числа в числах 300, мы получаем: 333, 334, 335, 343, 344, 345, 353, 354, 355. Теперь такое же количество решений должно существовать в числах 400 и 500. Итак, 9 x 3 = 27 целых чисел.
Кодирование этой проблемы на самом деле сильно отличается от решения ее карандашом и бумагой, поскольку мы хотим, чтобы компьютер анализировал каждую цифру числа, а это не то, к чему он привык. Нам нужно выяснить, как разложить трехзначное число на отдельные цифры. Другими словами, как заставить компьютер просто смотреть на значения сотен или десятков или единиц (единиц)? Мы нашли два способа сделать это, но, вероятно, есть еще больше способов.
Первый (рис.2) метод заключался в использовании деления (/) и по модулю / остатку (%) для получения разных цифр. Второй способ (рис. 3) заключался в преобразовании целого числа в строку и последующем просмотре каждого символа (цифры) строки.
Я думаю, что мне больше всего нравится в кодировании математических задач то, что оно помогает ученикам лучше понимать математические задачи, потому что им приходится «учить» компьютер их решать. Некоторым из моих учеников это очень понравилось, и они начали просить меня решать другие математические задачи, чтобы я мог их программировать дома. В конце концов я обнаружил https://projecteuler.net/, сайт, посвященный математическим задачам по программированию! После регистрации на сайте вам будут предложены математические задачи для кодирования и решения, и есть сообщество, с которым вы можете поделиться своими мыслями и вопросами.
ОБ АВТОРЕ
Пэм Риссманн - учитель STEM в средней школе, преподает информатику, робототехнику и дизайн продукции. Она преподает в течение 15 лет и, помимо преподавания, тренирует в своей школе соревновательный математический клуб и клуб STEM Girls. Пэм является лауреатом премии учителя STEM округа Санта-Клара / Texas Instruments и награды Калифорнийской лиги учителя года средней школы за свою школу. В 2019 году Пэм была удостоена награды Project Lead the Way как выдающегося учителя Gateway. Следите за сообщениями Пэм в Twitter: @pperfectsquares