Mathematik für Informatiker: Ausführlich erklärt mit vielen Programmbeispielen und Aufgaben
Was sind die besonderen Vorzüge des Buches? Die Vorteile als Mathematik -Buch seien kurz genannt: Die komplette Mathematik für ein Informatik-Studium ist enthalten: natürliche Zahlen, algebraische Strukturen, Zahlentheorie reelle und komplexe Zahlen Lineare Algebra Graphentheorie ...
- ISBN 3834818488
- Matthias Schubert
- Vieweg+Teubner Verlag
Was sind die besonderen Vorzüge des Buches?
Die Vorteile als Mathematik-Buch seien kurz genannt:
- Die komplette Mathematik für ein Informatik-Studium ist enthalten:
- natürliche Zahlen, algebraische Strukturen, Zahlentheorie
- reelle und komplexe Zahlen
- Lineare Algebra
- Graphentheorie
- Wahrscheinlichkeitsrechnung
- Statistik
- Leider wird Analysis nur sehr kurz behandelt und Differentialgleichungen fehlen völlig.
- Die Mathematik wird in angemessenem Abstraktionsgrad inhaltlich präzise dargestellt.
- Sämtliche Aussagen werden lückenlos bewiesen.
Diese Eigenschaften erwartet man von jedem Mathematik-Buch für Hochschulen und Universitäten, das einen Titel wie Mathematik für Informatiker trägt.
Was macht dann das Buch so einzigartig?
Der Untertitel des Buches verrät es: "Ausführlich erklärt mit vielen Programmbeispielen und Aufgaben"
Warum dies das Buch so treffend beschreibt, soll näher erläutert werden:
Es wird stets der Bezug zwischen den mathematischen Konzepten und Sätzen und den Algorithmen, die diese umsetzen, hergestellt. Dabei werden die Algorithmen in einer Ausführlichkeit besprochen, die für Lehrbücher selten ist. Dies ist kein Nachteil sondern gerade der Vorteil dieses Buches; es wird damit bestens den Interessen seiner Zielgruppe gerecht: Sie wird weniger Interesse an möglichst allgemeinen und eleganten Beweisen für mathematische Sätze haben oder an akademischen Diskussionen von darin enthaltenen Spitzfindigkeiten. Vielmehr ist es für den Informatiker wichtig, die Mathematik so weit zu durchdringen, dass man sie in Algorithmen umsetzen kann. Und genau diese Arbeitstechniken werden hier eingeübt:
- Wie entwickelt man einen Algorithmus zu einem Verfahren, das zunächst in eher mathematischer Sprache formuliert ist?
- Wie macht man einen geeigneten Trockentest, um den Algorithmus zu überprüfen?
- Warum erfüllt der Algorithmus seine Aufgabe in jedem Spezialfall?
Wer sich ausreichend Zeit nimmt und die ausführlichen Beispiele durcharbeitet, wird hier sehr schnell Lernerfolge verbuchen und die Arbeitstechniken zum Entwickeln von Algorithmen erlernen.
Dass die Programm-Beispiele stets in C++ vorgestellt werden, kann man nicht als Nachteil ankreiden: Oftmals ist C++ nicht die erste Programmiersprache, die man erlernt. Sie ist aber vielen anderen Programmiersprachen so ähnlich, dass es nicht schwer fallen sollte, die gezeigten Algorithmen zu verstehen und in einer anderen Sprache zu schreiben.
Welchen Fehler sollte man als Leser nicht machen?
Das Buch ist sehr umfangreich und wer einen komplexen Algorithmus oder ein Kapitel des Buches verstehen möchte, muss etwa 20 bis 50 Seiten durcharbeiten. Wer glaubt, hier schnell voranzukommen, indem man oberflächlich über den Text hinwegfliegt, wird keinerlei Lernerfolg verspüren.
Stattdessen sollte man sich tatsächlich mehrere Stunden Zeit nehmen und gründlich arbeiten, etwa:
- Die Rechenaufgaben zum Einüben der Konzepte lösen.
- Versuchen, den Algorithmus selber in Pseudocode zu formulieren.
- Sich selber abfragen, ob man alle Schritte des Algorithmus in der richtigen Reihenfolge wiedergeben kann.
- Einen Trockentest selbständig durchführen.
- Versuchen, den Quelltext zu einem Algorithmus selber zu schreiben und zu testen.
- Sich Varianten für einen Algorithmus überlegen und realisieren.
Nur wer sich für derartige Aufgaben ausreichend Zeit nimmt, wird die Arbeitstechniken eines Informatikers und gleichzeitig die zugehörige Mathematik erlernen.
Für wen ist das Buch geeignet?
Wie der Titel behauptet, ist das Buch zunächst für Informatiker gedacht und deckt den Mathematik-Stoff ab, der typischerweise im Laufe eines Informatik-Studiums – egal ob an einer Hochschule oder Universität – vermittelt wird und der heute von einem Informatiker vorausgesetzt wird.
Es sind aber auch andere Zielgruppen zu nennen, die dieses Buch mit großem Gewinn lesen können:
- Programmierer, die in ihrer Ausbildung nicht oder nur oberflächlich mit höherer Mathematik konfrontiert wurden und die sich vermutlich schwer entschließen können ein reines Mathematik-Buch zu lesen. Sie können hier über die Besprechung der Algorithmen einen leichten Zugang zur Denk- und Arbeitsweise der Mathematik finden. Ein Blick in das Inhaltsverzeichnis wird diese Zielgruppe auch schnell davon überzeugen, dass hier keine abstrakten akademischen Gedankenspiele betrieben werden, sondern konkrete Anwendungen vorgestellt werden.
- Auch für Mathematiker oder Naturwissenschaftler, die die behandelte Mathematik bereits kennen, mag dieses Buch interessant sein. Denn wer sich entschließt, eine Programmiersprache zu lernen, merkt schnell, dass man dies nicht im luftleeren Raum tun kann – damit ist gemeint, dass man zwar die Syntax und die Konzepte einer Programmiersprache erlernen muss, diese aber irgendwann an konkreten Aufgabenstellungen ausprobieren muss. In reinen Informatik-Lehrbüchern werden dann oft nichtssagende Beispiele mit
foo
,bar
undbaz
besprochen, die aber meist nur dem geübten Programmierer die behandelten Konzepte veranschaulichen. Für den Anfänger ist es viel wichtiger, sich erst in eine Fragestellung hineinzudenken und sie dann in Quelltext umzusetzen. Wer also schon die Grundregeln einer Programmiersprache beherrscht und- Anregungen sucht, tatsächliche Probleme zu lösen, oder
- Arbeitstechniken zum Entwickeln von Algorithmen erlernen möchte,
wird hier zahlreiche relevante Anwendungen finden.
Was ist negativ?
Die Typographie lässt sich zweifellos verbessern: Es gibt zahlreiche Mathematik-Bücher, die mit identischen Symbolen arbeiten und diese besser lesbar darstellen (Beispiele sind Konstrukte mit ∀ und ∃ oder Formeln, in denen Oberstriche wie bei der Verneinung eingesetzt werden.)
Gesamtbewertung
Egal, ob man sich von der Seite der Mathematik oder des Programmierens annähert: Sehr empfehlenswert — sofern man bereit ist, mit dem Buch zu arbeiten.