Jak powinniśmy nauczać informatyki? krótki link
Autor: Konrad, Opublikowano: 22/12/2009Chyba staję się namiętnym fanem Devblog-ów. Trafił tam w ostatnich dniach na wpis o temacie Jak powinniśmy nauczać informatyki?. Choć większości może przyjść z trudem mi teraz uwierzyć, ale w chwili gdy pisze te słowa, wciąż jestem studentem. Przyznaje, nie takim jak większość, ale spotykam te same sytuacje co reszta – niestety. Poziom na jakim jest przekazywana informacja jest bardzo różny. Dużo jest wykładowców o olbrzymiej wiedzy, ale równie sporo o niewystarczającej. Spora część nie jest nauczona jak poprawnie pracować z zespołem, jak kierować ludźmi, jak poprawnie uczyć, czy jak tłumaczyć trudne zagadnienia. Odpowiedzialność jest zrzucana na studenta. Mam tę zaletę, że stoję po dwóch stronach barykady i potrafię być wobec siebie krytyczny – a luki uzupełniać. Przekazując swoją wiedzę innym, świadomie buduję część swoich kompetencji i doświadczenia, które uzupełniam innymi działaniami (w tym studiami). Bezcenna jest dla mnie możliwość zdobywania wiedzy z kilku źródeł – od komercyjnych po naukowe. Móc zobaczyć jak wyglądają różne role. W głębi serca życzę uczelniom (i wykładowcom) jak najlepiej. Mam nadzieję, że doczekam zmian, których też wyczekuje Jeff Atwood. Liczę, że na uczelniach pojawią się tematy trudne, ale niezmiernie przydatne (kontrola wersji, wdrożenia, obsługa projektów w różnych cyklach jego życia). Gdy nie będziemy kształcić nieżyciowych informatyków, a szeroko rozumianych specjalistów (np. programistów, analityków). A osobiście mażę o porzuceniu bloków-zapychaczy, np. elektrycznych i matematycznych – są o wile ważniejsze zagadnienia do nauki. Wbrew temu co jest uparcie wmawiane, nie da się (i nie powinno!) uczyć tylko uniwersalizmów, bez skrótów w formie korzystania z dobrodziejstw obecnego stanu technologicznego. Nie warto uczyć rachunków na całkach czy różniczkach, tylko by móc zrozumieć proces (np. renderowania obrazu), czy poszerzyć swój horyzont wiedzy. Po co to robić na początku swojej edukacji? I tak tych zagadnień nie zrozumiemy i nie będziemy z nich korzystać. Ważna jest maksymalnie wąska podstawa teoretyczna i znajomość obecnie używanej technologii (np. obecnego API DirectX gdy uczymy się programowania gier). Zagłębianie się w podstawy powinno wynikać z potrzeby rozszerzenia wiedzy – np. gdy samemu będziemy tworzyć projekt typu DirectX czy OpenGL. Nie zrobi tego student. Trzeba z takimi rzeczami pracować na co dzień, by móc je coraz lepiej rozumieć i odkrywać coraz bardziej złożone elementy składowe.
Obecnie zmiana technologii zachodzi w ciągu 2-3 lat. Studia magisterskie (w Polsce) trwają 5-6 lat. Jak zatem można mówić o posiadaniu wiedzy (zwłaszcza tej aktualnej i przydatnej)? Zapraszam do lektury Devblog-ów.


