Matematyka czysta a stosowana dla programistów [zamknięte]

13

Matematyka zawsze była moją rzeczą, ponieważ zawsze uważałem ten temat za łatwy. Informatyka to jednak moja druga miłość. Biorąc pod uwagę wybór, wolałbym studiować matematykę. Ponieważ jedyne kariery, które zwykle odbywałyby się z dyplomem z matematyki, w ogóle nie są atrakcyjne, byłbym bardzo zadowolony spędzając dni jako programista.

Moje pytanie brzmi: z jakiej dyscypliny matematycznej przyszły programista skorzystałby więcej? Zastosowana matematyka czy czysta matematyka?

Lubię się uczyć i jestem przekonany, że mogę nauczyć się, jak być świetnym programistą, ale nadal planuję zdobyć nieletnią w CS!

Joose
źródło
16
Jeśli zawsze uważałeś matematykę za „łatwą”, przypuszczam, że jeszcze nie zaszedłeś wystarczająco daleko.
Mark C
Powinienem powiedzieć, że jest łatwy w stosunku do tego, jak inni go znajdują.
Dołącz

Odpowiedzi:

12

Wszystko zależy od tego, co chcesz robić jako programista.

Jeśli chcesz wejść do grafiki, potrzebujesz mocnego tła w geometrii, algerbry liniowej, transformacji macierzy (fizyka też nie byłaby straszna) itp.

Jeśli chcesz przejść do SQL lub innych rodzajów programowania baz danych, niezbędna jest logika (dowody, prawa wnioskowania itp.) I matematyka dyskretna (może nawet rachunek lambda).

Ale ogólnie rzecz biorąc, im więcej matematyki stosowanej, tym lepiej.

Czysta matematyka byłaby lepsza w takich dziedzinach, jak opracowywanie algorytmów i programowanie teoretyczne. Może nawet programowanie mapowania map lub tym podobne.

Zasadniczo nie możesz się pomylić.

joe_coolish
źródło
Tworzenie gier nie zaszkodzi moim uczuciom, ale słyszę, że jest to trudne pole do popisu. I nie mogę sobie wyobrazić, że brak dyplomu CS pomógłby moim szansom.
Dołącz
Tworzenie gier jest bardzo konkurencyjne. Zdziwiłbyś się. Zwłaszcza ze wszystkimi popularnymi aplikacjami na iOS, Android i WP7. O wiele trudniej było się dostać (tak jak profesjonalni animatorzy 3D. To było moje marzenie przed CS), ale mobilna arena otworzyła nowe drzwi. Tak czy inaczej, z rozwojem oprogramowania, jeśli masz umiejętności znalezienia pracy, nie jest problemem. Kończę studia za 2 miesiące, a mój doradca powiedział mi, że nasz dział CS. ma 100% miejsca pracy dla absolwentów. Liczba ta jest typowa dla dużych uniwersytetów i CS
joe_coolish
4

Na jednym palcu mogę liczyć, ile razy musiałem używać matematyki bardziej skomplikowanej niż podstawowa algebra w każdym projekcie, nad którym pracowałem.

To naprawdę zależy od pola wejdziesz.

John Bode
źródło
Bardzo prawdziwe. Ale zaawansowana matematyka przydała się kiedyś i prawdopodobnie przyda się przynajmniej jeszcze raz, zanim przejdziesz na emeryturę. Gdzie moja podwodna klasa tkania koszy jeszcze się nie przydała w moim doświadczeniu. Zasadniczo im więcej matematyki, tym więcej narzędzi musisz rozwiązać problemy. Nigdy nie jest złym pomysłem, aby wziąć więcej matematyki
joe_coolish
I jest pewien stopień, w którym możesz nauczyć się potrzebnych rzeczy, kiedy ich potrzebujesz - szczególnie jeśli masz już silne zaplecze matematyczne. Studiowałem CompSci, ale kiedy w swojej pierwszej pracy musiałem znać geometrię sferyczną, poszedłem i spędziłem trochę czasu w bibliotece mojej starej uczelni, aby ją przeczytać.
Peter Taylor,
@joe_coolish Nie wiedziałeś? Szukają ekspertów w tej dziedzinie, którzy pomogliby w Underwater Basketweaving Simulator 2011.
Maks.
3

Programowanie jest stosowane matematyki. To powiedziawszy, nie wierzę, że to robi dużą różnicę. Zastosowana matematyka, którą wziąłem na stopień naukowy (matematyka), była przede wszystkim zorientowana na fizykę, która nie zrobiłaby wiele dla logiki wymaganej do programowania, ale świetnie sprawdza się w określaniu algorytmów.

Dave
źródło
2

Chyba poleciłbym jakąś równowagę.

Z pewnością warto znać podstawową teorię automatów, języki formalne, teorię informacji i podstawową matematykę dyskretną.

Jest również bardzo przydatny w wielu obszarach wymagających matematyki, aby znać rachunek różniczkowy, algebrę liniową, prawdopodobieństwo i statystykę.

Bardzo ważne jest również, aby uzyskać bezbłędną inżynierię oprogramowania, abyś wiedział, jak analizować problem i zaproponować szereg podejść do niego, z zaletami i wadami. Następnie będziesz w stanie przeprowadzić je z zespołem. Zrozum, jak ważna jest kontrola kodu źródłowego, łatwość konserwacji, odpowiednie testowanie i kontrola jakości oraz zarządzanie cyklem życia oprogramowania.

Widziałem bardzo inteligentnych ludzi, którzy byli nieśmiali w co najmniej jednym z tych obszarów i to zdecydowanie ich powstrzymuje. A jeśli są nauczycielami, powstrzymuje to swoich uczniów.

Mike Dunlavey
źródło
2

Obecnie kończę studia z czystej matematyki, ale spędziłem też dużo czasu pracując nad projektami z zakresu matematyki stosowanej. Chociaż każda dyscyplina wyznacza własne granice kulturowe, różnica między matematyką czystą a stosowaną jest często bardziej nieuchwytna, niż chcielibyśmy przyznać. Do niedawna w historii matematyki prawie całą matematykę nazywano teraz „matematyką stosowaną”. (Jeśli chcesz, podaj wyjątek dla teorii liczb.) Czasami również zmieniają się granice. Jedno z moich zainteresowań badawczych było motywowane ekstremalnie „stosowanym” problemem odpowiadającym faktycznemu układowi fizycznemu, ale rozwinęło się, aby objąć centralne techniki z półgrup i formalnej teorii języka, względnie „czyste” tematy. Pamiętaj, że nawet Gauss, książę czystej krwi, spędzał godziny na obliczaniu orbity Ceres ręcznie.

Bardzo trudno jest powiedzieć dużo więcej o swojej sytuacji bez konkretnych szczegółów na temat zajęć i możliwości badawczych, ale byłoby uczciwie powiedzieć, że zastosowana matematyka da ci znacznie więcej doświadczenia w programowaniu. Nie oznacza to, że nie ma problemów obliczeniowych w „czystej matematyce” (są!), Ale że nie zostaną one podkreślone, a ty będziesz musiał je poszukać na własną rękę. Z drugiej strony wydaje się, że większość ludzi ma łatwiejszy czas przejścia od czystego do stosowanego na odwrót. Jest tu wiele okazji do pomieszania zmiennych, ale to może dać ci przerwę.

Ostatecznie jedną z najbardziej przydatnych umiejętności, które można rozwijać jako licencjat, jest umiejętność określenia odpowiedzi na następujące pytania: „czego potrzebuję pistoletu do głowy, aby się uczyć?” Jeśli masz zainteresowania, które obejmują wiele dziedzin i uniemożliwiają wyczerpanie oferty kursów w każdym z nich, to pytanie powinno zmotywować wiele zajęć. Na przykład kocham teorię automatów, ale nigdy nie studiowałem teorii obliczeń, ponieważ mogłem po prostu przeczytać podręcznik dla przyjemności. (Nota bene: działa to tylko wtedy, gdy faktycznie czytasz podręcznik ). W geometrii różnicowej wiedziałem jednak, że tak naprawdę nigdy nie będę aredowany do posługiwania się symbolami Christoffela i tym podobnymi, chyba że będę miał pistolet do głowy w formie cotygodniowego quizu.

Powinieneś nauczyć się rozpoznawać własne skłonności i niechęci oraz przekierowywać je wokół nich.

wvoq
źródło
1

Zdecydowanie czysta matematyka. W szczególności dyskretna matematyka i logika matematyczna.

Wydział Matematyki Uniwersytetu Illinois ma interesujący program MS o nazwie Applied Math (teoria obliczeń). Jest to wspólny program między działem matematyki i działem CS. To może być coś, czego chcesz, ale jest to program dla absolwentów.

Paul Reiners
źródło
Jako student matematyki stosowanej (przynajmniej na uniwersytecie, do którego się wybieram) będę musiał wziąć dyskretną matematykę. Zauważyłem, że istnieje wiele kursów wymienionych zarówno jako Pure, jak i Applied.
Dołącz
Dyskretna matematyka jest niezbędna!
Morgan Herlocker,
1

Udało mi się uzyskać całkiem niezły stopień inżynierii oprogramowania ze stopniem matematyki obliczeniowej. Miałem szczęście, moja szkoła miała program specjalnie do tego, i było to połączenie CS i matematyki z naciskiem na matematykę, która wspierała CS (Discrete, Abstract Algebra, Graph Theory & Networks) i matematyki, która wymaga pomocy komputera (numerycznie analiza, algebra liniowa).

Sądzę, że to „czysta” matematyka, ale tak naprawdę nigdy o tym nie myślałem - była tak skoncentrowana na komputerach, że matematyka obliczeniowa była naprawdę dobrym opisem.

bethlakshmi
źródło
1

Jeśli myślisz o karierze finansowej: statystyki, analizy, PDE, symulacje Monte Carlo (i różne „matematyki (pseudo) losowości”), algebra.

quant_dev
źródło
Nie mam zamiaru pracować w branży finansowej. :)
Joose
Dobrze dla ciebie :)
quant_dev
++ Te są cenne nie tylko dla finansów.
Mike Dunlavey,
1

Myślę, że to zależy od tego, co chcesz zrobić. Zawsze zajmowałem się obliczeniami stosowanymi w nauce i inżynierii, więc matematyka stosowana jest większą częścią zestawu umiejętności. Dużo comp sci, wydaje mi się, że jest bardziej czysta matematyka, martw się, czy istnieje algorytm, który jest NP kompletny i wszystkie te rzeczy, nigdy nie wydawały mi się tak interesujące lub praktyczne. Jednak przybliżenie funkcjonalne, PDE, algebra liniowa itp. Zawsze było bardzo fundamentalne. Ale jeśli planujesz karierę w programowaniu ogólnym, podejrzewam, że te rzeczy nie zrobią wiele dla ciebie oprócz umiejętności myślenia o rozwoju.

Omega Centauri
źródło