Групповые игры для обучения компьютерному программированию (функциональному или императивному)

StackOverflow https://stackoverflow.com/questions/1500769

  •  19-09-2019
  •  | 
  •  

Вопрос

(Краткое изложение смотрите в конце обновленный вопрос.)

Я хочу донести до групп людей (детей или взрослых), как компьютерная программа написано на языке высокого уровня работает, и какова связь этой программы с компьютером как потребительским устройством, каким они его знают (похожая на телевизор коробка, которая "делает" набор текста и "выходит в Интернет").

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

Я прочитал Обучение начинающих программированию без компьютеров здесь, в stackoverflow;его ссылка на Информатика Отключена от сети подходит ближе всего, но большинство видов деятельности там либо слишком сложны, требуют слишком большого количества реквизита, либо сосредоточены на конкретных концепциях информатики.

Я также читал Игры, которые обучают основам программирования но почти ничто не соответствовало моему описанию в первом абзаце выше.

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

Имейте в виду эти требования, некоторые из которых являются субъективными:

  • физический
  • нет реквизита (или его очень мало)
  • веселье
  • задействует как можно больше чувств, насколько это возможно
  • имитирует опыт написания программы и запуска ее на компьютере
  • нигде на картинке нет компьютеров
  • это игра (соревновательная или кооперативная)

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

Обновить:

  • Спасибо за ответы на данный момент!
  • Теперь я пояснил, что меня интересует моделирование работы программы на языке высокого уровня, а не то, как работает машина (1 и 0) или конкретные концепции
  • С этим разъяснением вы сможете конкретно сказать, учит ли ваше игровое предложение или найденная игра функциональному или императивному программированию
  • С этим разъяснением, пожалуйста, также ответьте на часть об играх, чтобы научить взаимосвязи компьютерной программы с компьютером.Чему нужно научить, так это тому, что другие потребительские устройства, которые физически выглядят аналогично, не имеют "программ" - почему?
  • Мы очень ценим ваши прямые ответы;если вы также можете найти более готовые к использованию источники за Информатика Отключена от сети это тоже будет здорово
  • Смотрите мои комментарии к ответам на данный момент, все из которых сделаны в духе благодарности за то, что вы написали, и никоим образом не предназначены для критики.
Это было полезно?

Решение

По сути, компьютеры выполняют всего несколько очень простых действий:

  1. Они могут выполнять элементарную математику,
  2. Они могут перемещать данные из одного места в другое,
  3. Они могут зацикливаться, и
  4. Они могут принимать простые решения.

Мощь компьютеров заключается в том факте, что они могут выполнять эти простые действия миллионы раз в секунду.

На уровне физической игры, я полагаю, это практически все, чему вы можете научить.Помимо этого, я считаю, что требуется компьютерное моделирование и / или мультимедийные презентации (или, по крайней мере, белая доска).

Другие советы

1.Вид Человеческого Пузыря

Просто протестируйте человеческую сортировку пузырьков => спросите группу людей - я бы рекомендовал от min.от 4 до макс.infinite :-) - сортировать себя по принципу пузырьковой сортировки, основанной на алфавитном порядке их фамилии.

Пример : https://www.youtube.com/watch?v=8QD-R_MfDsQ

Подходит для детей и взрослых.

2.Человеческий Безумный Робот

С помощью физических людей, бумажных листов и написанных на них стрелок + символов воспроизведите принцип работы робота Frenzy в реальной жизни.Поищите "lightbot" в Google - я пока не могу разместить более двух ссылок.Я только что создал свою учетную запись, чтобы ответить здесь :-)

3.Primo

Для совсем маленьких детей (после 4 лет) мне очень нравится Primo, программируемая маленькая игрушка, которую вы приводите в движение по сетке => http://www.primotoys.com/

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

Это может быть немного продвинуто - не уверен, что сейчас, перечитав это.

На уроке CS действительно было весело:Живая Машина Тьюринга.

Вам нужно:

  • Какое-то место для размещения формальных правил машины, вначале это чистый хаос :-D

  • Люди:

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

b.Один человек для каждого состояния машины

c."Считывающая головка", которая перемещается влево или вправо по памяти.

Теперь вам просто нужны примеры программ, начните просто, например, с инвертирования шаблона.Затем переходите к более сложным программам, таким как increment / decrement.

Для вдохновения :пример того, как физические люди могут материализовать алгоритм сортировки пузырьков с помощью танца => https://www.youtube.com/watch?v=lyZQPjUT5B4

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top