Поняття в теоретичній ЦС, які були б доступними для віків 8-14 років


34

Відгадати, що це навряд чи поширене питання, але цікаво, чи хтось бачив матеріал, який чітко зроблений для вирішення цієї аудиторії змістовно.




Я часто розповідаю дітям цього віку класичну головоломку фон Неймана: враховуючи упереджену монету, яка 70% часу піднімає голови, який спосіб знайти об'єктивний шматочок?
арнаб

Відповіді:



21

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

Веселий спосіб вивчити -рахунок:λ

... Ця гра являє собою нетипізоване обчислення лямбда. Голодний алігатор - це лямбда абстракція, старий алігатор - це дужки, а яйця - змінні. Правило прийому їжі відповідає бета-зменшенню. Правила кольорів відповідає (надто обережному) перетворенню альфа. Правило старого віку говорить, що якщо пара круглих дужок містить один термін, дужки можна видалити ....

відеопосилання


7
+1 @Pratik Deoghare: Цікава відповідь, хоча можна було б хоча б у коментарі пояснити, чому ваша відповідь доречна, не потрібно клацати посилання та копати вміст на цій сторінці, щоб знайти відповідь.
грубі помилки

6
Наскільки важко клацати і читати трохи? Чи нам справді потрібно все в шматочках розміру з укусом?
Андрій Бауер

7
Це здається жахливо
перекрученим

15
@Andrej Bauer: Так, насправді SE вимагає, щоб відповіді резюмували їхню актуальність, а не посилалися лише на матеріали, що базуються на відповіді на запитання.
грубі помилки

11
Я жахливо розгубився на півдорозі і довелося перечитати правила кілька разів. Ні в якому разі 8-річна дитина не матиме уваги до цього.
BlueRaja - Danny Pflughoeft

8

На мій досвід, не важко викладати основні теми з комбінаторики, теорії графів, програмування, алгоритмів та подібних тем.

Ви можете переглянути теми, що висвітлюються в конкурсах IOI та національних змаганнях. Є літні школи та майстер-класи, пов’язані з змаганнями з ІОІ, починаючи з досить раннього віку.

Моя особиста улюблена тема таких семінарів - комбінаторна теорія ігор, оскільки її легко мотивувати, граючи в ігри з аудиторією.

Також перевірте АСМ K-12 CS навчальних ресурсів , в зокрема , стор.11 і 12 типовою навчальною програми для K-12 .


6

деякі ідеї. мені здається, стався вибух високоякісних, але недорогих варіантів для дітей, які цікавляться інформатикою. відзначимо міцний зв’язок із STEM, так званою науково-технічною освітою з математики. (Я думав, що, можливо, CS-сторона може бути підкреслена / пропагується новим ключовим словом STEAM, де A означає алгоритміку.)

  • спробуйте концепцію булевої логіки для відображення математичних операцій. такі речі, як перетворення двійкових у десяткові, десяткові в двійкові та багатоступеневі додавачі з перенесенням від EE побудова довільних функцій з CNF або DNF. навіть маленька дитина може зрозуміти поняття функціональної повноти за допомогою І, АБО, НЕ. деякі набори радіошаків для таких предметів, як недорогі мікроконтролери. див., наприклад, базовий комплект штампів. Для цієї мети є кілька вільних / відкритих вихідних схем. на жаль, поки що я не міг знайти жодного розповсюдженого з бібліотеками компонентів. logisim - одна популярна.

  • є ця класна гра, яка працює в різних системах, включаючи ПК / ps3 / і т.д. під назвою Crazy Machines. це можна використовувати для розуміння фізичного моделювання в програмному забезпеченні та змусити дитину думати про системи взаємодіючих компонентів та ланцюгових реакцій. нова версія ps3 має купу електричних та логічних компонентів, включаючи вимикачі та ворота.

  • робототехніка. спробуйте, зокрема, робототехніку Lego mindstorms . складне програмне забезпечення, яке дозволяє такі речі, як петлі, умовні умови, підпрограми. підпрограми містяться у графічних блоках, тобто її система візуального програмування, яка років тому була дуже актуальною (тепер це іграшка). для натхнення на YouTube є багато відео з робототехнічними вирішеннями на кубі рубіків, такі як цей сучасний кубстормер II . Дизайн принаймні одного є у широко доступній книзі, наприклад, lego mindstorms nxt мислячих роботів Daniele Benedettelli. також нещодавно я побачив цю пневматичну робочу руку безлічі ступенів свободи . див. також Першу лігу змагань з робототехніки .

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

  • ігрове програмування. це можна зробити в деяких чудових іграх. наприклад, у Little Big Planet є кілька складних підсистем, де діти можуть створювати власні ігри зі складною вбудованою системою побудови та компонентами. можна навіть вивчати взаємодіючі / виникаючі явища таким чином. їх можна завантажувати в Інтернет та ділитися ними. інша мова для цієї мети називається скретч . класичний від Паперта з багато академічним вивченням його ефективності - Logo

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


6

Залежить від людини, якої ви навчаєте, та області цього діапазону.

12-14-річний, з яким ХОЧЕ ВМОЖИТИ впоратися майже з чим завгодно, але він повинен втягувати його в свій час, ви не можете реально підштовхувати складні поняття до молодих людей (або більшої частини когось).

Я слухаю iWoz в цей момент (який, здається, орієнтований на цю вікову групу і був би досить натхненний), до цього віку він збирав досить просунуту схему - але батько тільки коли-небудь відповідав на питання, ніколи не передавав його нові концепції, до яких він не був готовий)

Або він може бути абсолютно незацікавленим, і ви нічого з цим не зможете зробити.

Діти можуть бути дуже вражені чимось простим. Якщо ви знайшли якусь гру, яка йому сподобалася, і допомогли йому відтворити її (навіть на дуже поверхневому, але все ж графічно подібному рівні), ви можете дійсно змусити його йти.

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


+1 @Bill K: Коли ви говорите "[ви] слухаєте iWoz в цей момент", ви маєте на увазі аудіоверсію своєї книги чи щось інше; посилання було б приємно, навіть якщо це платити вміст, аби лише дати посилання на те, що ви маєте на увазі.
грубі помилки

1
Вибачте, iWoz - це його автобіографія - це на Audible і, здається, ідеально підходить для підлітка, який цікавиться технологіями, - він іде повільно, але вникає в трохи деталей про різні речі, які він створив, і процес навчання. Як не дивно, хоча я завжди відчував себе набагато ближчим до Возняка в ідеалах і насправді не люблю особистість Джобса, я вважав, що біографія Джобса дивовижно переконлива і прониклива, я слухаю iWoz як контрапункт.
Білл К

5

Я насправді викладав літній табір, в основному містив 4-х, п’ятикласників, хоча у мене був один 2-й і 3-й класник (ваша цільова вікова група). У таборах тривали тиждень, і я навчав XNA, показуючи їм основи, якщо, інакше, як і просте для викладу разом з фотошопом. Проблема з XNA полягала в тому, що я повинен був допомогти їм програмувати трохи до кінця тижня. Інші табори, у яких ми проводили, включали лего робототехніку та GameMaker, обидва досі мають саму кореневу теорію CS і діти люблять це.


+1 @ Suiko6272: Гадаю, моє головне - я бачу інформатику, комп'ютерну техніку та інженерію програмного забезпечення як різні, але пов'язані з цим теми. Гадаю, мене цікавили концепції, які були суто пов'язані з теоретичним КС; частково навчити різницю між інформатикою, комп'ютерною технікою та програмною інженерією.
промахи


2

Я думаю, що Planarity - це гарна гра. Це дає деяке уявлення про площинні графіки та вводить елементарні поняття теорії графів (наприклад, графік, зроблений вузлом і ребрами, та ступінь вузлів, що таке плоскі графіки, ...)


1

Дивно, що ніхто не згадав, використовуючи множення, щоб пояснити поняття обчислювальної інтрактабельності. Ми констатуємо, що множення є простим, оскільки у нас є стандартний швидкий алгоритм підручника для множення, тоді як зворотна функція пошуку простих факторів є складною, оскільки не існує відомих швидких алгоритмів, а найкращий відомий алгоритм не є значно швидшим, ніж вичерпний пошук.


@Saeed, я згадав тестування на первинність ?!
Мохаммед Аль-Туркистан

Вибачте за мою помилку, я неправильно прочитав (я читав: "знаходження простих чисел ...", адже насправді я подумав, що ви хочете поговорити про прості числа, і з цим упередженням я прочитав ваше речення).
Саїд

0

Хорошим джерелом проблем, щоб змусити молодих людей думати про теорію в КС та вирішувати самі проблеми, є серія "Комп'ютерна наука відключена" http://csunplugged.org/ . Ми ходимо до шкіл і займаємось дітьми, або вони приїжджають до Uni, щоб зробити їх разом з нами.

Він триває роками та роками, перекладений на багато мов ---, а статті дають інформацію про те, як проводити сеанси, які матеріали потрібні та підказки для людей, які їх раніше проводили.

Настійно рекомендується!


2
Так. Дивіться відповідь Сержа Гасперса.
Jeffε

-1

zz2+c


2
Фрактали класні, але насправді це не "концепція теоретичного КС".
Jeffε

Я все ще чекаю тут офіційного списку тем TCS, я визначаю його широко, і це підтримується багатьма іншими, наприклад, навіть spolsky . мені фрактали дуже добре вписуються в емпіричне дослідження . багато елітних дослідників ЦС вивчали їх у багатьох важливих роботах (вибачте, у них немає списку чи опитування, можливо, головним буде Вольфрам). це стара дискусія, яка повертається до їх витоків, хоча здогадуюся, що це законна дискусія.
vzn

2
Будь ласка, дивіться перший розділ файлу для розумного визначення поняття "теоретична інформатика". (Також Джоель виступав за те, щоб розширити сферу використання сайту поза теоретичною інформатикою; спільнота не погодилася.)
Jeffε

здогадуйтесь, це мета-дискусія, але я тлумачу spolskys пост по-різному. Він перерахував багато напрямків інформатики і імхо, кожна з цих областей має теоретичну сторону. думаєш
розпитати

1
Я згоден; це краще обговорюється в мета.
Jeffε
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.