Оригинальный вопрос
Меня пригласили в детскую группу моей старшей дочери поговорить и ответить на вопросы детей о моей профессии. В группе 26 детей в возрасте от 4 до 6 лет, плюс 3 учителя, которые боятся всего, что связано с программированием и ИТ, но достаточно смелы, чтобы освоить новые приемы. У меня было бы около 20-30 минут, без проектора или чего-либо еще. Хотя у них есть старый компьютер, который по внешнему виду может быть 486, и я даже не уверен, что он работает (обновление: это не так).
Мои исследования показали отличные ранние темы с множеством полезных советов:
- Как бы вы объяснили свою работу 5-летнему?
- День карьеры: как сделать так, чтобы «программист» звучал круто для 8-летних?
- Чему я могу научить группу детей программированию за один день?
Моя ситуация отличается от каждого из выше , хотя: последние из них касаются детей старшего возраста, в то время как первый из них о разговоре с одного малыша (или старшего человека) - группа из 20 представляет собой целое отличается сложной задачей.
Как я могу научить детей и их учителей программированию в увлекательной игровой форме?
План на основе ответов
Спасибо за все удивительные ответы, ребята :-) Я не думаю, что имеет смысл принимать один ответ, но мне больше всего нравится Джим, как, очевидно, большинство SOers. Тем не менее, многие другие ответы содержат полезные советы и идеи (некоторые из которых я обязательно буду использовать в будущие дни карьеры в школе ...).
Я составил примерный план:
- Кратко объясните, что такое программирование, как в этом ответе .
- Скажите, что компьютеры есть везде, и соберите примеры с детьми (как предложено в нескольких ответах ниже).
- Сделайте презентацию Джима с бутербродами .
- Если время позволяет, постройте его дальше:
- объясните, что сила компьютеров заключается в том, что они точно помнят , чему их когда-то учили (и демонстрируют это, готовя второй бутерброд, повторяя все ошибки первой попытки)
- иметь второй раунд, пытаясь исправить ошибки в процессе
- объяснить концепцию петель: вы можете заставить компьютер готовить
n
бутерброды с помощью одной инструкции
Это мой план - я уверен, что все получится иначе, поэтому я буду импровизировать в зависимости от ситуации. Презентация запланирована примерно через 2 недели - позже я обновлю пост и расскажу, как все прошло ...
Полученные результаты
Наконец сегодня настал день презентации ... Короче говоря, все прошло хорошо, и это имело огромный успех :-)
На этот раз группа оказалась довольно беспокойной и энергичной, поэтому время от времени разговор становился немного хаотичным. Я должен был сократить это и добраться до Шоу Большого Сэндвича. Как и говорил Джим, детям это нравилось .
Был один непредвиденный побочный эффект: после того, как первый кусок хлеба наконец приготовился, все захотели есть! Так что какое-то время - в течение которого я пытался поддержать разговор и объяснить больше о программировании - мы должны были установить своего рода линию экстренной службы с воспитателями детских садов, чтобы производить огромное количество мармеладного хлеба и кормить голодную толпу (это было наполовину через час после завтрака, для справки :-). Потом у нас кончился хлеб, что явно означало конец презентации. Самый большой взрыв смеха разразился, когда после уборки беспорядка дети заметили, что бедный компьютер наступил на мармелад, который испортил его носок :-)
Сами учителя также были очень впечатлены - судя по отзывам, это был лучший и самый смешной день карьеры в этой группе. Еще раз спасибо всем вам за прекрасные идеи!
Вещи, которые можно улучшить (в следующий раз):
- Когда я спросил: «Как вы думаете, компьютеры умные?», К моему удивлению, большинство из них ответили «нет». Затем я спросил, кто считает компьютеры умными и почему. Однако я не спросил, кто думает, что компьютеры глупы и почему - таким образом, я думаю, что пропустил некоторые потенциально интригующие ответы.
- Приглашение детей прийти за стол вовлекло их в активное участие ... но иногда, может быть, и слишком активно. Кусочки хлеба начали исчезать со стола, и некоторые из зрителей подражали компьютеру так же близко, как окуная свои пальцы в масло и мармелад :-) Так что лучше держаться на некотором расстоянии.
- Чтобы держать голодную толпу под контролем, детям нужно заранее четко сказать: «Вы можете съесть весь хлеб, но только после демонстрации!»
Но в целом я вполне доволен результатом. И я уверен, что дети получили основное сообщение: как программист, если вы избегаете создавать беспорядок, вы можете сделать свой хлеб (даже с мармеладом :-)
Ответы:
Я делал это раньше.
Я положил на стол много бумажных полотенец и достал булку (дешевого) хлеба, небольшую ванну с маслом, небольшую баночку с желе и пластиковый нож для масла.
Я сказал детям: «Как многие из вас думают, что компьютеры умные?» Большинство из них подняли руки. Я сказал: «Компьютеры действительно глупы. Люди умны. Вы должны рассказать компьютеру все . Он не знает, как что- то делать . Я собираюсь показать вам, что я имею в виду. Я притворюсь, что я» я тупой, как компьютер, а вы, ребята, говорите мне, как приготовить бутерброд. "
И когда первый ребенок сказал: «Откройте мешок с хлебом!» Я разорвал сумку на части и позволил хлебу беспорядочно упасть по всему столу. Это вызвало много смешков. Я продолжал воспринимать детей буквально на словах, пока они не научились давать короткие, конкретные команды, и в итоге мы получили бутерброд с маслом и желе. Было много смеха, но они ушли, хотя бы немного поняв, чем программист зарабатывает на жизнь.
(Должен заметить, я также провел эту демонстрацию со взрослыми в классе «введение в программирование», и с ними это так же хорошо работает.)
источник
А как насчет кинестетической версии логотипа?
Скажем, у вас двое детей рядом. Могут ли они выяснить, как поменяться местами, используя только команды «Шаг вперед», «Шаг назад», «Повернуть влево на 90 градусов» и «Повернуть вправо на 90 градусов»? Я уверен, что есть другие игры, такие как прохождение лабиринта и т. Д.
Я думаю, вы бы удержали их внимание, если бы могли заставить их двигаться. Это вызовет интерес. Позже они поймут, что работа сидячая. ;)
источник
Не пытайтесь показать им что-нибудь на компьютере. Смотреть на кого-то другого типа скучно для взрослых. Для 5-летних это рецепт анархии.
Вместо этого сделайте это интерактивным. Некоторая форма «Саймон говорит», но пусть они будут программистом .
источник
Я никогда не пробовал это, но это может быть весело.
Физически продемонстрировать алгоритм, используя некоторый атрибут каждого ребенка в качестве входных данных .
Например, заставить их сформировать линию (в любом порядке, в котором они идут изначально), бок о бок. Это может работать лучше в полукруге, чтобы они могли видеть друг друга, выполняя упражнение, но где-то должен быть разрыв в линии. Затем, начиная с одного конца линии, заставьте их по очереди делать «если одноклассник слева от вас выше, поменяйтесь местами; в противном случае оставайтесь на месте». Игра заканчивается, когда вы проходите линию и никто не меняет местами. Заставь их наблюдать за результатами. (Подсказка: пузырьковая сортировка!)
источник
Чтобы превратить детей в программирование, вы подъезжаете к детскому саду на вашем Rolls Royce и идете со своим великолепным другом.
Если вы не Билл Гейтс, то вам просто нужно будет объяснить, что вы сидите на скучных собраниях по 4 часа в день, печатаете титульные листы для отчетов TPS в течение 2 часов и смотрите на глупые вещи, написанные предыдущими невежественными программистами для остальные 6 часов. (Не нужно упоминать, что вы звоните людям, которые поддерживают вашу последнюю программу и думают, что вы предыдущий бестолковый парень).
Нет, я не горький, почему ты спрашиваешь?
Серьезно, (я уверен, что я подсознательно плагиат от одного из этих трех потоков), пусть они играют «дать мне инструкции о том, как сделать Y», когда вы делаете вещи, как Джинн - все неправильно, если инструкции не очень точны и Чисто. На самом деле упомяните Джина как хороший пример, предполагая, что дети видели Аладдина.
; ^)
источник
Заставьте их писать короткие программы, чтобы вы могли выполнять простые вещи (например, входить в комнату и садиться), а затем выполнять их буквально, чтобы продемонстрировать «жучки» - где они не были достаточно конкретными или не учитывали что-то, поэтому что вы будете делать что-то не так. Постарайтесь не навредить себе в процессе. Это должно быть забавно и даст им довольно хорошее представление о том, что такое алгоритм.
источник
Я думаю, что вы могли бы сделать следующую демонстрацию через 20 минут. Может быть, это больше подходит для детей старшего возраста. Я действительно не знаю, на что способны детские сады. Я бы лично не пытался объяснить программирование, а вместо этого описал бы проблему, которую мы, программисты, решаем. Например, если детей достаточно, вы можете продемонстрировать им интернет в интерактивном режиме.
Часть I: Как это работает
Сначала опишите им, желательно с реквизитом, как работает интернет. Подключите ноутбук, подключенный с помощью кабеля (для визуального эффекта) к домашнему маршрутизатору. Расскажите, как программисты создают всевозможные устройства, в том числе программы на ноутбуке, программы в маршрутизаторе и приложения на других устройствах, подключенных к Интернету, например, на мобильных телефонах.
Объясните, как компьютеры не связаны напрямую друг с другом, потому что невозможно подключить кабель от каждого компьютера в мире к каждому компьютеру. Вам понадобится миллиард кабелей в вашем доме. Поэтому вместо этого компьютеры подключаются к маршрутизаторам. Маршрутизаторы передают пакеты данных (например, сообщения электронной почты, изображения или видео) другим маршрутизаторам, пока, наконец, не доберутся до другого компьютера.
Опишите правила общения компьютера с другим:
Компьютер может передать пакет только своему маршрутизатору.
Маршрутизатор может передать пакет подключенным к нему компьютерам или ближайшему маршрутизатору.
Это объяснение должно быть очень коротким, но подчеркивать правила. Вам, вероятно, следует приравнять пакеты к электронной почте или фотографиям.
Часть II: Интерактивное время
Затем 3 ребенка добровольно будут маршрутизаторами. Все остальные - это компьютеры и делят их поровну. Было бы полезно иметь цветные карточки, которые они могут держать. Как человек, который держит синюю карту, является маршрутизатором, который может разговаривать со всеми людьми, которые держат голубые карты. Допустим, вы раздаете синие, красные и желтые карточки.
Расположите «роутеры» по линии: синий, затем красный, затем желтый. Затем синий маршрутизатор должен будет передать пакет на красный маршрутизатор, чтобы передать его на желтый маршрутизатор. Сгруппируйте других детей вокруг их роутеров.
Принесите «пакеты» для каждого ребенка. Смешайте это с фотографиями, письмами, распечаткой крестики-нолики, чтобы символизировать игру, или что-то еще. Начните с того, что один красный компьютер отправьте на желтый компьютер.
«Эшли, выбери желтый компьютер, на который ты хочешь отправить свою фотографию. Хорошо, чтобы отправить фотографию Брайану, ты должен передать ее своему роутеру, Келли. Скажи Келли, кто должен получить фотографию. Келли, ты голубой, так что ты не можешь дать фотографию Брайану. Ты должен передать ее Тимми. Скажи Тимми, кто должен получить фотографию. Тимми рыжий, поэтому он не может дать ее Брайану. Он должен передать ее Рене. Рене Вы можете передать изображение Брайану, поскольку он - желтый компьютер, а вы - желтый маршрутизатор. "
Затем попросите всех подумать об одном человеке, которому нужно отправить свой «пакет», и посмотрите, как работает ваша импровизированная сеть.
Часть III: вернитесь к компьютерному программированию
В заключение спросите у маршрутизаторов, легко ли быть маршрутизатором или сложно, потому что было много людей, которые пытались дать вам снимки одновременно. Укажите, где что-то пошло не так, и свяжите это с реальными проблемами, которые мы решаем.
«Я мог видеть, что Тимми был перегружен пакетами, потому что каждый должен был посылать свой пакет через него. Как программисты, мы должны решать такие проблемы каждый день. Один из способов, которым мы могли бы решить это, - дать Тимми 4 оружия. Или, возможно, добавить другой маршрутизатор, чтобы, если у Тимми было слишком много пакетов для доставки, вы могли бы вместо этого передать его другому маршрутизатору. " Или «Может быть, мы хотим, чтобы изображения доставлялись быстрее, поэтому мы могли бы попросить маршрутизатор сначала доставить изображение, прежде чем доставлять какие-либо другие пакеты».
источник
Чтобы позаимствовать некоторые другие идеи, уже опубликованные, игра Simon Says может быть подходящим вариантом. Тем не менее, вы можете подчеркнуть, как компьютеры будут делать именно то, что вы им скажете. Итак, если дети - Саймон, и они говорят: «Саймон говорит, садись». тогда вы просто садитесь на пол (не на стул или рядом). Следуйте инструкциям к букве, а не к духу. (Конечно, это может быть сложно заставить детей давать неоднозначные инструкции, но я уверен, что вы можете придумать что-нибудь.)
Помимо этого, вы также можете поговорить о видеоиграх или других компьютерных «вещах», которые могли использовать дети, и вы можете сказать, что программисты, как и вы, создают их. А потом, может быть, прыгнуть в Саймон говорит, чтобы показать, как это работает. Конечно, это может привести к тому, что группа детей подрастет, думая, что вы проведете весь день на работе, играя в Саймона Сайса с компьютером ...
источник
Иногда я считаю свою работу игрой с кубиками Lego. Вы начинаете с набора кирпичей разных размеров, форм и цветов, и из этого вы строите более крупные вещи. Вы можете строить замки или звездных войн роботов, используя тот же набор кирпичей.
И это примерно столько же веселья!
источник
Одним из основных преимуществ программирования является способность создавать вещи . Чтобы мечты сбылись. Я не думаю, что это очень понравится маленьким детям, у которых нет проблем с тем, чтобы их воображение свободно бродило. Что компьютеры приносят на стол?
Вместо этого вы, вероятно, могли бы заинтересовать их в решении проблем, головоломок. Такое мышление, которое необходимо для программирования. Я, вероятно, не буду использовать компьютер вообще; вместо этого, пусть они решают увлекательную математическую головоломку. Это не должно быть трудно, но это должно включать творческое мышление.
источник
Когда я за короткое время пытаюсь объяснить программирование людям, которые не знакомы с программированием, я объясняю это с помощью Legos. С Legos у вас есть куча простых частей, это похоже на язык программирования. Затем вы можете собрать их вместе так, как вы хотите, и сделать все, что вы можете себе представить, если у вас есть правильные части.
Для взрослых и детей это, вероятно, очень интересная аналогия, и она все еще демонстрирует концепцию программирования.
Кроме того, вы можете даже плохо построить автомобиль Lego, а затем показать автомобиль Lego с очень хорошим дизайном и показать им, что программирование такое же. Вы можете программировать автомобили, роботов или все, что вы можете себе представить, но есть не только один способ сделать это, есть много способов сделать это. некоторые лучше, чем другие.
Я получил так много людей, чтобы начать программировать и даже переключаться между этими специальностями. :)
источник
Я думаю, что я бы начал с разговора в течение 2-3 минут о компьютерах, и что они следуют инструкциям о том, что делать.
Затем я продемонстрировал с помощью готового робота LEGO Mindstorms, запрограммировал его пару раз и запустил, просто чтобы показать им, что он следует программе. Программирование Mindstorms довольно наглядно и просто для понимания.
Наконец, я попытаюсь объяснить, что компьютеры работают с программами практически везде, даже на светофорах, в микроволновых печах и их любимых игрушках.
источник
Поговорите о том, насколько распространенным является компьютерное программирование - оно направляет авиакомпании, телефоны, автомобили, как вы покупаете билеты онлайн и т. Д.
Затем научите их писать простую программу символически - 1. Нарисуйте сетку на доске.
2. На одном конце нарисуйте сыр, а на другом - мышь. 3. Имейте «программу», чтобы получить сыр!
Проведите их через неудачные попытки как класс, возможно, мышь попадет в ловушки или что-то в сетке. Они получат острые ощущения от этого.
источник
Как научить детей программированию?
Что ж, первый шаг - это вовлечение некоторых коров!
Загрузите простую игру для программирования (например, IQ Marathon ) на ноутбук и подключите ее к проектору. Пока вы делаете это, вы можете говорить о том, как быть программистом часто означает работать с новейшими технологиями (и, таким образом, демонстрировать, как вы это делаете).
Как только вы его настроите (попрактикуйтесь, чтобы заставить его работать за 5 минут или меньше), вы можете использовать игру, чтобы очень наглядно показать (и с коровами!), Как компьютер делает только то, что вы говорите, и как вы (программист) должны выяснить, какие инструкции необходимы, чтобы заставить его делать то, что вы хотите. Когда вы понимаете это правильно, все так рады вашему успеху, что танцуют коровы!
Оттуда вы можете ответить на любые вопросы или, возможно, просто позволить детям попытаться выяснить, как программировать самих коров. Куда бы они ни захотели, правда.
Коровы!
источник
Дать каждому ребенку вырезанную форму; круги, квадраты, треугольники, разные цвета и т. д. Объясните, как программирование дает инструкции в определенном порядке. Поднимите изображение улыбающегося лица и объясните детям, как его построить. Желтый круг, черная точка, черная точка, дуга. Затем покажите более сложную картину и попросите детей прийти в порядок в соответствии с вашими инструкциями. Вы даже можете ошибиться (например, поставив желтый кружок над черными точками), чтобы показать, как «жучки» попадают в программу.
источник
Продемонстрируйте простого робота Lego Mindstorm и его соответствующую схему. Тогда вам не нужно показывать какой-либо код, и они смогут увидеть конечный результат вашей логики, наблюдая, как lego выполняет вашу программу.
источник
Детям нравятся вещи, которые «делают что-то» и мигающие огни.
На день рождения моего сына я сделал сейф (ящик с электрическим замком и большим количеством светодиодов), который был подключен к ПК.
У них было несколько вопросов для ответа, и каждый ответ приводил к миганию светодиодов (зеленый для хороших ответов и красный для неправильных ответов). Если они правильно ответили на достаточное количество вопросов, светодиоды запускали простую анимацию, которая заканчивалась громким «клонком». Сейф был теперь открыт, и они могли собирать свои награды.
Было весело строить, и детям это нравилось.
источник
Продайте их на ценность автоматической автоматизации. Попросите ребенка пройти впереди комнаты и показать классу, что он делает каждую ночь, когда чистит зубы. Затем попросите того же ребенка показать вам, что он будет делать в это время, если ему не придется чистить зубы.
Затем скажите этому парню, что вы знаете, как перемещать эту кисть по зубам, когда он делает то, что он предпочел бы делать, и скажите ему, что он никогда даже не почувствует этого. Его зубы будут волшебным образом чистыми в следующий раз, когда его мать пойдет осматривать их.
Затем, возможно, напишите какой-нибудь псевдокод на доске, показывающей, как Brush API обращается к ресурсу Tooth в фоновом потоке позади действия Favorite.
источник