it-swarm.dev

Gibt es ein kanonisches Buch über Mathematik für Programmierer?

Ich bin ein Autodidakt. Ich bin ehrlich gesagt nicht gut in Mathe. Welchen Rat können Sie geben, um meine mathematischen Fähigkeiten zu verbessern, damit ich gegenüber meinen Programmierkollegen nicht so unsicher bin? Welche Schritte oder Richtlinien können Sie empfehlen, um meine mathematischen Fähigkeiten zu verbessern?

Gibt es ein Buch, das de facto der Standard für die Beschreibung von Best Practices, Entwurfsmethoden und anderen hilfreichen Informationen zur Mathematik für Programmierer ist? Was macht dieses Buch so besonders?

51
adietan63

Hmm, von dem, was du sagst, scheint es, dass du sehr einfach anfangen willst. Daran ist nichts Schlimmes, ich habe das Gleiche getan. Meine Mathematik war größtenteils auf Highschool-Niveau und vieles wurde vergessen.

Beginnen Sie mit Khan Academy , gehen Sie zum Übungsabschnitt und sehen Sie, wie weit Sie kommen können. Dies gibt Ihnen eine gute Vorstellung davon, was Sie tun können und wo Sie anfangen können zu lernen.

Sieh dir die Videos nicht an. Zumindest für mich sind Videos nur ein langsamer Weg zu lernen und Khans sind besonders langweilig. Es gibt viele andere Ressourcen, um grundlegende Mathematik zu lernen. Wie einige der WikiBooks oder ck-12

Die Frage wird häufig genug auf Math.StackExchange diskutiert. Wenn Sie nach "freien Ressourcen" oder "freien Büchern" suchen, erhalten Sie viele Informationen und Materialien. Gleiches gilt für Suchbegriffe wie "Start" oder "Anfänger". Oder stellen Sie dort Ihre eigene Frage. Das funktioniert auch im Unterabschnitt / r/math auf reddit. Dort finden Sie weitere Subreddits, zB zum Erlernen von Mathematik.

Übe viel. Es reicht nicht aus, nur ein Konzept zu verstehen und dann mit dem nächsten fortzufahren. Sie müssen sich wohl fühlen, um es anzuwenden. Sie werden Prozentsätze nicht verstehen, wenn Sie mit Division und Multiplikation (als Beispiel) nicht vertraut sind. Das gilt auch für höhere Konzepte. Deshalb ist für mich der Übungsabschnitt bei Khan weitaus wertvoller als die Videos.

Wie beim Programmieren bleiben Sie motiviert, wenn Sie mit der Community in Kontakt bleiben. Melden Sie sich einfach ab und zu in einem Forum an und lesen Sie, worüber die Leute sprechen.

24

Konkrete Mathematik: Eine Grundlage für Informatik (2. Auflage) wäre meine Wahl für ein gutes Mathematikbuch, das verschiedene Bereiche der Mathematik abdeckt und dem Buch etwas Humor verleiht, der nützlich sein könnte.

16
JB King

Pauls Online-Notizen von der Lamar University kommt in PDF Format. Es ist sehr gut zum schnellen Nachschlagen und es gibt Beispiele auf jeder Seite. Wenn ich mich jemals auf einem aktualisieren wollte Ich neige dazu, auf diese Seite zurückzukommen.

Hier ist das Set:

Algebra (Math 1314): vollständige Anmerkungen
Auflistung der Inhalte

  • Vorbemerkungen - Exponenteneigenschaften, rationale Exponenten, negative Exponenten, Radikale, Polynome, Faktorisierung, rationale Ausdrücke, komplexe Zahlen
  • Lösen von Gleichungen und Ungleichungen - Lineare Gleichungen, Quadratische Gleichungen, Vervollständigen des Quadrats, Quadratische Formel, Anwendungen linearer und quadratischer Gleichungen, Reduzierbar auf quadratische Form, Gleichungen mit Radikalen, Lineare Ungleichungen, Polynom- und rationale Ungleichungen, Absolutwertgleichungen und Ungleichungen.
  • Grafiken und Funktionen - Zeichnen von Linien, Kreisen und stückweisen Funktionen, Funktionsdefinition, Funktionsnotation, Funktionszusammensetzung, Inverse Funktionen.
  • Allgemeine Diagramme - Parabeln, Ellipsen, Hyperbeln, Absolutwert, Quadratwurzel, konstante Funktion, rationale Funktionen, Verschiebungen, Reflexionen, Symmetrie.
  • Polynomfunktionen - Teilen von Polynomen, Nullen/Wurzeln von Polynomen, Finden von Nullen von Polynomen, Zeichnen von Polynomen, Teilfraktionen.
  • Exponential- und Logarithmusfunktionen - Exponentialfunktionen, Logarithmusfunktionen, Lösen von Exponentialfunktionen, Lösen von Logarithmusfunktionen, Anwendungen.
  • Gleichungssysteme - Substitutionsmethode, Eliminierungsmethode, Augmented Matrix, Nichtlineare Systeme.

Kalkül I (Mathe 2413): getrennt in

  1. Auflistung der Inhalte
  2. Notizen
  3. Übungsprobleme
  4. Lösungen zum Üben von Problemen
  5. Zuordnungsprobleme

    • Algebra/Trig Review - Triggerfunktionen und Gleichungen, Exponentialfunktionen und Gleichungen, Logarithmusfunktionen und Gleichungen.
    • Grenzen - Konzepte, Definition, Datenverarbeitung, einseitige Grenzen, Kontinuität, Grenzen mit Unendlichkeit, L'Hospitals-Regel
    • Derivate - Definition, Interpretationen, Ableitungsformeln, Potenzregel, Produktregel, Quotientenregel, Kettenregel, Derivate höherer Ordnung, implizite Differenzierung, logarithmische Differenzierung, Ableitungen von Triggerfunktionen, Exponentialfunktionen, Logarithmusfunktionen, inverse Triggerfunktionen und hyperbolische Triggerfunktionen .
    • Anwendungen von Derivaten - Verwandte Raten, kritische Punkte, Minimal- und Maximalwerte, Erhöhen/Verringern von Funktionen, Wendepunkte, Konkavität, Optimierung
    • Integration - Definition, unbestimmte Integrale, bestimmte Integrale, Substitutionsregel, Bewertung bestimmter Integrale, Fundamentalsatz der Analysis
    • Anwendungen von Integralen - Durchschnittlicher Funktionswert, Fläche zwischen Kurven, Festkörper der Revolution, Arbeit.

Kalkül II (Mathe 2414) Vollständige Anmerkungen

Kalkül III (Mathe 2415) Vollständige Anmerkungen

Lineare Algebra (Math 2318) Vollständige Anmerkungen

Differentialgleichungen (Math 3301) Vollständige Anmerkungen

Sie können die Site auf den Rest der Themenlisten überprüfen.

10
phwd

Mir ist klar, dass dies kein Buch ist, aber ich denke, es könnte eine gute Möglichkeit sein, Ihr Denken über Mathematik zu erweitern. Versuchen Sie, die Project Euler-Probleme zu lösen .

Zum Beispiel der erste ist :

Wenn wir alle natürlichen Zahlen unter 10 auflisten, die Vielfache von 3 oder 5 sind, erhalten wir 3, 5, 6 und 9. Die Summe dieser Vielfachen beträgt 23.

Finden Sie die Summe aller Vielfachen von 3 oder 5 unter 1000.

8
Peter K.

Ich empfehle immer Kenneth Rosens Diskrete Mathematik und ihre Anwendungen . Es behandelt viele verschiedene Themen (wie jedes gute diskrete Mathematikbuch) mit einer guten Balance zwischen Theorie und Anwendung. Es hat auch viele interessante Seitenleisten für die Mathematiker und Informatiker, die die behandelten Konzepte entwickelt haben.

8
Bill the Lizard

Während das Lesen eines 1000 diskreten Mathematikbuchs eine gute Lösung ist, ist es möglicherweise nicht der optimale Weg, wenn die Zeit eine Einschränkung darstellt. Wenn Sie einen Geschmack haben möchten Wie viel Mathematik Sie haben sollten, ohne zu tief zu gehen, werfen Sie einen Blick in den Anhang A der Einführung des (cormen) Algorithmus-Buches : - http://www.acmsolver.org/books/Introduction%20to%20Algorithms,%202nd%20Ed%20-%20Thomas%20H.%20Cormen.pdf

Ich habe den Anhang gelesen und konnte besser verstehen, welche mathematischen Themen ich genauer prüfen sollte. Wenn Sie wissen, was Sie erwartet, werfen Sie einen Blick auf:

http://www.Amazon.com/Journey-into-Mathematics-Introduction-Proofs/dp/0486453065/ref=sr_1_15?ie=UTF8&qid=1308591694&sr=8-15 enter image description here

Meiner Meinung nach ist das Erlernen des Beweises (insbesondere durch Induktion) ein Eckpfeiler für das Verständnis der Analysealgorithmen . Leider konzentrieren sich die meisten Algorithmen und sogar CS-Mathematikkurse nicht zu sehr auf Beweise. Sie gehen bereits davon aus, dass Sie kompetent sind, sodass sie nicht über ein paar Seiten hinausgehen. Die Reise ins Mathematikbuch ist sehr klein und leicht zu lesen. Es verwendet auch CS-Probleme und deren mathematischen Aspekt. Andere gute Themen zu lernen ist Matrixarithmetik , Wahrscheinlichkeit , Zählen und Graphentheorie ebenfalls.

Die anderen beiden beliebten großen Lehrbücher: Diskrete Mathematik und ihre Anwendung von EPP (mein Favorit) und das andere von 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

Ich hatte nicht das Vergnügen, das Lehrbuch mit dem Titel " Concrete Mathematics " zu lesen, aber ich habe immer gute Dinge darüber gehört.

4
Armando

Wenn Sie CS-Mathematik richtig studieren, dann betrachten Sie Dinge wie mathematische Logik und Mengenlehre. Diese haben einige ziemlich komplizierte Mathe, die sie unterstützen. Wenn Ihr Grundniveau in Mathematik etwas schwierig ist, beginnen Sie am besten mit den Grundlagen, bevor Sie sich den CS-bezogenen Bereichen zuwenden.

Daher würde ich vorschlagen, dass Sie mit K.A. Strouds Technische Mathematik beginnen. Gut geschrieben, leicht zu befolgen und deckt die Grundlagen sowie fortgeschrittenere Dinge ab.

1
CdMnky

Ehrlich gesagt können Sie in vielen Bereichen ein vollkommen adäquater Programmierer sein, ohne über grundsätzlich sehr gute Kenntnisse der Mathematik zu verfügen. Sie sind vielleicht nicht sehr fähig, wenn es um Game-Engines oder die Optimierung des Netzwerk-Routings geht, aber um ehrlich zu sein, viele Geschäftsanwendungen sind ziemlich einfach. Ich möchte Sie jedoch ermutigen, die Hoffnung am Leben zu erhalten und die Mathematik noch nicht aufzugeben.

Es gibt einen großen Unterschied zwischen der Mathematik, die Sie auf einer niedrigeren Ebene lernen, und der Mathematik, die Sie auf einer höheren Ebene lernen. Es ist eine ganz andere Sache zu sagen, dass Sie schlecht in Calculus sind (ich war - ich habe Calc I beim ersten Mal nicht bestanden), als zu sagen, dass Sie schlecht in Graph Theory sind. Während Sie durch die Mathematik kommen, liegt der Fokus nicht auf einfachen Problemlösungen, die offen gesagt ziemlich langweilig und sich wiederholend sind und genauso gut von Ihrem Grafikrechner durchgeführt werden können. Stattdessen liegt der Fokus auf logischen Denkfähigkeiten: Das Erstellen von Beweisen ähnelt offen gesagt dem Schreiben von Software.

Die beste Matheklasse, die ich je hatte, war meine erste "echte" Matheklasse: im Grunde eine Einführung in die Proofklasse, die eine Reihe von Bereichen von der Graphentheorie bis zur Zahlentheorie abdeckte. Der Text, den wir verwendet haben, war großartig ( Mathematisches Denken: Problemlösung und Beweise von D'Angelo und West .) Es kann nützlich sein, nur dieses Buch durchzuarbeiten, um einige Ideen für angreifende Beweise zu erhalten.

Insgesamt brauchte ich wirklich etwas von der Mathematik, die ich am College gelernt habe? Nein wahrscheinlich nicht. Aber ein formaler Hintergrund gab mir bessere Fähigkeiten zum kritischen Denken, eine bessere Vorstellungskraft (es gibt normalerweise viele Möglichkeiten, ein Problem zu lösen, manchmal gut, manchmal schlecht, aber eine einzigartige Idee kann hilfreich sein) und Vertrauen in die Problemlösung.

1
Edward Thomson

Schau, ich bin gut in Mathe, aber ich benutze es wirklich überhaupt nicht zum Programmieren, und ich programmiere ziemlich viel. Mein Rat wäre einfach, sich daran zu gewöhnen, nicht genug zu wissen und jemanden die Mathematik für Sie machen zu lassen.

Es gibt so viele Dinge zu wissen, dass man nicht erwarten kann, überhaupt gut zu sein, aber insbesondere Mathematik ist nicht sehr nützlich.

Natürlich können Sie es brauchen, weil Ihre Programme wissenschaftlich sind, andernfalls nutzen Sie diese Zeit, um etwas Nützlicheres zu lernen.

1
Ando

Schauen Sie sich die Kursnotizen einiger (Anfänger-) Kurse aus dem Abschnitt "Logik & Berechnung" von ESSLLI an (als Beispiel das kommende Programm 2011 oder das Programm 201 , Suche nach mehr) kann interessant sein. Sie erhalten einen Eindruck von den aktuellen theoretischen Entwicklungen auf dem Gebiet der Programmierung. Dann können Sie sich entscheiden, die Grundlagen in einem bestimmten Teilbereich, der in diesen Kursen behandelt wird, genauer zu studieren.

(Andernfalls ist es schwierig, Ihre Frage zu beantworten. Es gibt so viele verschiedene "Mathematik", die Sie möglicherweise nicht wirklich benötigen oder an denen Sie interessiert sind. Ein Grund, warum sich die ESSLLI-Kurse für uns als interessant herausstellen können, ist, dass sie etwas Aktuelles widerspiegeln Forschung, also geht es darum, bestimmte Rätsel zu lösen; und der Versuch, ein bestimmtes Rätsel zu lösen, ist eine wichtige Komponente im Prozess des wirklichen Verständnisses einer Theorie, des Verstehens dessen, was das Interessante dahinter ist.)

Beginnen Sie mit den Grundlagen und gehen Sie dann zu den Fachgebieten über: Mathematician's Delight und Wie man es löst sind zwei großartige Bücher, um zu beginnen. Mathematician's Delight nähert sich auf menschenfreundliche und amüsante Weise grundlegenden mathematischen Themen (z. B. Geometrie, Algebra, Analysis usw.). Ich habe noch nicht gelesen, wie man es löst, aber es konzentriert sich darauf, wie man mathematische Probleme durch Argumentation angreift.

1
sakisk