Jak skuteczne jest podejście „wąsów wiedzy” do Comp. Sci?

15

Czytałem to na Math SE. Podstawowe pytanie brzmi:

Załóżmy, że ktoś chce studiować coś zaawansowanego; Jednym ze sposobów na to byłoby zacząć od podstaw i zbudować. Ale „większy obraz” może się zgubić w tym procesie. Jeszcze jedną metodą (którą wolę nazywać Recursive Wiki) jest wybranie artykułu i Google / Wiki warunków, których się nie rozumie; Przeczytaj je. Będą w nich nowe terminy; Google / Wiki, dopóki nie dojdziesz do „podstawowego przypadku” znajomości materiału. Pracuj wstecz, aż dokładnie zrozumiesz ten papier. Powtórz dla innych dokumentów. Umożliwi to zdobycie wiedzy przy zachowaniu motywacji. Ale może powodować problemy w podstawach.

Opiera się na artykule prof. Vakila ze Stanford. Oto fragment:

..... matematyka jest tak bogata i nieskończona, że ​​nie można się jej systematycznie uczyć, a jeśli poczekasz na opanowanie jednego tematu przed przejściem do następnego, nigdzie się nie dostaniesz. Zamiast tego będziesz miał wąsy wiedzy rozciągające się daleko od twojej strefy komfortu. Następnie możesz zasypać te wąsy i rozszerzyć strefę komfortu; jest to o wiele łatwiejsze do zrobienia niż nauka „do przodu”. (Uwaga: to zasypywanie jest konieczne .....

Ogólny konsensus między przeciwnikami takiej metody był taki, że w przypadku takich dziedzin jak geometria algebraiczna jest w porządku, gdzie publikuje się setki artykułów na kwartał lub badania teorii strun, w których gdybyś próbował zbudować podstawy matematyczne przed dotknięciem teorii strun, byłbyś 80 z chorobą Alzheimera. Moje pytanie brzmi: czy to dobra strategia do studiowania CompSci?

Ponieważ Comp Sci jest tak wielodyscyplinarna (i inżynierowie muszą znać zarówno matematykę, jak i informatykę), czy taki rekurencyjny tryb nauki jest wystarczająco dobry do badań akademickich? A może tradycyjny tryb jest zbyt dobry, aby go zastąpić?

Na przykład musiałem wiedzieć o Translation Lookaside Buffer (TLB) z 0 znajomością systemów operacyjnych.

Moja rekurencyjna ścieżka (jak na wikipedię) brzmiała:

TLB> Pamięć podręczna> (Wstecz) TLB> Tabela stron> (Wstecz) TLB> Adres wirtualny> (Wstecz) TLB> Odczytaj ponownie. Gotowy

Wydaje mi się, że wiem, czym jest TLB i jeśli napotkam ją ponownie, będę wiedział, co się dzieje. Czy sam siebie oszukuję?

Śledztwo
źródło

Odpowiedzi:

8

Nie sądzę, byś sam siebie oszukiwał, ale powinieneś ostrożnie korzystać z tego, czego się nauczyłeś. W tym przypadku jest to stosunkowo łatwe. Jeśli potrzebujesz zaprojektować swój kod z myślą o świadomości TLB, prawdopodobnie masz teraz to, czego potrzebujesz, i możesz to sobie udowodnić, pisząc programy. Jeśli jednak ktoś poprosi Cię o zaprojektowanie i wdrożenie TLB, być może będziesz musiał przeprowadzić dalsze badania.

Myślę, że ważną częścią uczenia się czegokolwiek jest także próba zrozumienia granic twojej wiedzy.

Podejście wąsów jest wyraźnie dobrą metodą dla niektórych rodzajów uczenia się. Powinieneś go używać w razie potrzeby. Zaletą drugiej metody jest to, że uczysz się po drodze wielu innych rzeczy, które mogą być pomocne w budowaniu pomysłów i planów atakowania problemów. Na przykład, wiesz już coś o TLB, ale jeśli nie spotkałeś się i nie nauczyłeś się o dostępach innych niż czasowe (powiedzmy, żeby losowo wybrać przykład) podczas nauki o TLB, być może przegapiłeś niezwykle ważny kawałek wiedza na temat optymalizacji systemów pamięci. Jeśli zacząłeś na samym dole od uczenia się o systemach pamięci na układach scalonych, prawdopodobnie spotkałbyś się (choć płytko) z dostępami innymi niż czasowe, więc wiedziałbyś, że musisz o tym pamiętać.

Sugeruję, abyś rozsądnie posypał naukę w obu kategoriach, pracując nad rozwiązaniem swoich problemów. I tak rzadko zaczynasz od w pełni sformułowanego zestawienia problemu, więc podczas pracy nad nim będzie trochę mieszania do przodu i do tyłu oraz iteracji na temat natury problemu.

Bill Barth
źródło