Pojęcia w teoretycznej CS, które byłyby dostępne dla osób w wieku 8-14 lat


34

Zgadywanie nie jest częstym pytaniem, ale zastanawianie się, czy ktokolwiek widział materiał, który został wyraźnie stworzony, aby przemówić do odbiorców w znaczący sposób.




Często mówię dzieciom w tym wieku o klasycznej łamigłówce von Neumanna: biorąc pod uwagę stronniczą monetę, która pojawia się w 70% przypadków, w jaki sposób znaleźć bezstronny kawałek?
arnab

Odpowiedzi:



21

rachunek lambda

Świetny sposób na naukę -calculus:λ

... Ta gra reprezentuje nieoznaczony rachunek lambda. Głodny aligator to abstrakcja lambda, stary aligator to nawiasy, a jajka to zmienne. Reguła jedzenia odpowiada redukcji beta. Reguła kolorów odpowiada (nadmiernie ostrożnej) konwersji alfa. Reguła starości mówi, że jeśli para nawiasów zawiera jeden termin, nawiasy można usunąć ...

link do filmu


7
+1 @Pratik Deoghare: Ciekawa odpowiedź, ale czy w komentarzu można by wyjaśnić, dlaczego odpowiedź jest ważna, bez konieczności klikania linku i przekopywania treści na tej stronie, aby znaleźć odpowiedź.
wpadki

6
Jak trudno jest trochę kliknąć i poczytać ? Czy naprawdę potrzebujemy wszystkiego w kawałkach wielkości kęsa?
Andrej Bauer

7
To wydaje się okropnie skomplikowane ...
Izkata

15
@Andrej Bauer: Tak, w rzeczywistości prośby SE, w których odpowiedzi podsumowują ich trafność, a nie tylko linki do materiałów opartych na odpowiedzi na pytanie.
wpadki

11
Byłem strasznie zdezorientowany w połowie i musiałem kilkakrotnie ponownie przeczytać zasady. Nie ma mowy, żeby 8-latek miał na to czas uwagi.
BlueRaja - Danny Pflughoeft

8

Z mojego doświadczenia wynika, że ​​nauczenie podstawowych zagadnień z kombinatoryki, teorii grafów, programowania, algorytmów i podobnych tematów nie jest trudne.

Możesz poszukać tematów objętych konkursami IOI i konkursami krajowymi. Istnieją szkoły letnie i warsztaty związane z konkursami IOI rozpoczynającymi się w bardzo młodym wieku.

Moim ulubionym tematem podczas takich warsztatów jest kombinatoryjna teoria gier, ponieważ łatwo jest motywować, grając w gry z publicznością.

Sprawdź także zasoby programu nauczania K-12 CS firmy ACM , w szczególności strony 11 i 12 Modelowego programu nauczania dla K-12 .


6

jakieś pomysły. wydaje mi się, że nastąpiła eksplozja wysokiej jakości, a jednocześnie tanich opcji dla dzieci zainteresowanych informatyką. zwróć uwagę na silne powiązanie ze STEM, tak zwaną edukacją w zakresie nauk ścisłych i technicznych. (Myślałem, że być może strona CS mogłaby zostać podkreślona / poparta nowym słowem kluczowym STEAM, gdzie A oznacza algorytm.)

  • wypróbuj koncepcję logiki logicznej do reprezentowania operacji matematycznych. rzeczy takie jak konwersja binarnych na dziesiętne, dziesiętne na binarne i wielostopniowe sumatory z przeniesieniem z EE. budowanie dowolnych funkcji z CNF lub DNF. nawet małe dziecko może zrozumieć pojęcie funkcjonalnej kompletności za pomocą AND, OR, NOT. niektóre zestawy radioshack do takich rzeczy, w tym niedrogie mikrokontrolery. patrz np. podstawowy zestaw znaczków. istnieją do tego celu niektóre symulatory obwodu wolnego / typu open source. niestety nie mogłem znaleźć żadnej dystrybucji z bibliotekami komponentów. Logisim jest jednym z popularnych.

  • jest ta fajna gra, która działa na różnych systemach, w tym na PC / ps3 / etc, zwanych Crazy Machines. można to wykorzystać do zrozumienia symulacji fizyki w oprogramowaniu i skłonić dziecko do myślenia o układach interakcji komponentów i reakcji łańcuchowych. nowa wersja ps3 ma kilka elementów elektrycznych i logicznych, w tym przełączniki i bramki.

  • robotyka. spróbuj LEGO Mindstorms robotyki w szczególności. wyrafinowane oprogramowanie, które pozwala na takie rzeczy jak pętle, warunki warunkowe, podprogramy. podprogramy są zawarte w blokach graficznych, tj. jest to wizualny system programowania, który przed laty był bardzo nowatorski (teraz jest zabawką). inspiracją jest wiele filmów z robotami solver z kostkami rubika, takich jak najnowsza gra typu cubestormer II . projekty przynajmniej jednego znajdują się w powszechnie dostępnej książce, np. „ LEGO Mindstorms nxt” - roboty Daniele Benedettelli. ostatnio także widziałem tę robotyczną rękę pneumatyczną o wielu stopniach swobody . patrz także Pierwsza liga zawodów robotyki .

  • pisanie podstawowego kodu dla prostych rzeczy. np. sortowanie. robienie badań empirycznych różnych algorytmów sortowania i oglądanie / tworzenie wykresów wyników (np. wykres wydajności sortowania bąbelkowego w porównaniu do qsort w celu zwiększenia rozmiarów wejściowych - patrz np. animacja na tej stronie wikipedii w celu sortowania według wstawiania). sortuj animacje. zgrabnym graficznym analogiem jest sortowanie talii kart zamiast liczb całkowitych lub łańcuchów. również wiele operacji graficznych lub geometrycznych, takich jak rysowanie cyfr w kodzie, to doskonałe ćwiczenia.

  • programowanie gier. można to zrobić w niektórych doskonałych grach. na przykład Little Big Planet ma kilka wyrafinowanych podsystemów, w których dzieci mogą tworzyć własne gry dzięki złożonemu wbudowanemu systemowi konstrukcyjnemu i komponentom. może nawet w ten sposób badać zjawiska interakcji / pojawiania się. można je przesyłać do Internetu i udostępniać. inny język do tego celu nazywa się scratch . klasycznym z Papert z dużą ilością akademickich badań nad jego skutecznością jest Logo

  • używając w nich symulatorów maszyny Turinga i programów budowlanych. Jest parę. pochodzą z niektórymi programami. im bardziej graficzny, tym lepiej. niektóre napisane przez profesorów na zajęcia. Oto jeden napisany w javascript . tak naprawdę chciałbym wiedzieć o najlepszych w tej dziedzinie [może inne pytanie na ten temat]


6

Zależy od osoby, której uczysz i obszaru tego zakresu.

12-14 lat, którym chce być w stanie poradzić sobie z wszystkim, ale musi to zrobić w swoim własnym czasie, tak naprawdę nie można forsować skomplikowanych koncepcji wśród młodych ludzi (lub w przeważającej części nikogo).

W tym momencie słucham iWoz (który wydaje się być skierowany do tej grupy wiekowej i byłby dość inspirujący), do tego wieku przygotowywał całkiem zaawansowane obwody - ale jego ojciec tylko odpowiadał na pytania, nigdy go nie wręczał nowe koncepcje, na które nie był gotowy)

Lub może być całkowicie bezinteresowny i nie będziesz w stanie nic z tym zrobić.

Dzieci mogą być jednak pod wrażeniem czegoś prostego. Jeśli znalazłeś jakąś grę, która mu się podobała i pomógł mu ją odtworzyć (nawet na bardzo powierzchownym, ale wciąż podobnym graficznie poziomie), możesz naprawdę go uruchomić.

Lub jeszcze lepiej, jeśli znalazłeś istniejącą grę open source, która może mu się spodobać, pozwól mu w nią zagrać, a następnie pokaż mu, jak wprowadzać niewielkie modyfikacje, które mogą cię podniecić. (Modyfikacje zawsze wydają się najlepszym sposobem na rozpoczęcie pracy)


+1 @ Bill K: Kiedy mówisz „[słuchasz] iWoz w tym momencie”, masz na myśli wersję audio jego książki, czy coś innego; link byłby miły, nawet jeśli miałby płacić za treść, tylko po to, aby podać odniesienie do tego, co masz na myśli.
wpadki

1
Przepraszam, iWoz to jego autobiografia - jest dostępna w Audible i wydaje się idealna dla nastolatka ciekawego technologii - idzie powoli, ale wnikają w szczegóły dotyczące różnych rzeczy, które stworzył i procesu uczenia się. O dziwo, chociaż zawsze czułem się znacznie bliżej Woźniaka w ideałach i faktycznie nie lubię osobowości Jobsa, znalazłem biografię Jobsa niezwykle fascynującą i wnikliwą, słucham iWoz jako kontrapunktu.
Bill K

5

Tak naprawdę uczyłem obozu letniego, który zawierał głównie klasę czwartą, piątą, chociaż miałem jedną klasę drugą i trzecią (twoja docelowa grupa wiekowa). Obozy trwały tydzień i nauczyłem XNA pokazując podstawy tego, czy, a jeśli tak, a także proste do oświadczenia wraz z Photoshopem. Problem z XNA polegał na tym, że musiałem pomóc im programować całkiem sporo do końca tygodnia, inne obozy, w których prowadziliśmy, obejmowały robotykę Lego i GameMakera, obie wciąż mają podstawową teorię CS i dzieci ją uwielbiają.


+1 @ Suiko6272: Zgaduję, że najważniejsze jest to, że widzę informatykę, inżynierię komputerową i inżynierię oprogramowania jako różne, ale powiązane tematy. Chyba interesowały mnie koncepcje, które były ściśle związane z teoretyczną CS; częściowo, aby nauczyć różnicę między informatyką, inżynierią komputerową i inżynierią oprogramowania.
wpadki


2

Myślę, że Planarity to dobra gra. Daje pewne wyobrażenie o grafach płaskich i wprowadza podstawowe pojęcia teorii grafów (takie jak wykres wykonany przez węzeł i krawędzie oraz stopień węzłów, czym są wykresy płaskie ...)


1

Zaskakujące jest to, że nikt nie wspominał o zastosowaniu mnożenia w celu wyjaśnienia koncepcji obliczeniowej trudności. Stwierdzamy, że mnożenie jest łatwe, ponieważ mamy standardowy podręcznikowy algorytm mnożenia, podczas gdy funkcja odwrotna znajdowania czynników pierwszych jest trudna, ponieważ nie ma znanych szybkich algorytmów, a najbardziej znany algorytm nie jest znacznie szybszy niż wyczerpujące wyszukiwanie.


@ Saeed, Czy wspomniałem o testowaniu pierwotności ?!
Mohammad Al-Turkistany

Przepraszam, mój błąd, źle odczytałem (czytam: „znajdowanie liczb pierwszych ...”, w rzeczywistości pomyślałem, że chcesz porozmawiać o liczbach pierwszych i z tym nastawieniem czytam twoje zdanie).
Saeed,

0

Dobrym źródłem problemów, które skłonią młodzież do myślenia o teorii w CS i do samodzielnego rozwiązywania problemów, jest seria „Computer Science Unplugged” http://csunplugged.org/ . Chodzimy do szkół i robimy zajęcia z dziećmi lub przyjeżdżają do Uni, aby zrobić je z nami.

Trwało to wiele lat, zostało przetłumaczone na wiele języków --- a artykuły zawierają informacje na temat prowadzenia sesji, potrzebnych materiałów i wskazówek od osób, które je wcześniej prowadziły.

Wysoce polecany!


2
Tak. Zobacz odpowiedź Serge Gaspers.
Jeffε

-1

zz2+c


2
Fraktale są fajne, ale tak naprawdę nie są „koncepcją teoretycznej CS”.
Jeffε

wciąż czekam tutaj na oficjalną listę tematów TCS, definiuję ją szeroko i jest to wspierane przez wiele innych, np . spolsky . dla mnie fraktale bardzo dobrze pasują do badań empirycznych . wielu elitarnych badaczy CS studiowało je w wielu ważnych artykułach (przepraszam, że nie mam listy ani ankiety, być może przede wszystkim Wolfram). jest to stara debata, której początki sięgają początków, choć zgadnij, że jest to uzasadniona debata.
dniu

2
Zapoznaj się z pierwszą częścią FAQ, aby znaleźć rozsądną definicję „teoretycznej informatyki”. (Joel argumentował także za rozszerzeniem zakresu strony poza informatykę teoretyczną; społeczność się nie zgodziła.)
Jeffε

Chyba jest to meta dyskusja, ale interpretuję post Spolskys inaczej. wymienił wiele podstawowych dziedzin informatyki i imho, każdy z tych obszarów ma stronę teoretyczną. myśli pytając o fraktale i widząc, co się dzieje
vzn

1
Zgadzam się; lepiej to omówić w meta.
Jeffε
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.