Угадай, что это маловероятный вопрос, но интересно, видел ли кто-нибудь материал, который был явно сделан для того, чтобы адресовать эту аудиторию осмысленным образом.
Угадай, что это маловероятный вопрос, но интересно, видел ли кто-нибудь материал, который был явно сделан для того, чтобы адресовать эту аудиторию осмысленным образом.
Ответы:
Информатика Unplugged адресов детей (и учителей) в начальной школе.
Интересный способ узнать калькуляцию:
... Эта игра представляет нетипизированное лямбда-исчисление. Голодный аллигатор - это лямбда-абстракция, старый аллигатор - круглые скобки, а яйца - переменные. Правило питания соответствует бета-сокращению. Правило цвета соответствует (чрезмерно осторожному) альфа-преобразованию. Правило старости гласит, что если пара скобок содержит один термин, скобки могут быть удалены ....
По моему опыту, нетрудно преподавать основные темы по комбинаторике, теории графов, программированию, алгоритмам и аналогичным темам.
Вы можете посмотреть темы, освещаемые в соревнованиях IOI и национальных соревнованиях. Есть летние школы и семинары, связанные с соревнованиями IOI, которые начинаются в довольно раннем возрасте.
Моя личная любимая тема для таких семинаров - теория комбинаторных игр, поскольку ее легко мотивировать, играя в игры с аудиторией.
Также проверьте ACM's K-12 Ресурсы учебного плана CS , в частности, страницы 11 и 12 Типового учебного плана для K – 12 .
некоторые идеи. мне кажется, что у детей, интересующихся информатикой, произошел взрыв качественных, но недорогих вариантов. Обратите внимание на тесную связь с 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 . на самом деле хотел бы знать о лучших в этой области [возможно, другой вопрос для этого]
Зависит от человека, которого вы обучаете, и области этого диапазона.
12-14 лет, который ХОЧЕТ, должен быть в состоянии справиться практически со всем, но он должен справиться с этим в свое время, вы не можете толкать сложные концепции для молодых людей (или большей части кого-либо).
Сейчас я слушаю iWoz (который, похоже, нацелен на эту возрастную группу и будет весьма вдохновляющим), к тому времени он собирал довольно продвинутые схемы - но его отец только отвечал на вопросы, никогда не передавал его новые понятия он не был готов к)
Или он может быть совершенно не заинтересован, и вы ничего не сможете с этим поделать.
Дети могут быть действительно впечатлены чем-то простым. Если вы нашли какую-то игру, которая ему понравилась, и помогли ему воссоздать ее (даже на очень поверхностном, но все же графически схожем уровне), вы можете действительно заставить его работать.
Или, что еще лучше, если вы нашли существующую игру с открытым исходным кодом, которая ему может понравиться, позвольте ему поиграть в нее, а затем покажите ему, как вносить небольшие изменения, чтобы вы могли его заинтересовать. (Модификации всегда кажутся лучшим способом начать)
На самом деле я преподавал в летнем лагере, состоящем в основном из 4-5 классов, хотя у меня был один 2 и 3 класс (ваша целевая возрастная группа). Лагеря длились неделю, и я преподавал XNA, показывая им основы если, еще если и простое утверждение вместе с фотошопом. Проблема с XNA заключалась в том, что мне приходилось помогать им программировать до конца недели, другие лагеря, в которых мы участвовали, включали в себя lego robotics и GameMaker, оба по-прежнему придерживались самой базовой теории CS, и детям это нравилось.
Существует видеоигра SpaceChem, основанная на принципах программирования. Вы можете прочитать больше об этом здесь: http://gangles.ca/2011/06/19/programming-in-spacechem/
Удивительно, что никто не упомянул использование умножения для объяснения концепции вычислительной сложности. Мы утверждаем, что умножение легко, так как у нас есть стандартный быстрый учебник для умножения, в то время как обратная функция нахождения простых факторов трудна, так как нет известных быстрых алгоритмов и самый известный алгоритм не значительно быстрее, чем исчерпывающий поиск.
Хорошим источником проблем, чтобы заставить детей задуматься над теорией в CS и самостоятельно решить проблемы, является серия "Computer Science Unplugged" http://csunplugged.org/ . Мы ходим в школы и проводим мероприятия с детьми, или они приходят в Uni, чтобы делать их с нами.
Это происходило годами, переводилось на многие языки - и статьи дают информацию о том, как проводить сеансы, какие материалы нужны, и советы от людей, которые их запускали раньше.
Настоятельно рекомендуется!