Przez ostatnie tygodnie fora i grupy internetowe zasypywane są pytaniami: Czy warto iść do technikum informatycznego?, Liceum czy technikum?, Jaką szkołę wybrać?. W związku z tym oraz zbliżającym się okresem rekrutacyjnym postanowiłem napisać wpis na bloga dotyczący wrażeń ze szkoły, największych problemów kształcenia i jakości nauki.

Stwierdziłem, że ukazanie tego wyłącznie z mojej perspektywy nie będzie miarodajne. Dlatego postanowiłem stworzyć vademecum dotyczące tego kierunku i zapytać o zdanie inne osoby i użyć ich odpowiedzi w moim artykule.

W mojej ankiecie udział wzięły 74 osoby. Większość z nich wypełniła tylko pytania zamknięte, ale znalazło się ok. 15 dłuższych, wartościowych wypowiedzi.

Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami

Równie dobrze tego przedmiotu w obecnie formie mogłoby nie być. 3 lata nauki można porównać z 3 tygodniami nauki w domu. Nic ten przedmiot nie wnosi do umiejętności technika, jedynie uprzykrza życie uczniom, którzy nie są dobrzy w schematycznym myśleniu.

I tak, mówię to ja – programista, który swoje pierwsze strony tworzył w wieku 10 lat. Szczególnie ważna jest opinia innego programisty:

Ta kwalifikacja to kpina. Pracuje jako programista, prosto po technikum, ale 99% wiedzy zdobyłem samodzielnie. Ilość programowania jest szczątkowa, stare standardy, nauczyciele dostosowują poziom do najsłabszych, przez co m.in programowanie obiektowe było tylko w opowieściach. Niby stawia się na technologie webowe, ale HTML i CSS i odrobina JS'a to zdecydowanie za mało.

Kamil z bloga Webkonstruktor.pl

Nie każdy nadaje się na programistę. Co więcej, 90% osób nie ma predyspozycji do tego. Dlaczego szkoła zmusza ich do programowania? Przez to tylko poziom nauki jest zaniżany, bo dostosowuje się go do najsłabszego ucznia. Przerobienie całego materiału na lekcjach może być trudne, a co dopiero tematy spoza programu. Zajęcia zwykle ograniczają się do bezmyślnego przepisywania kodu z ekranu projektora.

Wszystko, co jest potrzebne na egzamin ogranicza się może do max. 10 godzin wideo poradnika z YouTube.

Największe zastrzeżenia mogę mieć tu do nauczycieli, że nie potrafią zarazić chęcią programowania swoich uczniów. Nauka E14 nie może ograniczać się do czytania podręcznika, Wikipedii lub włączenia poradnika na YouTube.

Największą i często powielaną bzdurą, nie tylko w szkole jest to, że najlepiej by pierwszym językiem programowania był C++. GŁUPOTA. Zniechęca to tylko do przedmiotu, powoduje, że uczeń nie widzi efektów. Co jest ciekawsze: stworzenie interaktywnej strony internetowej czy algorytm wypisywania liczb pierwszych? Dlatego uważam, że pierwszym językiem powinien być język webowy: PHP lub JS, z naciskiem na ten pierwszy, jako przyjaźniejszy w nauce.

Jako programista mam tutaj chyba najwięcej (poza E12) zastrzeżeń:

  • Uczono nas każdego języka tylko po trochu. Później to przerywano i robiono DOKŁADNIE to samo w innym języku. Później przerywano i następny język itp. W skrócie uczono nas podstawowej składni języków, zamiast tego DO CZEGO ONE SŁUŻĄ.
  • Pisaliśmy tylko programy w stylu posortuj tablicę, wypisz ciąg fibonaciego itp. Brak nawet zalążka tworzenia jakiegokolwiek funkcjonalnego projektu.
  • Brak nauki umiejętności przydatnych w pracy programisty, innych niż samo kodowanie (jak chociażby korzystanie z odpowiednich narzędzi, praca w zespole, GIT itp.)
  • Ogólnie zbyt mało czasu poświęcone na programowanie, no ale nie ma za bardzo co narzekać.

Przemysław TME

Kolega Przemysław nakreślił kolejny problem: nowe zagadnienie = zaczynanie pisania programu od początku. Jeśli jakiś nauczyciel to czyta, to apeluję: Planujcie ciekawsze zadania, nie ma gorszego sposobu na zniechęcenie do programowania, niż zmuszanie do używania go, do liczenia matematyki... Której w rzeczywistych projektach za dużo nie ma. Gdyby to miało zależeć ode mnie, starałbym się pokazywać rzeczywiste projekty. Przykładowo razem z uczniami próbowałbym robić proste aplikacje do notatek, jakieś fajne programy typu keyloggery i inne. Coś, co typową osobę może zachęcić, pokazać, że to może być fajne i pomocne... w dodatku takie, jak jest w rzeczywistości... a nie znowu ta matma.

Żaden z moich nauczycieli nie miał pojęcia o nowych technologiach. W nauce programowania w szkole panuje ciemnogród. Nie dziwię się – żaden programista nie będzie pracował za 3000 zł. Rzeczowe błędy, które tam usłyszałem, powodowały, że nie raz chciałem wstać i wyjść.

Uczmy się nowych standardów! Nie chodzi mi tu nawet o jakieś ES6 w JS, ale skoro już uczymy się tego załóżmy programowania, to dlaczego nie pokazują nam jak powinno się to robić? Kod PHP jaki jest wymagany na egzaminie to PHP wymieszany z HTML, czyli w rzeczywistych projektach najgorsze co można zrobić, bo strasznie psuje rozszerzalność i zmniejsza czytelność aplikacji... ale szkoła musi uczyć, bo na egzaminie jest

anoniomowo
Technologie webowe m.in. w3c, gulp, grunt, node, git, angular, Bootstrap, jquery
Zdjęcie tylko i wyłącznie dla uwagi. O tych i tysiącach innych technologii nawet nie usłyszycie.

Tym razem pozwoliłem zadań trochę więcej pytań. Część z nich jest absurdalna i nie dotyczy zupełnie zagadnień z zakresu programowego. (Ale wnioski z tego na koniec)