Концепции в теоретической CS, которые были бы доступны в возрасте 8-14 лет

34

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

просчеты
источник
5
Связанный: cstheory.stackexchange.com/questions/5188/…
Гопи
В этом возрасте я часто рассказываю детям классическую загадку фон Неймана: учитывая предвзятую монету, которая поднимает головы 70% времени, как найти беспристрастный кусочек?
Арнаб

Ответы:

24

Информатика Unplugged адресов детей (и учителей) в начальной школе.

Серж Гасперс
источник
3
Мне нравится, что у них также есть целая серия видео на YouTube.
Джо
21

лямбда-исчисление

Интересный способ узнать калькуляцию:λ

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

ссылка на видео

Пратик Деогхаре
источник
7
+1 @Pratik Deoghare: интересный ответ, хотя можно было бы хотя бы в комментарии объяснить, почему ваш ответ актуален, не щелкая ссылку и просматривая содержимое этой страницы, чтобы найти ответ.
промахи
6
Насколько сложно нажать и прочитать немного? Нам действительно нужно все кусочками?
Андрей Бауэр
7
Это кажется ужасно запутанным ..
Изката
15
@ Андрей Бауэр: Да, на самом деле запросы SE, ответы на которые обобщают их актуальность, а не просто ссылаются на материал, основанный на ответе на вопрос.
промахи
11
На полпути я ужасно запутался, и мне пришлось несколько раз перечитывать правила. Нет никакого способа, которым 8-летний ребенок будет иметь продолжительность внимания для этого.
BlueRaja - Дэнни Пфлюгофт
8

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

Вы можете посмотреть темы, освещаемые в соревнованиях IOI и национальных соревнованиях. Есть летние школы и семинары, связанные с соревнованиями IOI, которые начинаются в довольно раннем возрасте.

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

Также проверьте ACM's K-12 Ресурсы учебного плана CS , в частности, страницы 11 и 12 Типового учебного плана для K – 12 .

Кава
источник
6

некоторые идеи. мне кажется, что у детей, интересующихся информатикой, произошел взрыв качественных, но недорогих вариантов. Обратите внимание на тесную связь с STEM, так называемые науки, технологии, инженерии, математическое образование (Я думал, что, возможно, сторона CS могла бы быть подчеркнута / защищена с помощью нового ключевого слова STEAM, где A обозначает Алгоритмику.)

  • попробуйте концепцию булевой логики для представления математических операций. такие вещи, как преобразование двоичного в десятичное, десятичное в двоичное и многоступенчатые сумматоры с переносом из EE. построение произвольных функций из CNF или DNF. Даже маленький ребенок может понять концепцию функциональной полноты с помощью И, ИЛИ, НЕ. некоторые наборы радиошоков для подобных вещей, включая недорогие микроконтроллеры. см. например, базовый комплект штампов Для этого есть симуляторы схем с открытым / открытым исходным кодом. к сожалению, я пока не смог найти какие-либо распространяемые с библиотеками компонентов.Logisim является одним из самых популярных.

  • Theres это крутая игра, которая работает на разных системах, включая ПК / PS3 / и т. д. называется Crazy Machines.это может быть использовано для понимания физического моделирования в программном обеспечении и заставить ребенка думать о системах взаимодействующих компонентов и цепных реакциях. Новая версия PS3 имеет множество электрических и логических компонентов, включая переключатели и вентили.

  • робототехника. попробуйте Lego Mindstorms робототехники в частности. сложное программное обеспечение, которое позволяет такие вещи, как циклы, условные выражения, подпрограммы. подпрограммы содержатся в графических блоках, то есть это система визуального программирования, которая много лет назад была очень передовой (теперь это игрушка). для вдохновения на youtube есть много видео с роботизированными решателями Rubiks Cube, например, это современный кубестормер II . проекты по крайней мере одного из них находятся в широко доступной книге, например, lego mindstorms nxt думая роботы Даниэля Бенедеттелли. Кроме того, недавно я увидел эту пневматическую роботизированную руку со многими степенями свободы . см. также Первая лига соревнований по робототехнике .

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

  • программирование игр. это можно сделать в некоторых отличных играх. Например, Little Big Planet имеет несколько сложных подсистем, где дети могут создавать свои собственные игры со сложной встроенной системой построения и компонентами. может даже изучать взаимодействующие / возникающие явления таким образом. они могут быть загружены в Интернет и опубликованы. другой язык для этой цели называется нуля . классическим из Papert с большим академическим изучением его эффективности является логотип

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

ВЗН
источник
6

Зависит от человека, которого вы обучаете, и области этого диапазона.

12-14 лет, который ХОЧЕТ, должен быть в состоянии справиться практически со всем, но он должен справиться с этим в свое время, вы не можете толкать сложные концепции для молодых людей (или большей части кого-либо).

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

Или он может быть совершенно не заинтересован, и вы ничего не сможете с этим поделать.

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

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

Билл К
источник
+1 @ Билл К: Когда вы говорите «вы сейчас слушаете iWoz», вы имеете в виду аудиоверсию его книги или что-то еще; ссылка была бы хороша, даже если она платная, просто чтобы дать ссылку на то, что вы имеете в виду.
промахи
1
Извините, iWoz - его автобиография - она ​​на Audible и, кажется, идеально подходит для подростка, интересующегося технологиями - он идет медленно, но разбирается в деталях о различных вещах, которые он создал, и о процессе обучения. Странно, хотя я всегда чувствовал себя намного ближе к Возняку в идеалах и действительно не любил личность Джобса, я нашел биографию Джобса удивительно убедительной и проницательной, я слушаю iWoz в качестве контрапункта.
Билл К
5

На самом деле я преподавал в летнем лагере, состоящем в основном из 4-5 классов, хотя у меня был один 2 и 3 класс (ваша целевая возрастная группа). Лагеря длились неделю, и я преподавал XNA, показывая им основы если, еще если и простое утверждение вместе с фотошопом. Проблема с XNA заключалась в том, что мне приходилось помогать им программировать до конца недели, другие лагеря, в которых мы участвовали, включали в себя lego robotics и GameMaker, оба по-прежнему придерживались самой базовой теории CS, и детям это нравилось.

Suiko6272
источник
+1 @ Suiko6272: Думаю, главное, что я вижу информатику, компьютерную инженерию и разработку программного обеспечения как разные, но связанные между собой темы. Думаю, меня интересовали концепции, которые были чисто связаны с теоретической CS; частично, чтобы преподавать различие между информатикой, компьютерной инженерией и разработкой программного обеспечения.
промахи
2

Я думаю, что Planarity - хорошая игра. Он дает некоторое представление о плоских графах и вводит элементарные понятия теории графов (например, граф, построенный по узлам и ребрам, и степень узлов, что такое плоские графы, ...)

Saeed
источник
1

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

Мухаммед Аль-Туркистани
источник
@ Seed, я упоминал тестирование на примитивность ?!
Мухаммед Аль-Туркистани
Извините за мою ошибку, я неправильно прочитал (я читаю: «поиск простых чисел ...», фактически наоборот, я думал, что вы хотите поговорить о простых числах, и с этим уклоном я прочитал ваше предложение).
Саид
0

Хорошим источником проблем, чтобы заставить детей задуматься над теорией в CS и самостоятельно решить проблемы, является серия "Computer Science Unplugged" http://csunplugged.org/ . Мы ходим в школы и проводим мероприятия с детьми, или они приходят в Uni, чтобы делать их с нами.

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

Настоятельно рекомендуется!

Стив Ривз
источник
2
Ага. Смотри ответ Сергея Гасперса.
Джефф
-1

ZZ2+с

ВЗН
источник
2
Фракталы - это круто, но на самом деле они не являются «концепцией в теоретической CS».
Джефф
все еще жду здесь официального списка тем TCS, я определяю его широко, и это поддерживается многими другими, например, даже spolsky . мне фракталы очень вписываются в эмпирические исследования . многие элитные исследователи КС изучали их во многих важных работах (извините, у вас нет списка или опроса, возможно, в первую очередь это будет Вольфрам). это старые дебаты, восходящие к их истокам, хотя предполагаю, что это законные дебаты.
vzn
2
Пожалуйста, смотрите первый раздел часто задаваемых вопросов для разумного определения «теоретической информатики». (Кроме того, Джоэл спорил о расширении области сайта за пределы теоретической информатики; сообщество не согласилось.)
Джеффс
думаю, это мета-обсуждение, но я по-разному интерпретирую сообщение spolskys. он перечислил много областей компьютерной науки, и у каждого из этих областей есть теоретическая сторона. думать о расспросах о фракталах
vzn
1
Я согласен; это лучше обсуждать в мета.
Джеффс