«У вас есть два варианта», - говорю я группе учеников седьмого и восьмого классов школы Саммерс-Нолл.

«Вариант А. Вы получаете 50 долларов». Хм, звучит хорошо, говорит выражение их лиц.

«Вариант Б. Вы получаете сумму в один цент плюс два цента плюс три цента и так далее, вплоть до доллара. Какую ты хочешь?"

Студенты делают паузу, чтобы подумать о проблеме. Карандаш и бумага - это один из способов выяснить, какой вариант приносит больше денег.

Мы обсуждаем, как поколения капризных учителей математики использовали эту сумму целых чисел в качестве загруженной работы, чтобы им не приходилось преподавать. Одна ученица говорит, что у нее был такой учитель.

Вундеркинды вроде Гаусса мгновенно решили задачу, ведь для этой суммы можно вывести формулу. Однако я не собираюсь учить их этому фокусу.

Я даю им возможность решить проблему карандашом и бумагой или могу показать им, как решить эту проблему с помощью компьютерной программы. Они выбирают последнее.

Когда они включают свои Chromebook, в комнате воцарилась безмолвная тишина. У меня их полное и безраздельное внимание.

Проблемно-ориентированный курс математического программирования

В течение 2016–2017 учебного года я экспериментировал с преподаванием программирования в Summers-Knoll School в Анн-Арборе, штат Мичиган. Мои методы отличаются от типичных курсов программирования двумя способами.

Во-первых, я объясняю, почему они должны использовать компьютер. Эти проблемы варьируются от суммирования последовательности чисел до оформления книги.

Типичный курс программирования сразу переходит к скучным деталям, не объясняя причин для утомительной работы. Эта проблема распространяется и на все другие предметы, поскольку мои учителя никогда не мотивировали меня изучать что-либо, от вычитания до термодинамики.

Вместо этого я ищу проблемы и действия, которые мотивируют основные концепции программирования, такие как итерация и условные выражения. Мои наблюдения за уроками математики в Саммерс-Нолл, особенно за Сьюзен Карпентер, вдохновили меня на этот подход.

Во-вторых, студенты используют программирование для решения математических задач и изучения чисел. Другие курсы направлены на то, чтобы увлечь вашего ребенка видеоиграми и веб-дизайном, которые являются достойными занятиями.

Однако мой опыт показал, что ученикам нравится заниматься математикой на компьютере. Это к счастью, поскольку программирование является основной частью числовой грамотности 21 века.

В этой статье рассказывается, чему я научился, преподавая компьютерное программирование в Summers-Knoll. Два описанных здесь урока хорошо работали как в средней школе, так и в третьем и четвертом классе.

Однако не все уроки сработали, и я также описываю неудачи.

Итерация и деньги

У студентов был выбор: 50 долларов или сумма в один, два цента и так далее, вплоть до доллара. Для этого необходимо суммировать на компьютере числа от одного до ста.

Для решения этой проблемы мы используем онлайн-исполнитель на питоне. Я выбрал Python, потому что это язык, которым пользуются настоящие программисты, подобные мне. Хотя существуют языки перетаскивания, такие как Scratch, ни у одного из моих студентов не было проблем с вводом кода.

Я использую онлайн-исполнитель на Python, чтобы упростить жизнь. Часто люди, которые хотят научиться программированию, зацикливаются на деталях настройки программного обеспечения. Онлайн-приложение преодолевает это серьезное препятствие.

Как только дети подключатся к Интернету, я показываю им, как суммировать последовательные числа в Python. Сначала я прошу ввести следующий код.

Строка 2 показывает им, как определить список последовательных целых чисел. В строке 3 они создают тот же список с функцией под названием диапазон.

Оператор печати в строке 5 позволяет вам просмотреть два списка. Учащиеся выполняют код, чтобы показать, что эти два списка одинаковы.

Может показаться странным, что функция диапазона принимает 1 и 5 в качестве аргументов, обозначающих начало и конец последовательности. Программисты давно помечают первый элемент нулевым. Это означает, что последовательность останавливает одно число перед конечным аргументом 5.

Затем я показываю им следующий код.

  • В строке 2 мы устанавливаем для переменной sum значение 0.
  • диапазон (1, 101) - это список чисел от 1 до 100.
  • В строке 3 синтаксис «for i in list» повторяет или проходит по каждому элементу в списке.
  • В строке 4 мы добавляем целое число к нашей текущей сумме.
  • В строке 6 мы печатаем сумму после суммирования от одного до ста.

Дети нажимают «Выполнить», и код дает ответ 5050. Возьмите сумму от одного до ста центов, превышающую 50 долларов.

Обратите внимание, что программа занимает четыре строки кода, что делает ее простой. При разработке задач для молодых студентов я стараюсь написать код менее чем за минуту. Если на это уходит больше времени, программа, скорее всего, слишком сложна для новичка.

Суммирование нечетных целых чисел

После того, как студенты научатся суммировать целые числа, я прошу их суммировать нечетные числа. Это требует модификации функции диапазона, описанной выше. Попробуйте: диапазон (1, 11, 2).

В конце концов дети видят, что возникает закономерность:

1 + 3 = 4

1 + 3 + 5 = 9

1 + 3 + 5 + 7 = 16

1 + 3 + 5 + 7 + 9 = 25

Сумма нечетных целых чисел - это квадраты целых чисел. Например, 4 - это 2 умножить на 2, 9 - это 3 умножить на 3 и т. Д. Я прошу их доказать это утверждение, что на самом деле означает рисование картинки, которая дает понимание этого утверждения.

Попробуйте сами. Если вы застряли, прекрасный ответ можно найти на странице 114 Плач математика Пола Локхардта.

Неудача с законом больших чисел

С теми же учениками седьмого и восьмого классов я провел еще один урок с подбрасыванием монет. Используя те же методы итераций, что и в предыдущем разделе, я хотел показать им закон больших чисел.

Чем больше подбрасываний монеты, тем больше доля орлов приближается к ожидаемой половине. Этого требует закон больших чисел, и мы собирались использовать компьютерный код, чтобы показать это.

Мы настроили код для перебора разного количества подбрасываний монеты. Дети увидели, как доля орлов приближалась к половине при большем количестве бросков.

Однако эксперимент так и не зажег огонь ради игры с кодом. На уроке не было задачи, которую нужно было решить. Это больше походило на типичную лекцию, демонстрирующую некий загадочный закон.

Искусство, дизайн и золотое сечение

Перед турниром NCAA я поговорил со школьниками о своей работе в области науки о данных: Предсказание исхода March Madness. Я использую данные для расчета вероятности победы каждой команды в турнире.

В этом году я украсил презентацию «практической» демонстрацией. Я взял последние четыре команды в турнире Big Ten и получил все результаты игр регулярного сезона между этими командами. Я попросил студентов предсказать исход турнира.

Большинству студентов эта деятельность понравилась… кроме двоих. Я потерял их внимание прежде, чем успел закончить словами «студенческий баскетбол».

Это разочарование привело к мотивации. Я знал, что оба эти ученика любили искусство, так как они рисовали во время математики.

Как вы мотивируете учеников с математикой? Конечно, золотое сечение и ряд Фибоначчи.

Это привело к книжной дизайнерской деятельности.

Я принес картон и попросил детей вырезать наиболее эстетичный прямоугольник по форме их книги. Затем мы измерили соотношение длинных и коротких краев.

Далее мы разработали обложку. Дети выбрали заголовок, который должен быть достаточно длинным, чтобы умещаться в две строки.

Я использовал графическое программное обеспечение, чтобы отрегулировать вертикальный интервал между двумя линиями, пока все не согласятся. Затем мы посмотрели на соотношение между верхними частями двух линий и высотой персонажа.

Как в форме книги, так и в расстоянии между заголовками, мы обнаружили, что отношения близки к 1,61, золотому сечению. Это число, кажется, появляется в эстетически приятных вещах.

Затем мы вскочили на Chromebook, чтобы показать, как это соотношение вытекает из простых правил. Давайте начнем последовательность чисел с 1 и 1. Чтобы получить следующее число, мы складываем два последних числа в последовательности.

1, 1, 2, 3, 5, 8, 13, 21, 35, …

Это знаменитый ряд Фибоначчи, впервые предложенный Леонардо Пизанским в 13 веке. Для создания этой серии мы написали этот код.

  • В строке 2 мы начинаем наш список с первых двух элементов.
  • В строке 4 мы повторяем произвольное количество раз. Ребятам нравится валять дурака и вкладывать миллион только ради того, чтобы взломать сайт. Не рекомендуется.
  • В строке 5 мы генерируем следующее число в последовательности, складывая последние два. Индексы -1 и -2 получают последний и предпоследний элементы в списке соответственно.
  • В строке 6 функция добавить помещает число в конец списка.
  • В строке 7 мы смотрим на соотношение двух последних целых чисел в списке. Обратите внимание, что для этого требуется, чтобы функция float () превращала целое число в десятичное. Если вы забудете этот шаг, вы не получите десятичный ответ для золотого сечения. Попробуй.

Код показывает, как соотношение последовательных чисел в последовательности Фибоначчи переходит в золотое сечение.

Затем я прошу студентов изменить два начальных числа последовательности в строке 2. Попробуйте сами и убедитесь, что золотое сечение «универсально».

Урок завершается просмотром Дональда Дака в стране математики. В этом видео есть несколько красивых анимаций того, как золотое сечение проявляется в искусственных и природных объектах.

Может показаться странным, что я использовал видео Диснея, снятое в 1959 году, чтобы показать золотое сечение. Однако мои попытки найти лучшее, более свежее видео не увенчались успехом. Они либо вызывают чистую скуку, либо имеют рассказчика на двойном ударе скорости.

В нашем мире создано множество высококачественных научных материалов, таких как Cosmos и Particle Fever. Не существует математического содержания такого же качества, как для золотого сечения, так и для других. Это печальное состояние для мира, нуждающегося в большем количестве специалистов по данным.

Перспективы

Изучая свой опыт работы в Summers-Knoll, я обнаружил, что студенты восхищаются кодом, когда им представляют проблему или задание. Это подход 21 века к обучению математике.

В этих двух примерах я показал студентам, как писать компьютерный код, по ходу объясняя каждую строчку. Здесь представлены основные идеи, такие как итерация.

Однако студенты еще не используют компьютерный код для решения своих собственных задач. В какой момент это происходит?

Я не знаю. В следующем году я буду еженедельно работать с классом третьеклассников, чтобы посмотреть, когда они расправят крылья и полетят.