Jestem programistą-samoukiem. Naprawdę nie jestem dobry z matematyki. Jaką radę możesz udzielić, aby poprawić moje umiejętności matematyczne, abym nie był tak niepewny wobec innych programistów? Jakie kroki lub wytyczne możesz zalecić, aby poprawić moje umiejętności matematyczne?
Czy istnieje książka, która jest de facto standardem opisującym najlepsze praktyki, metodologie projektowania i inne pomocne informacje dla matematyki dla programistów? Co z tą książką czyni ją wyjątkową?
Odpowiedzi:
Hmm, z tego, co mówisz, wydaje się, że chcesz zacząć od podstaw. Nic złego w tym, zrobiłem to samo. Moja matematyka była głównie na poziomie szkoły średniej i wiele z niej zostało zapomnianych.
Zacznij od Khan Academy , przejdź do sekcji ćwiczeń i sprawdź, jak daleko możesz się posunąć. To da ci dobry pomysł, co możesz zrobić i od czego zacząć naukę.
Nie zawracaj sobie głowy oglądaniem filmów. Przynajmniej dla mnie filmy to tylko powolny sposób na naukę, a filmy Khana są wyjątkowo nudne. Istnieje wiele innych zasobów do nauki podstawowych matematyki. Jak niektóre WikiBooks lub ck-12
Pytanie jest omawiane na Math.StackExchange wystarczająco często, a poszukiwanie „bezpłatnych zasobów” lub „bezpłatnych książek” przyniesie wiele informacji i materiałów. To samo dotyczy wyszukiwanych haseł, takich jak „start” lub „początkujący”. Lub zadaj tam własne pytanie. Działa to również w podsekcji / r / matematyki na reddit. Tam znajdziesz więcej subreddits, np. Do nauki matematyki.
Dużo ćwiczyć. Nie wystarczy po prostu zrozumieć koncepcję, a następnie przejść do następnego. Musisz się czuć swobodnie, aby go zastosować. Nie zrozumiesz wartości procentowych, jeśli nie podoba ci się podział i mnożenie (jako przykład). Dotyczy to również wyższych koncepcji. Dlatego dla mnie sekcja ćwiczeń w Khan jest znacznie cenniejsza niż filmy.
Podobnie jak w przypadku programowania, utrzymywanie kontaktu ze społecznością zapewni ci motywację. Po prostu od czasu do czasu loguj się na forum i czytaj, o czym mówią ludzie.
źródło
Konkretna matematyka: podstawa informatyki (wydanie drugie) byłaby moim wyborem na dobrą książkę o matematyce obejmującą różne obszary matematyki wraz z odrobiną humoru do książki, która może być przydatna.
źródło
Internetowe notatki Paula z Uniwersytetu Lamar są w formacie PDF. Jest bardzo dobry do szybkiego odwoływania się, a na każdej stronie znajdują się przykłady. Jeśli kiedykolwiek chciałem odświeżyć się na jakiś temat lub coś pojąć, zwykle wracam na tę stronę.
Oto zestaw:
Algebra (Mat. 1314): Pełna lista notatek
Spis treści
Rachunek I (Mat. 2413): podzielony na
Problemy z przypisaniem
Rachunek II (Mat. 2414) Pełne notatki
Rachunek III (Mat. 2415) Pełne notatki
Algebra liniowa (matematyka 2318)
Równania różniczkowe (Mat. 3301) Pełne uwagi
Możesz sprawdzić witrynę pod kątem reszty list tematów.
źródło
Zdaję sobie sprawę, że to nie jest książka, ale myślę, że może to być dobry sposób na poszerzenie twojego myślenia o matematyce. Spróbuj rozwiązać problemy z Project Euler .
Na przykład pierwszy to :
źródło
Zawsze polecam dyskretną matematykę Kennetha Rosena i jej zastosowania . Obejmuje wiele różnych tematów (jak każda dobra książka Discrete Math) z dobrą równowagą teorii i zastosowania. Ma również wiele interesujących pasków bocznych dla matematyków i informatyków, którzy stworzyli omawiane pojęcia.
źródło
Podczas gdy czytanie 1000 odrębnych książek matematycznych jest dobrym rozwiązaniem, może nie być optymalną ścieżką, jeśli czas jest ograniczeniem. Jeśli chcesz posmakować, ile matematyki powinieneś mieć, nie wchodząc w głąb, zapoznaj się z dodatkiem A do wprowadzenia książki o algorytmach (cormen) : http://www.acmsolver.org/books/ Wprowadzenie% 20to% 20 Algorytmy,% 202.% 20Ed% 20-% 20 Thomas% 20H.% 20Cormen.pdf
Przeczytałem dodatek i dzięki temu lepiej zrozumiałem, jakie tematy matematyczne powinienem bardziej przejrzeć. Gdy wiesz, czego się spodziewać, spójrz na:
http://www.amazon.com/Journey-into-Mathematics-Introduction-Proofs/dp/0486453065/ref=sr_1_15?ie=UTF8&qid=1308591694&sr=8-15
Moim zdaniem nauka dowodzenia (szczególnie przez indukcję) jest podstawą zrozumienia algorytmów analizy . Niestety większość algorytmów, a nawet kursów matematyki CS, nie koncentruje się zbytnio na dowodach. już zakładają, że jesteś w tym kompetentny, więc nie wykraczają poza kilka stron. Książka Podróż do matematyki jest bardzo mała i łatwa do odczytania. Wykorzystuje problemy CS i ich aspekt matematyczny. Inne dobre tematy do nauczenia to arytmetyka macierzy , prawdopodobieństwo , liczenie i teoria grafów .
Pozostałe dwa popularne duże podręczniki: Dyskretna matematyka i jej zastosowanie z EPP (mój ulubiony) i drugi z Rosen.
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0534359450/ref=sr_1_4?ie=UTF8&qid=1308591784&sr=8-4
http://www.amazon.com/Discrete-Mathematics-Applications-Kenneth-Rosen/dp/0073229725/ref=sr_1_1?ie=UTF8&qid=1308591784&sr=8-1
Nie miałem przyjemności czytać podręcznika zatytułowanego „ Konkretna matematyka ”, ale zawsze słyszałem o tym dobre rzeczy.
źródło
Szczerze mówiąc, możesz być doskonale odpowiednim programistą w wielu dziedzinach bez zasadniczo bardzo silnej wiedzy matematycznej. Możesz nie być bardzo zdolny, jeśli chodzi o silniki gier lub optymalizację routingu sieciowego, ale prawdę mówiąc, wiele aplikacji biznesowych jest dość prosta. Chciałbym jednak zachęcić was do podtrzymania nadziei przy życiu i jeszcze nie rezygnacji z matematyki.
Istnieje różnica między matematyką, którą bierzesz na niższym poziomie, a matematyką na wyższym poziomie. Zupełnie inną rzeczą jest stwierdzenie, że jesteś zły na rachunku różniczkowym (ja byłem - nie zdałem kalkulatora I za pierwszym razem, gdy go wziąłem) niż stwierdzenie, że jesteś zły na teorii grafów. W miarę postępów w matematyce nie skupiamy się na prostym rozwiązywaniu problemów, które są szczerze mówiąc nudne i powtarzalne, i które równie dobrze można wykonać za pomocą kalkulatora graficznego. Zamiast tego nacisk kładziony jest na umiejętność logicznego myślenia: tworzenie dowodów jest szczerze podobne do oprogramowania do pisania.
Najlepsza klasa matematyczna, jaką kiedykolwiek miałem, była tym, co uważałem za moją pierwszą „prawdziwą” klasę matematyki: w zasadzie wprowadzenie do klasy dowodów, która obejmowała szereg obszarów od teorii grafów do teorii liczb. Tekst, który wykorzystaliśmy był świetny ( Myślenie matematyczne: rozwiązywanie problemów i dowody autorstwa D'Angelo i Westa ). Może się przydać po prostu przejrzenie tej książki, aby uzyskać pomysły na atak dowodów.
Ogólnie, czy naprawdę potrzebowałem matematyki na studiach? Nie, prawdopodobnie nie. Ale posiadanie jakiegoś formalnego zaplecza dało mi lepsze umiejętności krytycznego myślenia, lepszą wyobraźnię (zazwyczaj istnieje wiele sposobów rozwiązania problemu, czasem dobrze, czasem źle, ale unikalny pomysł może być pomocny) i pewność w rozwiązywaniu problemów.
źródło
Słuchaj, jestem dobry z matematyki, ale tak naprawdę wcale go nie używam do programowania i programuję całkiem sporo. Moja rada po prostu przyzwyczai się do tego, że nie wiem wystarczająco dużo i każę komuś zrobić matematykę.
Jest tak wiele rzeczy do poznania, że nie można oczekiwać, że w ogóle będą dobre, ale matematyka w szczególności nie jest zbyt przydatna.
Oczywiście możesz tego potrzebować, ponieważ twoje programy są czymś naukowym, w przeciwnym razie wykorzystaj ten czas, aby nauczyć się czegoś bardziej przydatnego.
źródło
Interesujące mogą być notatki z niektórych kursów (dla początkujących) z sekcji „Logika i obliczenia” ESSLLI (na przykład nadchodzący program na 2011 r. Lub program na 2010 r. , Szukaj więcej). Daje to wrażenie na temat aktualnych osiągnięć teoretycznych w dziedzinie związanej z programowaniem. Następnie możesz zdecydować się na głębsze zbadanie podstaw w pewnym polu podrzędnym dotkniętym na tych kursach.
(W przeciwnym razie trudno odpowiedzieć na twoje pytanie, istnieje tak wiele różnych „matematyki”, które mogą być naprawdę niepotrzebne lub zainteresowane. Jednym z powodów, dla których kursy ESSLLI mogą być dla nas interesujące, jest to, że odzwierciedlają niektóre aktualne badań, więc chodzi o rozwiązywanie niektórych zagadek; a próba rozwiązania określonej zagadki jest ważnym elementem w procesie prawdziwego zrozumienia teorii, zrozumienia, co jest za nią interesujące).
źródło
Jeśli właściwie studiujesz matematykę CS, to patrzysz na takie rzeczy jak logika matematyczna i teoria mnogości. Oto niektóre dość matematyczne matematyki, które je wspierają. Dlatego jeśli twój podstawowy poziom matematyki jest nieco ryzykowny, najlepiej zacznij od podstaw, zanim przejdziesz do obszarów bardziej związanych z CS.
Dlatego proponuję zacząć od matematyki inżynierskiej KA Strouda . Dobrze napisane, łatwe do naśladowania i obejmujące podstawy, a także bardziej zaawansowane rzeczy.
źródło
Zacznij od podstaw, a następnie przejdź do specjalizacji: Rozkosz matematyka i Jak ją rozwiązać, to dwie świetne książki na początek. Rozkosz matematyka podchodzi do podstawowych zagadnień matematycznych (np. Geometrii, algebry, rachunku różniczkowego itp.) W sposób przyjazny dla człowieka i zabawny. Nie czytałem jeszcze, jak to rozwiązać, ale koncentruje się na tym, jak atakować problemy matematyczne poprzez rozumowanie.
źródło