День карьеры в детском саду: как продемонстрировать программирование за 20 минут?

Оригинальный вопрос

Меня пригласили в группу детского сада моей старшей дочери поговорить и ответить на вопросы детей о моей профессии. В группе 26 детей в возрасте от 4 до 6 лет, а также 3 учителя, которые довольно боятся всего, что связано с программированием и самими ИТ, но достаточно смелы, чтобы узнать новые трюки. У меня было бы около 20-30 минут, без проектора или чего-то еще. У них есть старый компьютер, хотя, по его мнению, может быть 486, и я даже не уверен, что он работает (Update: это не так).

Мои исследования показали отличные предыдущие потоки с множеством хороших советов:

Моя ситуация отличается от каждой из вышеперечисленных, но последние связаны с более старшими детьми, в то время как первая связана с разговором с одним ребенком (или старшим человеком); группа из 20 представляет собой совершенно другую задачу.

Как я могу научить детей и их учителей программированию веселым способом?


План на основе ответов

Спасибо за все удивительные ответы, ребята:-) Я не думаю, что имеет смысл принять один ответ, но мне больше нравится Джим, как это делает большинство SOers. Тем не менее, многие другие ответы содержат полезные подсказки и идеи (некоторые из которых я, безусловно, буду использовать в будущих днях карьеры в школе...).

Я собрал примерный план:

  • Вкратце объясните, что такое программирование, например .
  • Расскажите, что компьютеры повсюду, и собирайте примеры с детьми (как это предлагается в нескольких ответах ниже).
  • Сделайте презентацию Джима с бутербродами.
  • Если позволяет время, постройте его дальше:
    • объясните, что сила компьютеров заключается в том, что они точно помнят то, что они когда-то преподавали (и демонстрируют это, готовя второй сэндвич, повторяя все ошибки первой попытки).
    • второй раунд пытается исправить ошибки в процессе
    • объясните концепцию циклов: вы можете заставить компьютер подготовить бутерброды n с помощью одной инструкции

Это мой план - я уверен, что получится совсем по-другому, поэтому я буду импровизировать в соответствии с ситуацией. Презентация запланирована примерно через 2 недели - после этого я обновляю сообщение и расскажу, как он на самом деле пошел...


Результаты

Наконец, день презентации прибыл сегодня... вкратце, все прошло хорошо, и это был огромный успех: -)

На этот раз группа оказалась довольно беспокойной и энергичной, поэтому разговор иногда был немного хаотичным. Мне пришлось сократить его и дойти до шоу Big Sandwich Maker Show. Как описал Джим, детям это нравилось.

Был один непредвиденный побочный эффект: после того, как первый кусок хлеба наконец-то приготовился, все хотели поесть! Итак, какое-то время, в течение которого я пытался поддерживать разговор и объяснять больше о программировании, нам пришлось установить какую-то линию экстренной помощи с учителями детских садов, чтобы производить огромное количество мармеладного хлеба и кормить голодную толпу (это было наполовину через час после завтрака, для записи:-). Тогда у нас кончился хлеб, что явно означало конец презентации. Самый большой взрыв смеха разразился, когда после очистки беспорядка дети заметили, что бедный компьютер вышел на участок мармелада, который разрушил его носок: -)

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

Вещи, которые можно было бы улучшить (в следующий раз):

  • Когда я спросил: "Вы считаете компьютеры умными?", к моему удивлению большинство из них ответили "нет". Затем я спросил, кто считает компьютеры умными и почему. Однако я забыл спросить, кто думает, что компьютеры глупы, и почему - поэтому я думаю, что пропустил некоторые потенциально интригующие ответы.
  • Приглашение детей, которые приходили за стол, заставляло их активно участвовать... но, возможно, слишком активно. Хлебные кусочки начали исчезать из-за стола, и некоторые из зрителей подражали компьютеру так же, как окунают свои пальцы в масло и мармелад:-) Так что лучше держать дистанцию.
  • Чтобы держать голодную толпу под контролем, дети должны быть четко рассказаны заранее: "вы можете съесть весь хлеб, но только после демонстрации!"

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

Ответ 1

Я сделал это раньше.

Я положил много бумажных полотенец на стол и вытащил буханку (дешевого) хлеба, маленькую ванну с маслом, маленькую банку с желе и пластиковый масляный нож.

Я сказал детям: "Сколько из вас считают компьютеры умными?" Большинство из них подняли руки. Я сказал: "Компьютеры действительно тупые, люди умные. Ты должен сказать всему компьютеру: он не знает, как это сделать. Я собираюсь показать тебе, что я имею в виду. Я буду притворяться, m как тупой, как компьютер, и вы, ребята, говорите мне, как сделать бутерброд."

И когда первый ребенок сказал: "Открой мешок с хлебом!" Я разорвал мешок и позволил хлебу случайно упасть на стол. У этого было много хихиканья. Я продолжал брать детей буквально на их слова, пока они не научились давать короткие, конкретные команды, и в итоге мы закончили сэндвич с маслом и желе. Было много смеха, но они ушли от понимания, по крайней мере, немного, что программист делает для жизни.

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

Ответ 2

Как сделать кинестетическую версию логотипа?

Скажите, что у вас есть двое детей бок о бок. Могут ли они выяснить, как переключать места, используя только команды "Шаг вперед", "Шаг назад", "Поверните налево" на 90 градусов и поверните направо на 90 градусов? Я уверен, что есть другие игры, такие как прохождение лабиринта и т.д.

Я бы подумал, что вы будете держать их внимание, если сможете держать их в движении. Это вызовет интерес. Позже они выяснят, что работа оседлая.;)

Ответ 3

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

Вместо этого сделайте его интерактивным. В какой-то форме "Саймон говорит", но пусть они будут программистом.

Ответ 4

Я никогда не пробовал, но это может быть интересно.

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

Например, заставьте их сформировать строку (в любом порядке, по которой они идут первоначально), рядом. Это может работать лучше в полукруге, чтобы они могли видеть друг друга, выполняя упражнение, но где-то там должен быть разрыв. Затем, начиная с одного конца строки, попросите их по очереди делать "если одноклассник слева выше вас, переключите места, в противном случае оставайтесь на месте". Игра заканчивается, когда вы проходите через линию, и никто не переключает места. Попросите их наблюдать результаты. (Подсказка: сорт пузыря!)

Ответ 5

Чтобы превратить детей в программирование, вы подъезжаете к детскому саду в своем Роллс-Ройсе и ходите со своим великолепным другим.

Если вы не Билл Гейтс, тогда вам просто нужно объяснить, что вы сидите в скучных встречах по 4 часа в день, печатайте обложки для отчетов TPS в течение 2 часов и смотрите на глупые вещи, написанные предыдущим невежественным программистов на остальные 6 часов. (Не нужно упоминать, что тогда вы вызываете звонки от людей, которые поддерживают вашу последнюю программу, и кто думает, что ВЫ - предыдущий невежественный парень).

Нет, я не горький, почему ты спрашиваешь?

Серьезно (я уверен, что я плагиат из одного из этих трех нитей подсознательно), попросите их сыграть "дать мне указания о том, как делать Y", когда вы делаете что-то в стиле Гени: все неправильно, если только инструкции не являются очень точный и понятный. На самом деле упоминать джина как хороший пример, предполагая, что дети видели Аладдина.

; ^)

Ответ 6

Заставьте их писать короткие программы, чтобы вы могли делать простые вещи (например, входить в комнату и садиться), а затем исполнять их буквально, чтобы продемонстрировать "ошибки" - там, где они не были достаточно конкретными или не принимали что-то в учетной записи, так что вы будете делать что-то неправильно. Старайтесь не навредить себе в этом процессе. Это должно быть смешно и даст им довольно хорошее представление о том, что такое алгоритм.

Ответ 7

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

Часть I: как это работает

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

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

Опишите правила для компьютера, чтобы поговорить с другим:

  • Компьютер может передавать пакет только своему маршрутизатору.

  • Маршрутизатор может передать пакет подключенным к нему компьютерам или ближайшему маршрутизатору.

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

Часть II: Интерактивное время

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

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

Принесите "пакеты" для каждого ребенка. Смешайте его с фотографиями, буквами, распечаткой tic-tac-toe, чтобы символизировать игру или что-то еще. Начните с того, что один красный компьютер отправляется на желтый компьютер.

"Эшли, выберите желтый компьютер, на который вы хотите отправить свою фотографию. Хорошо, чтобы отправить фотографию Брайану, вы должны отдать ее своему роутеру Келли. Скажите Келли, кто должен получить картину. Келли, ты голубые, так что вы не можете дать картину Брайану, вы должны отдать его Тимми. Скажите Тимми, кто должен получить картину. Тимми краснеет, поэтому он не может отдать его Брайану. Рене, Рене, вы можете дать картину Брайану, так как он желтый компьютер, а вы - желтый маршрутизатор.

Затем подумайте о том, чтобы один человек отправил свой "пакет", и наблюдайте за своей экспромтомной сетью в действии.

Часть III: Относитесь назад к компьютерному программированию

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

"Я мог видеть, что Тимми был перегружен пакетами, потому что каждый должен был отправить их через него. Как программисты, мы должны каждый день решать такие проблемы. Один из способов решить это - дать Тимми 4 оружия. Или, может быть, добавить еще один маршрутизатор, чтобы, если у Timmy было слишком много пакетов для доставки, вы могли бы передать его другому маршрутизатору". Или "Возможно, мы хотим, чтобы фотографии были отправлены быстрее, поэтому мы можем попросить, чтобы маршрутизатор доставлял изображение сначала перед доставкой любых других пакетов".

Ответ 8

В виду заимствования из других идей, уже опубликованных, игра Саймона Саиса может быть путем. Однако вы можете подчеркнуть, как компьютеры будут делать ТОЧНО то, что вы им говорите. Итак, если дети - Саймон, и они говорят: "Симон говорит, садись". то вы просто садитесь на пол (не в соседний стул или что-нибудь еще). Следуйте инструкциям к письму, а не духу. (Конечно, это может быть сложно получить, чтобы дети дали неоднозначные инструкции, но я уверен, что вы можете что-то придумать.)

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

Ответ 9

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

И это примерно такое же удовольствие!

Ответ 10

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

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

Ответ 11

Когда я пытаюсь объяснить программирование за короткий промежуток времени людям, которые не знакомы с программированием, я объясняю это с помощью Legos. С Legos у вас есть куча простых предметов, это похоже на язык программирования. Затем вы можете объединить их вместе, но вы хотите и сделать все, что вы можете себе представить, пока у вас есть правильные фигуры.

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

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

У меня появилось так много людей, чтобы начать программирование и даже переключить их майоры с помощью этой аналогии.:)

Ответ 12

Я думаю, что начну с 2-3 минут говорить о компьютерах и что они следуют инструкциям о том, что делать.

Затем я бы продемонстрировал с помощью предварительно созданного робота LEGO Mindstorms и запрограммировал его пару раз и запустил его, чтобы показать им, что он следует за программой. Программирование Mindstorms довольно визуально и легко понять.

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

Ответ 13

Поговорите о том, как широко распространено программирование на компьютере - оно направляет авиакомпании, телефоны, автомобили, как вы покупаете билеты онлайн и т.д.

Затем научите их писать простую программу символически - 1. Назовите сетку на доске.
2.Другой сыр на одном конце и мышь на другом конце. 3. Дайте им "программу" муу, чтобы получить сыр!

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

Ответ 14

Как научить детей тому, что такое программирование?
Ну, первый шаг, вероятно, привлечет некоторых коров!
Загрузите простую игру программирования (например, IQ Marathon) на ноутбук и подключите его к проектору. Пока вы это делаете, вы можете говорить о том, как программист часто означает работать с новейшими технологиями (и тем самым демонстрирует, что вы это делаете).

Как только вы его настроите (практикуйте, чтобы вы могли заставить его работать за 5 минут или меньше), вы можете использовать игру, чтобы показать очень визуально (и с коровами!), как компьютер делает только то, что вы говорите это, и как вы (программист) должны выяснить, какие инструкции необходимы, чтобы заставить его делать то, что вы хотите. Когда вы все исправите, все так счастливы в вашем успехе, что есть танцующие коровы! Оттуда вы можете ответить на любые вопросы или просто позволить детям попробовать и выяснить, как программировать самих коров. Куда бы они ни захотели, действительно.

Коровы!

Ответ 15

Дайте каждому ребенку вырезанную форму; круги, квадраты, треугольники, разные цвета и т.д. Объясните, как программирование дает инструкции в определенном порядке. Поднимите снимок смайлик и пройдите через детей, как его построить. Желтый круг, черная точка, черная точка, дуга. Затем покажите более сложную картину, и дети придут в порядок в соответствии с вашими инструкциями. Вы можете даже совершить ошибку (например, поставить желтый круг над черными точками), чтобы показать, как "Ошибки" проникают в программу.

Ответ 16

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

Ответ 17

Дети любят вещи, которые "что-то делают" и мигающие огни.

В день рождения моих сыновей я сделал сейф (ящик с электрическим замком и большим количеством светодиодов), который был связан с ПК.

У них было несколько вопросов, чтобы ответить, и каждый ответ привел к проблесковым светодиодам (зеленый для хороших ответов и красный для неправильных ответов). Если они правильно ответили на вопросы, светодиоды начали простую анимацию, которая закончилась громким "клоном". Сейф был открыт, и они могли собирать свои награды.

Было здорово строить, и детям это нравилось.

Ответ 18

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

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

Тогда, возможно, напишите некоторый псевдокод на доске доски, который показывает API-интерфейс Brush, доступ к ресурсу Зуба в фоновом потоке за активностью Favorite.