Jestem programistą stron internetowych, który chce poszerzyć swój zestaw umiejętności o matematykę związaną z programowaniem.
Jako druga kariera utknąłem na studiach, spełniając niektóre wymagania podczas pracy.
Miałem nadzieję, że moje wykształcenie nauczy mnie niezbędnych umiejętności stosowania matematyki, jednak szybko okazuje się, że jest to zbyt łatwe do przetestowania podejście oparte na szerokości, bardzo nieefektywne dla zainwestowanego czasu.
Na przykład w mojej klasie rachunku 2 jedyne zdalnie użyteczne poszerzanie umysłu, jakie miałem, to objętości i obszary pod krzywą. Reszta to po prostu monotonna gloryfikowana algebra, która, choć przychodzi mi łatwo, może być wykonana przez oprogramowanie takie jak wolfram alfa w ciągu kilku sekund. To nie jest mój pomysł uczenia się matematyki.
Więc jestem sfrustrowanym studentem szukającym sposobu na lepsze zrozumienie matematyki w sposób, który koncentruje się na zastosowaniu, zrozumieniu i maksymalnie usuniętym niepotrzebnym nudy.
Jednak nie mogę znaleźć dobrej długoterminowej strategii badań z takim podejściem.
Więc dla osób o podobnych umysłach, jak poszedłbyś na naukę niezbędnej matematyki, nie martwiąc się zbytnio o rzeczy, które komputer może zrobić znacznie lepiej?
Zdajesz sobie sprawę z różnicy między matematyką a matematyką, której uczą cię w szkole .
Jest to doskonale opisane w Lamentie matematyka Paula Lockharta. Podobne odczucia wyraża Conrad Wolfram w swoim przemówieniu TED, Nauczanie dzieci prawdziwej matematyki na komputerach .
Większość matematyki potrzebnej w „życiu” była nauczana w szkole podstawowej (np. Jak obliczyć napiwek w głowie). Matematyki, której będziesz używać w swojej pracy, może uczyć twój uniwersytet, jeśli wybierasz się na dziedzinę wymagającą rachunku różniczkowego lub innej zaawansowanej matematyki - ale większość programistów nie używa rachunku różniczkowego na co dzień (ponieważ większość programistów kończy pisać aplikacje biznesowe , a nie jakąś dziedzinę inżynierii lub nauki).
Niezależnie od tego wiele matematyki, której się uczysz, nie będzie dotyczyć ciebie. I wiele z tego, co robisz podczas nauki, to obliczenia. Czy kiedykolwiek zostanie to naprawione? To zależy od ciebie i reszty twojego pokolenia (i wszystkich przyszłych pokoleń) do podjęcia decyzji.
źródło
Jestem na podobnej łodzi i do tej pory cieszę się www.projecteuler.net :
Są to problemy, które rozwiązujesz przy programowaniu, ale większość z nich ma na celu nauczyć cię (lub musisz nauczyć się) konkretnej matematyki, aby ją rozwiązać. Pomaga nauczyć się ciekawostek matematycznych, które możesz zastosować podczas programowania.
Innym doskonałym źródłem informacji jest http://www.khanacademy.org/#calculus
KhanAcademy to znacznie więcej niż tylko świetnie zrobione filmy, ma też cały system ćwiczeń, aby Cię przetestować. Zobacz http://www.khanacademy.org/about
źródło
Nie wspominasz o tym, jakiego rodzaju programujesz lub jesteś zainteresowany. Jeśli interesujesz się naukami obliczeniowymi, potrzebujesz tego tła rachunku, wszystkich 3 semestrów, algebry liniowej, równań różniczkowych, analizy numerycznej, aby wymienić kilka. Ponadto będziesz potrzebować wszystkich wymagań w zakresie nauki, fizyki, biologii, chemii. Istnieje inna gałąź matematyki stosowanej w teorii systemów komunikacyjnych. Tam poznasz teorię liczb, teorię kodowania algebraicznego, kryptografię, matematyczne aspekty teorii systemów, zastosowaną analizę Fouriera i prawdopodobnie są jeszcze inne.
Jeśli interesujesz się bazami danych takimi jak ja, studiuję matematykę stosowaną dla specjalistów baz danych. Kiedy to skończę, zajmę się tym, co pasuje do moich upodobań, prawdopodobnie CJ Date, a także teorią zbiorów i teorii grup.
Aby odpowiedzieć na pytanie, jak opracować plan studiów, zbadaj różne uniwersytety i zobacz, co oferują w dziedzinie informatyki lub matematyki stosowanej. Uniwersytety publikują wymagania dotyczące stopnia naukowego. Prawdopodobnie możesz znaleźć wszystkie kursy online, zwykle z filmami, zestawami problemów i prawdopodobnie możesz znaleźć książkę przez Amazon. MIT ma Open Courseware, Harvard i Berkeley także kursy online. Sprawdź także OpenStudy, może istnieć grupa analityczna utworzona dla klasy, którą chcesz wziąć.
Kiedy potrzebujesz wiedzy i nie chcesz zadłużać się na studia magisterskie, samouczenie się to świetny sposób.
źródło
Jeśli chcesz robić algorytmy w ogóle, pomocne mogą być kursy matematyki skończonej i algebry abstrakcyjnej (lub możesz po prostu wziąć udział w kursie algorytmów ...). Skończona matematyka pomoże również w kodowaniu, szyfrowaniu i wielu innych domenach algorytmów obliczeniowych. Powinieneś rzucić okiem na sztukę programowania komputerowego Knutha , choćby jako wskaźnik do matematyki, która może ci się przydać.
Jeśli chcesz wykonywać dzielenie liczb (coś, co będzie korzystało z rachunku różniczkowego i algebry liniowej), przejrzyj najnowszą edycję Przepisów numerycznych . Polecam również Obliczenia macierzowe Goluba i van Loana jako bardziej matematycznie poprawny tekst na temat obliczeniowej algebry liniowej.
Ogólnie rzecz biorąc, jeśli istnieje domena aplikacji, którą jesteś zainteresowany, powinieneś odwiedzić bibliotekę i przejrzeć książki na ten temat, aby znaleźć rodzaj matematyki, którego potrzebują. Może nie być dostępny konkretny kurs na ten temat, ale nie powinieneś na to pozwolić. Zdolność do wyśledzenia i zdobycia wiedzy z własnej inicjatywy jest jedną z najcenniejszych umiejętności, jakie możesz zdobyć: gdyby to była jedyna rzecz, której nauczyłeś się w szkole, Twój czas i pieniądze byłyby nadal dobrze wydane.
źródło