Nasza strona używa cookies. Dowiedz się więcej o celu ich używania i zmianie ustawień w przeglądarce. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Czy programiście potrzebna jest matematyka?

Iwona Tur CEO / Bulldogjob
Matematyka jest dziedziną, która często dzieli środowisko ludzi związanych z IT. Jedni bagatelizują jej rolę w pracy programisty, inni wskazują na duże znaczenie i istotny wkład matematyki w informatykę. Jak jest naprawdę?
Czy programiście potrzebna jest matematyka?

Pionier informatyki, Holender Edsger Wybe Dijkstra, odbierając w 1972 roku nagrodę Turinga powiedział między innymi, że atutem kompetentnego programisty jest zapał do matematyki. Nawet jeśli wybitny naukowiec nieco przesadził faktem jest, że znajomość matematyki jeszcze nikomu nie przeszkodziła w programowaniu, a wręcz przeciwnie. Z drugiej strony - bycie dobrym matematykiem nie oznacza, że będzie się również dobrym programistą. Zacznijmy jednak od początku - od szkolnictwa wyższego.


Edukacja informatyczna, a matematyka

O popularności kierunków informatycznych w Polsce pisaliśmy już w artykule „Czy programista potrzebuje studiów?”. Teraz warto kilka słów poświęcić matematyce jako elementowi kształcenia przyszłych programistów. Niektóre uczelnie przywiązują do tego przedmiotu bardzo dużą wagę, inne nieco mniejszą, jednak matematyka na studiach informatycznych pojawia się zawsze, a szczególnie na pierwszych dwóch latach. Studenci zgłębiają takie przedmioty jak statystyka i metody probalistyczne, analiza matematyczna, metody elementów skończonych, algebra liniowa, matematyka dyskretna itp. Tak czy inaczej, matematykę trzeba zaliczyć, jeśli studia chce się ukończyć.

Wiele osób twierdzi nawet, że tzw. „odsiew pierwszego rocznika” odbywa się najczęściej właśnie za sprawą matematyki. Kto nie poradzi sobie z tym przedmiotem, żegna się ze studiami. Nic dziwnego, że niejeden programista ma co najmniej ambiwalentny stosunek do matematyki. Nie ma się co oszukiwać - jeśli ktoś chce zajmować się zawodowo programowaniem, nie uniknie kontaktu z tą dziedziną nauki. Oczywiście nie oznacza to, że w każdym przypadku zagadnienia matematyczne wysuwają się na pierwszy plan.  

Gdzie można wykorzystać matematykę, a gdzie jest zbędna?

Trudno wyobrazić sobie programistę bez matematycznych zdolności, a szczególnie umiejętności logicznego myślenia, która pozwala nie tylko sprawnie przyswajać wiedzę, a również wyciągać wnioski i sprawnie analizować problemy programistyczne w poszukiwaniu ich rozwiązań.

Oczywiście wykorzystanie matematyki zależy również od stanowiska, jakie się zajmuje i od wykonywanych zadań. Na przykład w developmencie aplikacji webowych biegła znajomość matematyki nie wydaje się być konieczna, ponieważ wiele procesów zostało zautomatyzowanych i rozwiązano praktycznie wszystkie problemy wymagające matematycznej wiedzy. W tej sytuacji developer może się skupić tylko na implementowaniu rozwiązań i na optymalizacji, a do tego matematyka nie jest niezbędna. W zasadzie wystarczy podstawowa umiejętność wyznaczenia złożoności algorytmów. Tu można spokojnie zrobić całą karierę znając tylko podstawowy matematyki.

Z drugiej strony są zagadnienia, które wymagają wiedzy z obszaru matematyki. Na pewno przyda się ona przy tworzeniu gier komputerowych, gdy trzeba zaimplementować różne zjawiska fizyczne lub programować silnik graficzny do generowania obrazów 3D. Macierze i wektory wykorzystuje się przy analizie obrazu, algebra jest przydatna w kinematyce i przy kolizjach. Zagadnienia matematyczne pojawiają się także przy pisaniu bardzo złożonych programów, przy operowaniu na dużej liczbie danych, przy tworzeniu i testowaniu algorytmów. Analiza przydaje się przy optymalizacji.

Obszarem, w którym matematyka występuje jest Data Science, bo probabilistyka i statystyka są tam często wykorzystywane. Z kolei do uczenia maszynowego bardzo przydaje się algebra liniowa. W obydwu dziedzinach, jeżeli chce się nadążać za najnowszymi trendami, trzeba rozumieć wiele zagadnień matematycznych. Nie zawsze uda się tu bazować na prostych, już wypracowanych modelach - czasem trzeba będzie sięgnąć do prac naukowych, by poznać (i zrozumieć) nowe rozwiązania. Poznajcie artykuł naukowy z Nature o Alpha Go Zero, czyli AI, które samo nauczyło się grać w Go. Przekonacie się, że bez matematyki nie da rady.

W Bulldogjob jesteśmy jednak przekonani, że wiedza jeszcze nikomu nie zaszkodziła, a tym bardziej wiedza matematyczna. Dlatego przychylamy się do stanowiska, że jednak matematyka bywa potrzebna programiście, nawet jeśli nie na co dzień. Po prostu pomaga w zrozumieniu bardziej abstrakcyjnych pojęć i zagadnień. A Wy co o tym sądzicie?

Zobacz więcej na Bulldogjob

Masz coś do powiedzenia?

Podziel się tym z 80 tysiącami naszych czytelników

Dowiedz się więcej
Rocket dog