Nauczanie liceum TCS - istniejące programy

16

Zaproponowano mi nauczenie nowatorskiego programu szkoły średniej TCS, który wymaga opracowania programu nauczania. Bardzo chciałbym usłyszeć opinie i sugestie dotyczące tego.

Po pierwsze, czy ktoś wie o szkołach średnich, w których program TCS był nauczany z powodzeniem (lub bez powodzenia)?

Chodzi o 3-letni program (10-12 klas, w wieku 16-18 lat), około 8 godzin tygodniowo, dla wybranych wybitnych studentów, co oznacza, że ​​może i powinien być wymagający. W przeciwieństwie do standardowego programu „komputerowego”, program ten nie powinien koncentrować się na programowaniu, ale raczej na wybranych tematach w CS, głównie w TCS. Tematy, które do tej pory mamy na myśli, to:

  • Analiza asymptotyczna
  • Podstawowe struktury danych i algorytmy (listy, tablice)
  • Algorytmy graficzne, również jako demonstracja zachłannych algorytmów vs programowanie dynamiczne.
  • Inne algorytmy (np. Probabilistyczne)
  • Obliczalność - koncepcja TM, redukcja, rozstrzygalność.
  • Złożoność - NP, P, być może PSPACE i NL. Kompletność.
  • Teoria automatów

Zasadniczo, obejmuje to część TCS pierwszych dwóch lat licencjata w CS. Musimy jednak pamiętać, że uczniowie ci nie mają podstaw matematycznych potrzebnych do większości tego materiału. W szczególności takie rzeczy, jak teoria mnogości, kombinatoryka, prawdopodobieństwo i artiometria modularna nie są nauczane w szkole średniej (niestety).

Podsumowując i zadając dokładne pytania:

  1. Czy ktoś zna podobny program gdziekolwiek?
  2. Czy istnieją sugestie dotyczące konkretnych / ogólnych tematów, które Twoim zdaniem można i należy uczyć w uzupełnieniu / zamiast powyższych tematów, jednocześnie utrzymując program interesujący, a także ważny i bezpośrednio istotny (np. Teoria grup jest ważna i interesująca, ale niewystarczająco istotna uzasadnić czas zajmie)
  3. Z przyjemnością przedstawiłbym uczenie maszynowe w jakiejś formie, ponieważ jest to obecnie bardzo gorący temat. Mile widziane są wszelkie pomysły na to, jak uczenie maszynowe może być prezentowane bez narzędzi takich jak twierdzenia o koncentracji miar.
Shaull
źródło
2
Wygląda na to, że na końcu wymieniasz teorię automatów jako rodzaj refleksji. Byłbym zwolennikiem uczynienia teorii automatów centralnym i jednoczącym tematem. Może wprowadzać uczniów w formalne rozumowanie matematyczne bez żadnego konkretnego tła matematycznego. Ma ostre bezwarunkowe twierdzenia, które są fundamentalne, ale stosunkowo łatwe do udowodnienia. Można to połączyć bezpośrednio z uczeniem maszynowym , chociaż z mojego doświadczenia trudno jest nauczyć studentów pierwszego kursu teoretycznego, więc HS wymaga większej ostrożności.
Artem Kaznatcheev
1
nie słyszałem o tym wcześniej! „wybrani” studenci? czy to prawdopodobnie oznacza także zaawansowane? spróbuj wydobywać książki popularnonaukowe na TCS lub blogach internetowych [kilka dobrych tam]. Maszyny Turinga, obliczenia kwantowe inne kluczowe / interesujące obszary. myślę, że można to wyciągnąć, jeśli matematyka nie jest ciężka i odbywa się w sposób bardziej konceptualny niż matematyczny. również ta strona pojawia się w wielu edu pytaniach: cs unplugged . powodzenia!
vzn
2
Zastanawiam się, czy najlepiej poświęcić trochę czasu na nauczanie tych umiejętności matematycznych, o których wspominasz (np. Prawdopodobieństwo) ... to również potencjalnie pomoże ci omówić bardziej zaawansowane tematy, ale także pomoże przygotować studentów do przyszłych studiów z matematyki / matematyki .
usul
1
@vzn - tak, są to zaawansowani (ośmielę się powiedzieć - utalentowani) studenci.
Shaull
1
@vzn To bardzo interesująca sugestia. Jakoś TCS nie jest jeszcze częścią popularnej kultury. Oznacza to, że nawet zaciekawieni studenci zwykle nie zdają sobie sprawy z pytań takich jak P vs NP. Ale zdecydowanie powinniśmy poprosić obecnych studentów CS o sugestie i zobaczyć, co oni wymyślą. Domyślam się, że kryptografia byłaby centralna.
Shaull

Odpowiedzi:

8

Wiele krajów organizuje szkoły letnie dla swoich zespołów IOI (składających się z uczniów szkół średnich w wieku około 16 lat IIRC). Ten, który mamy w Iranie, miał następujące kursy:

  • programowanie,
  • struktura danych i algorytmy,
  • kombinatoryka i
  • teoria grafów.

Myślę, że Stowarzyszenie Nauczycieli Informatyki ACM ma program nauczania K12 na stronie Zasoby programu nauczania, chociaż jest to prawdopodobnie zbyt lekkie dla utalentowanych nastolatków.


Myślę, że programowanie musi zdecydowanie stanowić część programu nauczania. Python powinien być dobrym pierwszym językiem do nauki.

Możesz także omówić niektóre dostępne tematy z aplikacjami (radość z budowania czegoś fajnego może mieć duży wpływ na ich zainteresowanie). Myślę, że kurs ML Andrew Andrew na Coursera powinien być dostępny dla utalentowanych studentów (szczególnie dla tych w krajach takich jak twój, gdzie istnieje poważniejszy program nauczania matematyki K12).

Niestandardowym tematem, który możesz rozważyć, jest kombinacyjna teoria gier, może być niezbyt interesująca w wieku 16 lat (nie mam na to doświadczenia), ale z mojego doświadczenia działa całkiem dobrze.

Osobiście uważam, centralny i podłączenie motyw powinna wynosić około algorytmy, myślę, że byłoby lepiej niż automatów teorii jako główny temat i prawdopodobnie algorytmicznego punktu widzenia (nie Maszyna Turinga, automaty, etc.) Istotą informatyki.

Kaveh
źródło
Część programistyczna jest objęta standardowym programem CS, który wszyscy biorą. To są dodatkowe tematy. Czy zdarza ci się mieć link do takiej strony szkoły letniej? Jeśli chodzi o skupienie się na algorytmach - Zgadzam się, że są one kluczowe dla CS, myślę Obliczalność i złożoności są równie Istotą informatyki. Pamiętam, że byłem pod większym wrażeniem faktu, że są rzeczy, których nie możemy rozwiązać, niż sprytnych algorytmów. Ale prawdopodobnie oba zostaną objęte.
Shaull
w pewnym sensie w maszynach Turinga chodzi o algorytmy . również ruby jest również doskonałą opcją porównywalną do Pythona . na tym samym temacie inną doskonałą opcją do nauki programowania jest javascript z wielu powodów, np. jego rozpowszechnianie w przeglądarkach, dużo kodu publicznego / przykładowego, szerokie funkcje, wysokie użycie itp.
vzn
1
@Shaull, mają stronę ( Young Scholars Club ), ale jest w języku perskim i nie zawiera wiele na temat tego, co obejmuje letnia szkoła.
Kaveh
1
@vzn, nie sądzę, że masz duże doświadczenie w nauczaniu TCS uczniów szkół średnich i wyjaśniłem ci bardzo wyraźnie, że nie jestem zainteresowany twoimi opiniami . Przestań trollować moje odpowiedzi.
Kaveh
k, plz nie zgaduj na moim bkg i zrobię to samo dzięki uprzejmości. komentarz jest w zasadzie we wsparciu od swoich poglądów ... brzmi jak w temacie meta = (
vzn
5

Co ciekawe, jest ktoś, kto twierdził, że uczenie maszynowe jest wyjątkowo odpowiedniewśród tematów informatyki do nauczania dla uczniów szkół średnich, ponieważ podobno jest to jedna z niewielu dziedzin, w których podstawowa matematyka może pomóc ci zrozumieć wystarczająco dużo, aby docenić ważne wyzwania. Nie zgadzam się z tym twierdzeniem - podstawowe algorytmy (powiedzmy do wyszukiwania, sortowania) mogą być przedstawione jako zagadki, i bardzo szybko można przejść do bardzo prostego stwierdzenia, ale podstawowe otwarte problemy, takie jak „można powielać za pomocą zasadniczo takiej samej liczby operacji jako dodatek ”, sortowanie liczb całkowitych w czasie liniowym lub faktoring (zakładam, że koncepcja liczb pierwszych nie byłaby nowa dla wybranej grupy uczniów szkół średnich?). Z drugiej strony dużo uczenia maszynowego byłoby trudne do zrozumienia bez dobrego doświadczenia w statystyce i teorii prawdopodobieństwa. Niemniej jednak,

Jeśli chodzi o program nauczania, istnieje bardziej szczegółowy program Essinger i Rosen w Drexel.

Oprócz tego sądzę, że można spróbować naszkicować niektóre bardziej zaawansowane pomysły teorii uczenia się:

  • jaki jest podstawowy problem z klasyfikacją
  • czym jest klasa koncepcyjna i co to znaczy uczyć się koncepcji
  • dlaczego nie możesz mieć nadziei, że nauczysz się pojęć z nieograniczonej klasy pojęć o złożoności próbkowania mniejszej niż wykładnicza (jako wprowadzenie do liczenia argumentów)
  • co to jest wymiar VC

Inną sugestią jest wprowadzenie obwodów i próba szkicu dolnej granicy Shannona. Zależy, jak wygodni są uczniowie z liczeniem. Jeśli jest to zbyt ciężkie, może nadal pomóc w dyskusji, gdy uczniowie sami liczą obwody na wiarę. Myślę, że idea „większość problemów wymaga dużych obwodów, ponieważ jest zbyt wiele problemów i zbyt mało małych obwodów” będzie uderzająca. Ta idea jest ważna i wszechobecna w złożoności.

Sasho Nikolov
źródło
Obie sugestie są bardzo miłe. Dzięki! Mam wrażenie, że dla liceum, samo poznanie wymiaru VC może zająć około 3 miesięcy, co może być za dużo. Ale zdecydowanie warto to rozważyć, zwłaszcza, że ​​już się nad tym zastanowiono.
Shaull
Myślę, że nawet zrozumienie, co to znaczy nauczyć się pojęcia i mieć niejasne pojęcie, że nie można nauczyć się arbitralnie skomplikowanych rzeczy, zanim słońce zamarznie, wygra.
Sasho Nikolov
3

Oto jeden obiecujący kierunek, w którym należy pójść w tym kierunku. AP / NSF ogłosił niedawno nową inicjatywę programu CS dla zaawansowanych uczniów szkół średnich. korzystanie z takiego programu będzie miało wiele zalet, takich jak ustandaryzowany plan lekcji, akredytacja uczelni itp.

jest obecnie w fazie rozwoju i ma być gotowy na 2016 r. Wstępny program kursu i materiały są dostępne online. (w przypadku ekspertów akademickich może być w tym momencie nawet możliwość wpłynięcia na przyszłe treści poprzez współpracę typu „kolektywna inteligencja”).

Advanced Placement Program College College powiedział w czwartek, że planuje dodać nowy program informatyczny do swojej oferty klas, pierwszy nowy test od siedmiu lat. Krok ten odzwierciedla rosnące zainteresowanie szkoleniem studentów w zakresie kariery naukowej w obliczu krajowego nacisku na zwiększenie konkurencyjności gospodarki amerykańskiej na całym świecie.

Nowy program, AP Computer Science Principles, skoncentruje się na „kreatywnych aspektach” informatyki i zostanie częściowo sfinansowany z dotacji w wysokości 5,2 mln USD z National Science Foundation. Agencja federalna ma na celu przeszkolenie dodatkowych 10 000 nauczycieli informatyki w tej samej liczbie szkół średnich w całym kraju do 2016 r. W ramach wysiłków na rzecz poprawy edukacji w dziedzinie nauk ścisłych, technologii, inżynierii i matematyki lub STEM. College Board będzie chip o $ +3,5 mln wsparciu nauczycieli i sprzętu.

istniejący program nosi nazwę AP Computer Science A, a nowy program nosi nazwę AP Computer Science Principles. istniejąca klasa istnieje od wielu lat i jest również pomocna jako model dla nauczycieli opracowujących program nauczania.

vzn
źródło
Zobacz także, jak zainteresować studentów HS CS CS.se
od
3
Nawiasem mówiąc, Baker Franke i ja przedłożyliśmy propozycję sesji BOF (Birds-of-a-Feather) na SIGCSE '14, aby omówić, jak teoretycznie uczynić tematy dostępnymi dla programu CS Principles.
rahulmehta95
@ rahulmehta95 - czy istnieje link do propozycji, którą mogę przeczytać?
Shaull,
2
Proszę bardzo: cs.ucls.uchicago.edu/~rahulmehta/papers/BOF-Theory.pdf . Mam nadzieję że to pomoże!
rahulmehta95
2

Pomysł, który ostatnio skopałam, polega na tym, jak nauczyć studentów HS pojęcia redukcji między problemami. Uznałem, że jest to jeden z najciekawszych, ale i najtrudniejszych tematów, kiedy zapoznałem się ze złożonością, ponieważ dość trudno (przynajmniej początkowo) owinąć głowę faktem, że problem taki jak 3-SAT jest „tak samo trudny” jako osłona wierzchołka.

Przykładem, który wymyśliłem, była redukcja między Cover Vertex (VC) a Independent Set (IND-SET), sformułowanymi w następujący sposób;

„Jesteś dyrektorem muzeum i masz za zadanie zatrudnić ochronę do pilnowania korytarzy. Gdy zostanie umieszczony na skrzyżowaniu korytarzy, strażnik może mieć oko na WSZYSTKIE korytarze przylegające do niego. Jaka minimalna liczba potrzebnych strażników patrolować całe muzeum? ”

„Nieco później niektóre dzieci decydują się na zabawę w chowanego w muzeum. Ich celem jest ukrycie się tak, aby żadne inne dziecko ich nie widziało. Jednak strażnicy nie chcą, aby biegali po korytarze, więc są sprowadzeni do „ukrywania się” na skrzyżowaniach. Jaka jest największa liczba dzieci, które mogą ukryć się w muzeum, nie widząc się nawzajem? ”

V.doP.IND-SET

sol=(V.,mi)S.V. V.S.

SVSG

rahulmehta95
źródło
CLIQUEpIND-S.miT.
jeśli chodzi o redukcje, dowód na istnienie uniwersalnej maszyny Turinga jest jedną drogą i prawdopodobnie zrozumiałą dla zaawansowanych licealistów ... [zauważ, że istnieje wiele filmów z serii LEGO, niektóre nawet badacze cs ...] również, być może tseitin przekształcić ?
vzn 11.11.13