Oryginalne pytanie
Zostałem zaproszony do grupy przedszkolnej mojej starszej córki, aby porozmawiać i odpowiedzieć na pytania dzieci dotyczące mojego zawodu. W grupie jest 26 dzieci w wieku 4-6 lat, a także 3 nauczycieli, którzy boją się czegokolwiek związanego z programowaniem i IT, ale są wystarczająco odważni, aby nauczyć się nowych sztuczek. Miałbym około 20-30 minut, bez projektora lub czegokolwiek. Mają jednak stary komputer, który z wyglądu może być 486 i nawet nie jestem pewien, czy działa (aktualizacja: nie jest).
Moje badania ujawniły doskonałe wcześniejsze wątki, z dużą ilością dobrych wskazówek:
- Jak wytłumaczysz swoją pracę pięciolatkowi?
- Dzień kariery: jak sprawić, by „programista” brzmiał fajnie dla dzieci w wieku 8 lat?
- Czego mogę nauczyć grupę dzieci o programowaniu w ciągu jednego dnia?
Moja sytuacja różni się jednak od powyższych: te ostatnie dotyczą starszych dzieci, podczas gdy pierwsze dotyczy rozmowy z jednym dzieckiem (lub starszą osobą) - grupa 20 osób to zupełnie inne wyzwanie.
Jak mogę nauczyć dzieci i ich nauczycieli programowania w zabawny sposób?
Plan na podstawie odpowiedzi
Dziękuję za wszystkie niesamowite odpowiedzi, chłopaki :-) Nie sądzę, aby sensowne było przyjmowanie jednej odpowiedzi, ale najbardziej podoba mi się Jim, podobnie jak większość SO. Jednak wiele innych odpowiedzi zawiera przydatne wskazówki i pomysły (niektóre z nich z pewnością wykorzystam podczas przyszłych dni kariery w szkole ...).
Opracowałem ogólny plan:
- Krótko wyjaśnij, czym jest programowanie, tak jak w tej odpowiedzi .
- Powiedz, że komputery są wszędzie, i zbieraj przykłady z dziećmi (jak zasugerowano w kilku odpowiedziach poniżej).
- Wykonaj prezentację Jima z kanapkami .
- Jeśli czas na to pozwala, zbuduj go dalej:
- wyjaśnij, że siłą komputerów jest to, że pamiętają dokładnie to , czego kiedyś byli uczeni (i demonstrują to, przygotowując drugą kanapkę, powtarzając wszystkie błędy pierwszej próby)
- mają drugą rundę próbującą naprawić błędy w tym procesie
- wyjaśnij pojęcie pętli: możesz zmusić komputer do przygotowania
n
kanapek za pomocą jednej instrukcji
To jest mój plan - jestem pewien, że okaże się zupełnie inaczej, więc będę improwizować w zależności od sytuacji. Prezentacja jest zaplanowana za około 2 tygodnie - później zaktualizuję post i powiem, jak to się potoczyło ...
Wyniki
W końcu nadszedł dzień prezentacji ... w skrócie, wszystko poszło dobrze i był to ogromny sukces :-)
Grupa okazała się tym razem dość niespokojna i pełna energii, więc rozmowa czasami była nieco chaotyczna. Musiałem to skrócić i dostać się na Big Sandwich Maker Show. Tak jak opisał Jim, dzieciom się podobało .
Był jednak jeden nieprzewidziany efekt uboczny: po tym, jak pierwszy kromka chleba wreszcie się przygotowała, wszyscy chcieli jeść! Przez pewien czas - podczas którego starałem się kontynuować rozmowę i wyjaśniać więcej na temat programowania - musieliśmy zainstalować coś w rodzaju pogotowia ratunkowego z nauczycielami w przedszkolu, aby wyprodukować ogromne ilości chleba marmoladowego i nakarmić głodny tłum (była to połowa godzinę po śniadaniu, dla przypomnienia :-). Potem zabrakło nam chleba, co wyraźnie oznaczało koniec prezentacji. Największy wybuch śmiechu wybuchł, gdy po sprzątaniu bałaganu dzieci zauważyły, że biedny komputer nadepnął na plaster marmolady, który zrujnował jego skarpetę :-)
Również nauczyciele byli pod dużym wrażeniem - sądząc po opiniach, był to jak dotąd najlepszy i najśmieszniejszy dzień kariery w tej grupie. Jeszcze raz dziękuję wszystkim za wspaniałe pomysły!
Rzeczy, które można poprawić (następnym razem):
- Kiedy zapytałem „czy uważasz, że komputery są inteligentne?”, Ku mojemu zaskoczeniu większość z nich odpowiedziała „nie”. Zapytałem wtedy, kto uważa, że komputery są inteligentne i dlaczego. Jednak zaniedbałem pytanie, kto uważa, że komputery są głupie i dlaczego - dlatego myślę, że przegapiłem kilka potencjalnie intrygujących odpowiedzi.
- Zaproszenie dzieci, by podeszły do stołu, zaangażowało je aktywnie ... ale czasami może trochę zbyt aktywnie. Kromki chleba zaczęły znikać ze stołu, a część publiczności naśladowała komputer tak samo, jak zanurzanie własnych palców w maśle i marmoladzie :-) Więc lepiej zachować dystans.
- Aby utrzymać głodny tłum pod kontrolą, należy wyraźnie powiedzieć dzieciom z góry: „możesz zjeść cały chleb, ale tylko po demonstracji!”
Ale ogólnie jestem bardzo zadowolony z wyniku. I jestem pewien, że dzieci dostały podstawowe przesłanie: jako programista, jeśli unikniesz bałaganu, możesz zrobić chleb (nawet z marmoladą :-)
Odpowiedzi:
Zrobiłem to wcześniej.
Położyłem na stole dużo ręczników papierowych i wyjąłem bochenek (taniego) chleba, małą wannę z masłem, mały słoik galaretki i plastikowy nóż do masła.
Powiedziałem do dzieci: „Jak wielu z was uważa, że komputery są inteligentne?” Większość z nich podniosła ręce. Powiedziałem: „Komputery są naprawdę głupie. Ludzie są inteligentne. Trzeba powiedzieć komputera wszystko . Nie wiem jak to zrobić nic . Mam zamiar pokazać, co mam na myśli. I zamierzam udawać, że” jestem głupi jak komputer, a wy mówicie mi, jak zrobić kanapkę. ”
A kiedy pierwsze dziecko powiedziało „otwórz worek chleba!” Rozerwałam torebkę i pozwoliłam przypadkowo upaść chlebowi na stół. To wywołało wiele chichotów. Kontynuowałem dosłownie przyjmowanie dzieci za ich słowa, dopóki nie nauczyły się wydawać krótkich, konkretnych poleceń, aż w końcu otrzymaliśmy kanapkę z masłem i żelkami. Było dużo śmiechu, ale odeszli rozumiejąc, przynajmniej trochę, co programista robi na życie.
(Powinienem zauważyć, że przeprowadziłem również tę demonstrację z dorosłymi na zajęciach z zakresu „wstępu do programowania” i działa to równie dobrze z nimi).
źródło
Co powiesz na wykonanie kinestetycznej wersji Logo?
Powiedz, że masz dwoje dzieci obok siebie. Czy potrafią wymyślić, jak zamieniać miejsca, używając tylko poleceń Krok do przodu, Krok do tyłu, Skręć w lewo o 90 stopni i Skręć w prawo o 90 stopni? Jestem pewien, że istnieją inne gry, takie jak przechodzenie przez labirynt itp.
Sądzę, że zwrócisz ich uwagę, jeśli będziesz w stanie utrzymać ich w ruchu. To wzbudzi zainteresowanie. Później dowiedzą się, że praca jest siedząca. ;)
źródło
Nie próbuj pokazywać im niczego na komputerze. Oglądanie kogoś innego jest nudne dla dorosłych. Dla pięciolatków jest to przepis na anarchię.
Zamiast tego uczyń go interaktywnym. Jakaś forma „Simon Says”, ale niech będą programistami .
źródło
Nigdy tego nie próbowałem, ale może być fajnie.
Fizycznie zademonstruj algorytm, używając jakiegoś atrybutu każdego dziecka jako danych wejściowych .
Na przykład, poproś, aby utworzyli linię (w dowolnej kolejności, do której początkowo zmierzają), obok siebie. Może to działać lepiej w półkolu, aby mogli widzieć siebie wykonującego ćwiczenie, ale musi być gdzieś przerwa w linii. Następnie, zaczynając od jednego końca linii, poproś ich, aby na zmianę robili „jeśli kolega z klasy po lewej stronie jest wyższy od ciebie, zmień miejsce; w przeciwnym razie pozostań na miejscu”. Gra kończy się, gdy przejdziesz przez linię i nikt nie zamienia miejsc. Niech obserwują wyniki. (Wskazówka: sortowanie bąbelkowe!)
źródło
Aby zmienić dzieci w programowanie, podjedź do przedszkola w Rolls Royce i wejdź ze swoim wspaniałym, znaczącym drugim.
Jeśli nie jesteś Billem Gatesem, musisz po prostu wyjaśnić, że siedzisz na nudnych spotkaniach przez 4 godziny dziennie, drukujesz okładki raportów TPS przez 2 godziny i wpatrujesz się w głupie rzeczy napisane przez poprzednich nieświadomych programistów dla pozostałe 6 godzin. (Nie trzeba wspominać, że wtedy wykonujesz połączenia od osób, które utrzymują twój ostatni program i uważają, że TY jesteś poprzednim facetem bez pojęcia).
Nie, nie jestem zgorzkniały, dlaczego pytasz?
Poważnie (jestem pewien, że podświadomie plagiatem jestem w jednym z tych 3 wątków), niech grają „daj mi instrukcje, jak to zrobić Y”, a ty rób rzeczy po dżinsku - wszystko źle, chyba że instrukcje są bardzo dokładne i jasny. Właściwie wymień dżina jako dobry przykład, zakładając, że dzieci widziały Aladdina.
; ^)
źródło
Niech piszą krótkie programy do robienia prostych rzeczy (takich jak wchodzenie do pokoju i zajmowanie miejsca), a następnie wykonania ich dosłownie w celu zademonstrowania „błędów” - tam, gdzie nie były wystarczająco szczegółowe lub nie brały pod uwagę, więc że źle zrobisz. Staraj się nie zranić się podczas tego procesu. To powinno być zabawne i da im całkiem niezłe pojęcie o tym, czym jest algorytm.
źródło
Myślę, że możesz zrobić następującą demonstrację w 20 minut. Może bardziej nadaje się dla starszych dzieci. Naprawdę nie wiem, do czego zdolne są przedszkola. Osobiście unikałbym prób wyjaśniania programowania, a zamiast tego opisuję problem, który my jako programiści rozwiązujemy. Na przykład, jeśli jest wystarczająco dużo dzieci, możesz interaktywnie zademonstrować im Internet.
Część I: Jak to działa
Najpierw opisz im, najlepiej za pomocą rekwizytów, jak działa Internet. Zabierz laptopa podłączonego kablem (dla uzyskania efektu wizualnego) do domowego routera. Powiedz, jak programiści komputerowi wytwarzają różnego rodzaju urządzenia, w tym programy na laptopie, program w routerze i aplikacje na innych urządzeniach podłączonych do Internetu, takich jak telefony komórkowe.
Wyjaśnij, w jaki sposób komputery nie są połączone bezpośrednio ze sobą, ponieważ nie można podłączyć kabla z każdego komputera na świecie do każdego komputera. Będziesz potrzebował miliarda kabli w domu. Zamiast tego komputery łączą się z routerami. A routery przekazują pakiety danych (na przykład wiadomości e-mail, zdjęcia lub filmy) innym routerom, aż w końcu dotrą do innego komputera.
Opisz zasady, z którymi komputer może rozmawiać:
Komputer może przekazać pakiet tylko routerowi.
Router może przekazać pakiet komputerom do niego podłączonym lub najbliższemu routerowi.
To wyjaśnienie powinno być bardzo krótkie, ale należy podkreślić zasady. Prawdopodobnie powinieneś zrównać pakiety z e-mailem lub obrazkami.
Część II: Czas interaktywny
Następnie niech 3 dzieci zgłosi się na ochotnika, by zostać routerami. Wszyscy inni są komputerami i dzielą je równomiernie. Przydałoby się mieć kolorowe karty, które mogą pomieścić. Podobnie jak osoba posiadająca ciemnoniebieską kartę jest routerem, który może rozmawiać ze wszystkimi osobami posiadającymi jasnoniebieskie karty. Powiedzmy, że rozdajesz niebieskie, czerwone i żółte kartki.
Ułóż „routery” w jednej linii, niebieskiej, następnie czerwonej, a następnie żółtej. Niebieski router będzie wtedy musiał przekazać pakiet routerowi czerwonemu, aby przekazać go routerowi żółtemu. Grupuj pozostałe dzieci wokół routerów.
Przynieś „pakiety” dla każdego dziecka. Połącz to ze zdjęciami, literami, wydrukiem z kółkami i krzyżykami, aby symbolizować grę lub cokolwiek innego. Zacznij od wysłania jednego czerwonego komputera na żółty komputer.
„Ashley, wybierz żółty komputer, na który chcesz wysłać swoje zdjęcie. OK, aby wysłać zdjęcie do Briana, musisz przekazać je swojemu routerowi, Kelly. Powiedz Kelleyowi, kto powinien dostać zdjęcie. Kelley, jesteś niebieski, więc nie możesz oddać zdjęcia Brianowi. Musisz go oddać Timmy. Powiedz Timmy'emu, kto powinien dostać zdjęcie. Timmy jest czerwony, więc nie może dać Briana. Musi oddać go Renee. Renee , możesz przekazać zdjęcie Brianowi, ponieważ jest on żółtym komputerem, a ty jesteś żółtym routerem. ”
Następnie niech wszyscy pomyślą o jednej osobie, do której wyśle swój „pakiet”, i zobaczą, jak improwizowana sieć działa.
Część III: Wróć do programowania komputera
Podsumowując, zapytaj routery, czy router był łatwy, czy trudny, ponieważ wiele osób próbowało dać ci zdjęcia naraz. Wskaż, gdzie coś poszło nie tak, i połącz to z prawdziwymi problemami, które rozwiązujemy.
„Widziałem, że Timmy był przeciążony pakietami, ponieważ wszyscy musieli wysyłać przez niego swój pakiet. Jako programiści komputerowi musimy codziennie rozwiązywać takie problemy. Jednym ze sposobów, w jaki możemy to rozwiązać, jest przekazanie broni Timmy 4. A może dodać inny router, więc jeśli Timmy ma zbyt wiele pakietów do dostarczenia, możesz zamiast tego przekazać go do innego routera. ” Lub „Może chcemy, aby obrazy były szybciej dostarczane, abyśmy mogli poprosić router o dostarczenie obrazu przed dostarczeniem jakichkolwiek innych pakietów”.
źródło
Aby pożyczyć od innych już opublikowanych pomysłów, gra Simona Saysa może być dobrym rozwiązaniem. Możesz jednak podkreślić, w jaki sposób komputery zrobią DOKŁADNIE to, co im każesz. Tak więc, jeśli dzieci są Szymonem i mówią: „Simon mówi, usiądź”. wtedy po prostu siadasz na podłodze (nie w pobliskim krześle lub czymkolwiek). Postępuj zgodnie z instrukcjami do litery, a nie ducha. (Oczywiście może to być trudne, gdy dzieci udzielają dwuznacznych instrukcji, ale jestem pewien, że możesz coś wymyślić.)
Poza tym możesz również mówić o grach wideo lub innych „rzeczach” komputerowych, z których dzieci mogły korzystać, i możesz powiedzieć, że programiści, jak ty, je tworzą. A potem może wskocz do Simon Says, aby pokazać, jak to działa. Oczywiście może to spowodować, że grupa dorastających dzieci myśli, że cały dzień spędzasz w pracy grając w Simon Says z komputerem ...
źródło
Czasami uważam swoją pracę za zabawę klockami Lego. Zaczynasz od zestawu cegieł o różnych rozmiarach, kształtach i kolorach, a następnie budujesz większe rzeczy. Za pomocą tego samego zestawu klocków możesz budować zamki lub roboty z Gwiezdnych wojen.
I to tyle samo zabawy!
źródło
Jednym z głównych atutów programowania jest umiejętność tworzenia rzeczy . Spełniać marzenia. Nie sądzę, by spodobało się to małym dzieciom, które i tak nie mają problemu z uwolnieniem swojej wyobraźni. Co komputery przynoszą na stół?
Zamiast tego prawdopodobnie zainteresowałbyś ich rozwiązywaniem zagadek. Takie myślenie potrzebne do programowania. Prawdopodobnie w ogóle nie używałbym komputera; zamiast tego pozwól im rozwiązać zajmującą zagadkę matematyczną. Nie musi to być trudne, ale powinno obejmować kreatywne myślenie.
źródło
Kiedy próbuję wyjaśnić programowanie w krótkim czasie osobom, które nie są zaznajomione z programowaniem, wyjaśniam to za pomocą Legos. W Legos masz kilka prostych elementów, to jest jak język programowania. Następnie możesz poskładać je ze sobą w dowolny sposób i robić wszystko, co tylko możesz sobie wyobrazić, o ile masz odpowiednie elementy.
Dla dorosłych i dzieciaków będzie to prawdopodobnie bardzo interesująca analogia i wciąż pokazuje koncepcję programowania.
Ponadto możesz nawet źle zbudować samochód Lego, a następnie wyświetlić samochód Lego z bardzo ładnym wyglądem i pokazać im, że programowanie jest takie. Możesz programować samochody, roboty lub cokolwiek sobie wyobrażasz, ale nie jest to tylko jeden sposób, istnieje wiele sposobów. niektóre lepsze niż inne.
Mam tak wielu ludzi, aby rozpocząć programowanie, a nawet zmienić kierunki z tą analogią. :)
źródło
Myślę, że zacznę od rozmowy przez 2-3 minuty o komputerach i że postępują zgodnie z instrukcjami, co robić.
Następnie zademonstruję z wbudowanym robotem LEGO Mindstorms i zaprogramuję go kilka razy i uruchomię, aby pokazać im, że postępuje zgodnie z programem. Programowanie Mindstorms jest dość wizualne i łatwe do zrozumienia.
Na koniec postaram się wyjaśnić, że prawie wszędzie działają komputery, nawet na światłach, kuchenkach mikrofalowych i ich ulubionych zabawkach.
źródło
Porozmawiaj o wszechobecnym programowaniu komputerowym - prowadzi linie lotnicze, telefony, samochody, sposób kupowania biletów przez Internet itp.
Następnie naucz ich pisać symbolicznie prosty program - 1. Narysuj siatkę na tablicy.
2.Narysuj ser na jednym końcu, a mysz na drugim końcu. 3. Pozwól im „zaprogramować” moues, aby dostać ser!
Przeprowadź ich przez ich nieudane próby jako klasy, może mysz wpadnie w pułapki lub coś w siatce. Czuliby dreszczyk emocji.
źródło
Jak nauczyć dzieci, czym jest programowanie?
Cóż, pierwszy krok prawdopodobnie spowoduje zaangażowanie niektórych krów!
Pobierz prostą grę programistyczną (jak IQ Marathon ) na laptop i podłącz ją do projektora. Robiąc to, możesz porozmawiać o tym, jak bycie programistą często oznacza pracę z najnowszą technologią (a tym samym pokazanie, jak to robisz).
Po skonfigurowaniu (poćwicz, aby można go było uruchomić w ciągu 5 minut lub krócej), możesz użyć gry, aby bardzo wizualnie (i z krowami!) Pokazać, jak komputer robi dokładnie to, co mu nakazujesz, i jak ty (programista) musisz dowiedzieć się, jakie instrukcje są konieczne, aby zrobić to, co chcesz. Kiedy wszystko dobrze zrozumiesz, wszyscy są tak szczęśliwi z twojego sukcesu, że tańczą krowy!
Stamtąd możesz odpowiedzieć na dowolne pytania, a może po prostu pozwolić dzieciom spróbować samodzielnie zaprogramować krowy. Gdziekolwiek chcą iść, naprawdę.
Krowy
źródło
Nadaj każdemu dziecku wycięty kształt; koła, kwadraty, trójkąty, różne kolory itp. Wyjaśnij, w jaki sposób programowanie podaje instrukcje w określonej kolejności. Przytrzymaj zdjęcie uśmiechniętej twarzy i poprowadź dzieci, jak je zbudować. Żółte kółko, czarna kropka, czarna kropka, łuk. Następnie pokaż bardziej skomplikowane zdjęcie i poproś dzieci, aby przyszły w kolejności zgodnie z twoimi instrukcjami. Możesz nawet popełnić błąd (na przykład umieścić żółty okrąg nad czarnymi kropkami), aby pokazać, jak „błędy” wkradają się do programu.
źródło
Zademonstruj prostego robota burzy mózgów Lego i odpowiadający mu schemat blokowy. Nie musisz wtedy pokazywać żadnego kodu, a oni mogą zobaczyć końcowy wynik twojej logiki, obserwując, jak lego wykonuje twój program.
źródło
Dzieci lubią rzeczy, które „coś robią” i migające światła.
Na urodziny moich synów zrobiłem sejf (pudełko z elektrycznym zamkiem i dużą ilością diod LED), który był podłączony do komputera.
Musieli odpowiedzieć na kilka pytań, a każda odpowiedź skutkowała miganiem diod LED (zielony dla dobrych odpowiedzi i czerwony dla błędnych odpowiedzi). Jeśli dobrze odpowiedzieli na wystarczającą liczbę pytań, diody LED rozpoczęły prostą animację, która zakończyła się głośnym „klonowaniem”. Sejf był teraz otwarty i mogli odebrać nagrody.
Budowanie było fajne, a dzieciom się podobało.
źródło
Sprzedaj je na wartości nienadzorowanej automatyzacji. Poprowadź dziecko do przodu pokoju i pokaż klasie, co robi każdej nocy, kiedy myje zęby. Potem ten sam dzieciak pokaże ci, co by robił w tym czasie, gdyby nie musiał myć zębów.
Następnie powiedz temu dziecku, że umiesz przesuwać szczoteczkę po zębach, podczas gdy on robi inną rzecz, którą wolałby robić, i powiedz mu, że nigdy tego nie poczuje. Jego zęby będą magicznie czyste następnym razem, gdy matka pójdzie je sprawdzić.
Następnie może napisać na tablicy kredą pseudokod, który pokazuje, że Brush API uzyskuje dostęp do zasobu Tooth w wątku tła za działaniem Favorite.
źródło