Dodaj do ulubionych

Znajomość matematyki a programowanie i bazy danych

IP: *.internetdsl.tpnet.pl 31.08.09, 19:01
Jakie umiejętności powinien posiadać projektant/programista
baz danych ?

Jestem jeszcze studentem i zastanawiam się nad wyborem specjalizacji.
Jednocześnie zastanawia mnie, w jak dużym stopniu potrzebna jest
znajomość matematyki w życiu zawodowym - np. programiście Javy i
programiście baz danych. Na studiach oczywiście było sporo
matematyki ale zauważam, że po zdaniu egzaminów po roku już nie
wiele pamiętam. Zastanawiam się czy mam od czasu do czasu wyciagać
sobie zbiór zadań i sobie matematyke przypominać czy ona aż tak
bardzo nie jest potrzebna. A jeśli już, to które działy i w jakich
zastosowaniach?

Edytor zaawansowany
  • allerune 31.08.09, 21:11
    matematyka wyższa przydaje się w niewielu dziedzinach, chociaż fakt, są to
    dziedziny nieźle płatne, tak jak wałkowana bankowość inwestycyjna :)
  • Gość: kdfhd IP: *.neoplus.adsl.tpnet.pl 31.08.09, 22:59
    Przede wszystkim matematyka, którą miałeś na studiach, ma za zadanie
    rozwinąć myślenie. Przeciętnemu programiście w pracy zawodowej
    raczej nie przydają się potrójne całki czy liczenie macierzy 5x5 ;)
  • Gość: misieqwroclaw IP: 195.116.95.* 01.09.09, 12:02
    Jeżeli nie będziesz programował czegoś w grafice 3D to prawdopodobnie matma Ci
    się nie przyda. No może jeszcze w grafice 2D jakieś oskryptowanie do photoshopów
    - wykrywanie krawędzi itp. ale to już raczej jest przerobione więc nic nowego
    nie wymyślisz.

    Szeroko stosowane są falki, ale w Polsce pewnie tego nie uświadczysz w żadnej
    firmie - na uczelniach np. Wyższej Szkole Psychologii Społecznej w Warszawie
    mieli ofertę pracy dla informatyka ze znajomością falek, ale wymagali
    doświadczenia w zawodzie plus stosowania falek w praktyce (było to około dwa
    lata temu).

    Ja nie słyszałem o polskiej firmie, z siedzibą w Polsce, która by zatrudniała
    matematyków o specjalizacji informatycznej w celu wykorzystania ich umiejętności
    np. z metod numerycznych.

    Jak sam nie zaczniesz pisać zaawansowanego softu (który nikomu nie będzie
    potrzebny) to matematyki nie uświadczysz. A szkoda, bo trochę szarych komórek by
    się poćwiczyło.
  • Gość: grzesiek IP: *.cable.ubr15.nmal.blueyonder.co.uk 02.09.09, 00:22
    no jest to przykre slyszec, a ja siedze caly czas nad jakimis kodami matlaba, transformatami hilberta i innymi cudami i to pisze w uk. Szkoda, ze w pl nie ma takich firm... Pozdrowienia - ... - a matma przyda Ci sie np. w uk ;) pozdro
  • ekspert.powermedia 02.09.09, 13:35
    Matematyka odegrała wielką rolę w stworzeniu relacyjnych baz danych. Dr Codd, który zapoczątkował badania w tym kierunku był z wykształcenia matematykiem. Automatyczne tworzenie nieskomplikowanych raportów i kwerend przy pomocy wizualnych narzędzi jest oczywiście możliwe bez wiedzy matematycznej, ale projektowanie skomplikowanych, wydajnych baz i optymalizacja zapytań wymaga dużej umysłowej dyscypliny, której gwarantem są dobre podstawy matematyczne.

    Pozdrawiam,
    Wiesław Cupała
    Specjalista ds. Rekrutacji
  • allerune 07.09.09, 01:48
    Codd :)

    założę się, że to z listy pytań, które zadajecie rekrutując bazodanowców :)
  • knx1 07.09.09, 10:46
    Tak wyglada. Pan Specjalista zapomnial jednak dodac, ze w praktyce
    oczekiwana znajomosc mat. sprowadza sie do pojmowania roznicy miedzy
    operacjami logicznymi AND i OR. Ci co znaja prawa de Morgana moga od
    razu na Seniora aplikowac :)
  • allerune 07.09.09, 10:58
    to co piszesz, to sytuacja teoretyczna. W praktyce, humaniści HR nie wiedzą o co
    pytać, więc wrzucają "bazy danych" w wikipedię i pytają o to co tam wyskoczy
  • embercadero 07.09.09, 15:35
    Myślisz że jest aż tak źle że ejdż-ary pytają o sprawy techniczne? W wielu
    rozmowach kwalifikacyjnych brałem udział (z obu stron stołu) i przyznam że
    zawsze był ktoś techniczny z kim się rozmawiało o konkretach a pani headhunterka
    załatwiała wyłącznie pozostałe fragmenty dyskusji. Zostawienie jej samej w
    sprawach zatrudniania inżyniera mogłoby przyznam być ciekawym doświadczeniem.
    Myślę ze z gatunku zbliżonego do monty pythona :)

    Oczywiście no offence - na rozmowie obie osoby są równie potrzebne.
  • allerune 08.09.09, 10:56
    > Myślisz że jest aż tak źle że ejdż-ary pytają o sprawy techniczne?

    nie, myślę, że się wymądrzają na forum :-)

    Ale tak, zdarza się często, że niekompetentna osoba musi przepytać kompetentną.
    Swego czasu szef przyszedł do nas i powiedział, żebyśmy napisali mu 20 pytań z
    baz danych, żeby "zagiąć" gości na rozmowie kwalifikacyjnej. Sam coś kiedyś w
    tym robił... ale niewiele pamięta :)

    >Zostawienie jej samej w
    > sprawach zatrudniania inżyniera mogłoby przyznam być ciekawym doświadczeniem.
    > Myślę ze z gatunku zbliżonego do monty pythona :)

    a co powiesz chociażby o błędach merytorycznych w ogłoszeniach, czy wstępne
    telefony, w których rekrutujący objawiają, że są totalnymi lajkonikami?
  • embercadero 08.09.09, 11:43

    > a co powiesz chociażby o błędach merytorycznych w ogłoszeniach, czy wstępne
    > telefony, w których rekrutujący objawiają, że są totalnymi lajkonikami?

    Błędy w ogłoszeniach są cenne - wiadomo od razu że nie warto sobie takim
    ogłoszeniem głowy zawracać.
  • Gość: Zele IP: 188.33.101.* 13.09.09, 20:35
    ekspert.powermedia napisała:

    Matematyka odegrała wielką rolę w stworzeniu relacyjnych baz danych. Dr Codd,
    który zapoczątkował badania w tym kierunku był z wykształcenia matematykiem.
    Automatyczne tworzenie nieskomplikowanych raportów i kwerend przy pomocy
    wizualnych narzędzi jest oczywiście możliwe bez wiedzy matematycznej, ale
    projektowanie skomplikowanych, wydajnych baz i optymalizacja zapytań wymaga
    dużej umysłowej dyscypliny, której gwarantem są dobre podstawy matematyczne.


    Cóż, może nie zabrzmiało to jakoś bardzo przekonująco, ale to prawda. Moja
    specjalizacja to właśnie programowanie baz danych. Rzeczywiście, konstrukcja SQL
    jest oparta o ciężkostrawną algorytmikę. Do wyboru indeksu potrzebna jest pewna
    wiedza na ten temat, ale w gruncie rzeczy najbardziej potrzebne elementy to
    logika, teoria zbiorów i algebra. Nie trzeba żadnej zaawansowanej wiedzy, raczej
    ich przyswojenie i wejście w krew.
  • Gość: Katalizator IP: *.neoplus.adsl.tpnet.pl 06.09.09, 20:07
    Na przyklad tutaj potrzebna jest matma i programowanie w C++:

    www.mesco.com.pl
    Mysle, ze jest jeszcze bardzo duzo innych firm.
  • hermilion 09.09.09, 13:05
    Zasadniczo potrzebne są zdolności matematyczne, w tym
    umiejętność logicznego myślenia, modelowania i wnioskowania.

    Co do samej wiedzy matematycznej to jest to kwestia dyskusyjna,
    jest kilka działek informatyki gdzie przydaje się ona wprost,
    ale działanie to opiera się na zasadzie znajomości branży a nie
    programowania.

    Trzeba sobie bowiem powiedzieć że sama znajomość programowania
    w dowolnym języku przestaje wystarczać (a na zachodzie już dawno
    nie wystarcza) do zarabiania naprawdę poważnych pieniędzy.

    Obecnie firmy płacą dobrze programistom, którzy znają się na
    jakimś konkretnym temacie - przez co nie muszą wydawać kasy
    na dokładne tłumaczenie podstawowych zagadnień.

    Przykład - firma tworząca oprogramowanie kosztorysowe
    budowlane będzie szukała programisty ze znajomością
    kosztorysowania - nawet jak specem w programowaniu nie
    będzie - po prostu dlatego że napisze program szybko i wg
    cząstkowej specyfikacji omijając podstawowe pułapki.

    To samo się tyczy wykorzystania wiedzy matematycznej - jest
    potrzebna tam gdzie branża tego wymaga.
  • Gość: adamroman IP: *.chello.pl 13.09.09, 11:40
    Szanowny Panie,

    Zachecam do przeczytania mojego mini-eseju na temat roli matematyki w zawodzie
    informatyka. Znajdzie go Pan pod adresem

    www.ii.uj.edu.pl/~roman/teksty/SensownoscStudiowaniaTeorii.pdf
    Pomijając już zawarty w eseju najważniejszy argument dotyczący przydatności
    matematyki w pracy informatyka, można wyobrazić sobie kilka tzw. "przykładów z
    życia", w których matematyka się przydaje.

    1) Statystyka. Ma Pan dwa algorytmy rutowania pakietów w sieci, badamy średni
    czas dotarcia wszystkich pakietów do celu. Który algorytm jest lepszy? Zwykle
    algorytmy te trudno poddają się analizie, zwłaszcza dla skomplikowanych sieci.
    Wtedy należy zrobić eksperyment - zamodelować naszą sieć (np. w Ptolemy lub
    innym narzędziu tego typu), dodać oba algorytmy i przeprowadzić serię
    eksperymentów z użyciem jednego i z użyciem drugiego (każdy przykład na obu
    algorytmach). W samym modelu musi Pan też uwzględnić czasy nadchodzenia
    pakietów, a zatem musi Pan wiedzieć co to jest rozkład wykładniczy, rozkład
    Poissona itd. Niezbędna jest więc wiedza z teorii prawdopodobieństwa, a
    statystyka pomoże nam w stwierdzeniu, czy różnice w czasie działania tych
    algorytmów są istotne, czy też mogą być wynikiem błędów losowych.

    2) Teoria optymalizacji. Jest Pan kierownikiem projektu i zaprojektował Pan
    wszystkie czynności zespołu za pomocą grafu precedensji, określając czasy
    trwania poszczególnych czynności. Trzeba wyznaczyć ścieżkę krytyczną, aby móc
    określić obszary projektu, na których szczególnie należy się skupić (a także z
    paru innych istotnych z punktu widzenia zarządzania powodów). Z pomocą
    przychodzą metody optymalizacji.

    3) Metody sztucznej inteligencji. Projektuje Pan strategiczną grę komputerową, w
    której gracz może grać przeciwko komputerowi. Jak zaimplementować algorytm
    postępowania dla komputera? Jeśli to jest gra wojenna, należy wprowadzić np.
    odpowiedni model przewagi (tu w ogóle wchodzi też teoria wojny), sprytne
    algorytmy heurystyczne, które muszą wykorzystywać rachunek prawdopodobieństwa,
    działając w warunkach niepełnej informacji itd. Nie obejdzie się bez matematyki
    oraz całej wielkiej teorii nauczania maszynowego i algorytmów sztucznej
    inteligencji.

    4) Projektuje Pan algorytm, w którym musi Pan użyć jakiejś struktury danych
    modelującej dany byt. Oczywiście korzysta Pan z gotowych rozwiązań (są przecież
    biblioteki takich struktur), ale zwykle istnieje kilka rozwiązań - którą
    strukturę wybrać, żeby działała najbardziej efektywnie pod kątem zastosowań tej
    struktury w Pańskim projekcie? Tu z pomocą przychodzi wiedza wyniesiona z
    algorytmów i struktur danych.

    5) Testowanie oprogramowania. Żeby stworzyć DOBRY zestaw przypadków testowych,
    który spełnia odpowiednie kryterium pokrycia (np. grafowego, logicznego,
    rozgałęzień itd.) można oczywiście robić to "na czuja", jak to zwykle
    niedouczeni testerzy mają w zwyczaju, a można zabrać się za to metodycznie,
    używając teorii grafów, logiki, a nawet algebry liniowej (sic!). A jeśli
    stosujemy tzw. pair-wise testing? O, tu to już wchodzi w ogóle cała
    kombinatoryka i matematyka dyskretna, kwadraty łacińskie i inne tego typu
    sprawy. Można też oczywiście stworzyć algorytm genetyczny do generacji dobrego
    zestawu przypadków testowych, ale tu też potrzebna jest przynajmniej podstawowa
    wiedza z rachunku prawdopodobieństwa.

    Pomijam już sytuacje, w których pracuje się w firmie rozwijając jakiś pakiet
    obliczeniowy, statystyczny, "sztuczno-inteligencki" itp. Wtedy to w ogóle wiedzę
    matematyczną trzeba mieć już na poziomie profesjonalnym (najlepiej mieć
    skończone studia matematyczne).
  • allerune 13.09.09, 13:39
    Ciekawe spojrzenie. Widzę tutaj jednak pewien problem.

    Całe pokolenia informatyków w Polsce są kształcone na zasadzie:

    "Dzień dobry, nazwa przedmiotu to (tu nazwa przedmiotu), zaczynamy wykład.
    Definicja 1..."

    Potem z definicji jest kolokwium, czasem są jakieś zadania, które wszyscy uczą
    się rozwiązywać na zasadzie szablonów. Ja większość takich przedmiotów sobie
    odpuszczałem nie widząc najmniejszego sensu uczenia się ich. Bierze się testy z
    paru ostatnich lat, uczy paru definicji, paru standardowych zadań, może się uda
    zaliczyć za pierwszym razem.

    Gdyby ktoś mi powiedział, że w realnym świecie jest problem X, Y i Z i za pomocą
    wiedzy zawartej w danym przedmiocie będę w stanie go rozwiązać. Co więcej,
    gdybym dostał projekt każący mi rozwiązać jakiś problem i niejako przy okazji,
    musiałbym się nauczyć teorii, uczyłbym się tego z przyjemnością. Znałbym teraz
    teorię grafów, statystyka czy sztuczna inteligencja nie byłyby mglistym
    wspomnieniem (bardziej pamiętam lektury przerabiane w liceum).

    Ze znajomymi informatykamy mamy pewną teorię. Matematyka na uczelniach w Polsce
    jest pewnym sitem, czymś w rodzaju testu na inteligencję. Jeśli go zdałeś-jesteś
    godzien zostania mgr informatyki...

    ...nie trzeba być jednak mgr informatyki, aby być dobrym informatykiem,
    matematyka więc także nie jest tutaj niezbędna, chociaż zgodzę się, bywa przydatna
  • paktom 15.09.09, 20:19
    allerune napisał:

    > Potem z definicji jest kolokwium, czasem są jakieś zadania, które wszyscy uczą
    > się rozwiązywać na zasadzie szablonów. Ja większość takich przedmiotów sobie
    > odpuszczałem nie widząc najmniejszego sensu uczenia się ich. Bierze się testy z
    > paru ostatnich lat, uczy paru definicji, paru standardowych zadań, może się uda
    > zaliczyć za pierwszym razem.
    >
    > Gdyby ktoś mi powiedział, że w realnym świecie jest problem X, Y i Z i za pomoc
    > ą
    > wiedzy zawartej w danym przedmiocie będę w stanie go rozwiązać. Co więcej,
    > gdybym dostał projekt każący mi rozwiązać jakiś problem i niejako przy okazji,
    > musiałbym się nauczyć teorii, uczyłbym się tego z przyjemnością.
    Tu jest właśnie różnica między uniwerkiem który kończyłeś a polibudą. Na
    politechnice są zajęcia laboratoryjne i projekty, których jak widać na uniwerku
    nie mieliście.

    > Znałbym teraz
    > teorię grafów, statystyka czy sztuczna inteligencja nie byłyby mglistym
    > wspomnieniem (bardziej pamiętam lektury przerabiane w liceum).
    >
    > Ze znajomymi informatykamy mamy pewną teorię. Matematyka na uczelniach w Polsce
    > jest pewnym sitem, czymś w rodzaju testu na inteligencję. Jeśli go zdałeś-jeste
    > ś
    > godzien zostania mgr informatyki...
    >
    > ...nie trzeba być jednak mgr informatyki, aby być dobrym informatykiem,
    > matematyka więc także nie jest tutaj niezbędna, chociaż zgodzę się, bywa przyda
    > tna
    Matematyka to podstawa, przede wszystkim dyskretna, także algebra liniowa w
    mniejszym stopniu analiza matematyczna. Ale jak jesteś słaby z matematyki znaczy
    brak tobie umiejętności analitycznego myślenia i żaden z ciebie informatyk.
  • allerune 16.09.09, 10:54
    kończyłem polibudę łosiu :D
  • Gość: knx IP: *.bkl-bng-011.adsl.virginmedia.net 14.09.09, 00:02
    Fajny post. Duzo prawdy w nim jest aczkolwiek, przyklady 1-3 sa lekko
    naciagane bo sa to problemy bardziej inzynierskie niz
    programistyczne. Do tego sie uzywa specjalistycznego oprogramowania.
    Jednak sens zostal moim zdaniem oddany.
    Punkt 4 to sedno tematu. To jest rzecz absolutnie fundamentalna i
    odroznia programistow tzw kreatywnych od - jak ich nazywam -
    "programistow Javy" (1) tzn takich, ktorych praca sprowadza sie do
    wypelniania metod klas, ktore ktos im zaprojektowal.
    Co do przydatnosci matematyki posluze sie swoim przykladem. Pare lat
    temu wiedza ze log(x * y) = log(x) + log(y) pozwolila mi zaoszczedzic
    dla jednego z mych ex-pracodawcow kilka milionow dolcow, ktore to
    bylby musial zaplacic jako kary umowne za dostarczenie oprogramowania
    nie spelniajacego wymagan "predkosciowych".

    1) Nie mam nic do Javy to nawet calkiem fajny jezyk.
    2) W zadaniu z labiryntem natychmiast pomyslem o grafie, ale nie
    algorytmach DSF czy BSF, ale o algorytmie Dijkstry. Moge byc z siebe
    dumny czy to zbyt banalny problem?
  • geek123 01.02.19, 12:02
    Jeśli chcesz rozpocząć karierę w IT i szukasz wskazówek, to wejdź koniecznie na krystianbrozek.pl
    lub zapoznaj się z ofertą szkoleń na geek-on.pl

Nie pamiętasz hasła

lub ?

 

Nie masz jeszcze konta? Zarejestruj się