1 Einführung
Dieses Kapitel gibt Ihnen einen kurzen Überblick über die Inhalte des Buches. Es stellt außerdem zwei Entwicklungsumgebungen vor und beschreibt die Problematik der Rundungsfehler. Eine Übersicht über die Schlüsselwörter von Python soll die erste Orientierung erleichtern. Zum Ende des Kapitels werden verschiedene Aspekte des Algorithmusbegriffs analysiert.
Wenn Sie in die Welt der Algorithmen eintauchen wollen, dann möchten Sie sicherlich auch lernen, wie Sie Algorithmen in ein Computerprogramm umsetzen können. Dazu müssen Sie eine Programmiersprache beherrschen. Bei der Auswahl einer Programmiersprache haben Sie unglaublich viele Möglichkeiten, denn es gibt inzwischen Hunderte Sprachen für unterschiedliche Einsatzgebiete.
Die Entscheidung ist zwar mit dem Titel des Buches bereits gefallen, sie lässt sich aber leicht begründen, denn Python ist laut PYPL-Index (PopularitY of Programming Languages) die aktuell beliebteste Programmiersprache (Juni 2024). Dafür gibt es gute Gründe, denn:
Python ermöglicht als interpretierende Programmiersprache eine interaktive Entwicklung von Programmen. Python ist deshalb für den Einstieg in das Programmieren besser geeignet als Compilersprachen, die erst in einem zweiten Schritt ausführbar gemacht werden.
Die Syntax von Python ist im Vergleich zu anderen Programmiersprachen relativ einfach zu erlernen.
Python ist durch Module (Softwarebibliotheken) erweiterbar. Das gilt zwar auch für viele andere Programmiersprachen. In Python gestaltet sich die Einbindung von Erweiterungsmodulen aber einfacher. Für numerische und symbolische Berechnungen sowie Computergrafik werden spezifische Module bereitgestellt, die ich Ihnen in diesem Buch vorstellen möchte.
Python steht kostenlos zur Verfügung und läuft auf den Betriebssystemen Windows, Linux und macOS.
Das Konzept
Wenn Sie eine Programmiersprache erlernen wollen, dann gibt es verschiedene Wege, die zum Ziel führen. Sie könnten die Dokumentation der Programmiersprache durcharbeiten und versuchen, mit den so erworbenen Kenntnissen eigene Programme zu schreiben. Dieser Weg ist zwar denkbar, aber dann müssen Sie sich durch eine unübersichtliche Vielfalt an Informationen arbeiten, denn die Python-Dokumentation und die Unterlagen der Zusatzmodule haben einen Umfang von mehreren Tausend Seiten. Tutorials für den Programmiereinstieg können dieses Problem zwar abfedern, die dort behandelten Beispiele haben aber in der Regel keinen direkten Bezug zu dem konkreten Programmierproblem, für das Sie sich gerade interessieren, und verlangen von Ihnen damit eine ziemlich schwierige Transferleistung.
Ich habe die Erfahrung gemacht, dass ein anderer Lernweg besser ist: Konzentrieren Sie sich auf konkrete Inhalte aus der Praxis des wissenschaftlichen Arbeitens, und üben Sie damit das Programmieren. Das Lernen orientiert sich dann nicht an der Fachsystematik der Programmiersprache, sondern an der Fachsystematik einer wissenschaftlichen Disziplin, die Sie idealerweise bereits kennen.
Doch welche Wissenschaft sollte man aus dem reichhaltigen Angebot wählen? Hier bietet sich die Mathematik an, weil sie als Grundlagenwissenschaft der Natur- und Ingenieurwissenschaften von allen Fachkundigen ohnehin beherrscht werden muss. Wenn Sie also das Erlernen einer Programmiersprache mit den Inhalten der Mathematik verknüpfen, dann beherrschen Sie am Ende nicht nur das Programmieren, sondern haben auch noch Ihre Mathematikkenntnisse vertieft.
Dieser Weg hat jedoch auch einen Nachteil: Wenn sich das Erlernen einer Programmiersprache an den Inhalten der Mathematik orientiert, dann werden zwangsläufig nicht alle Möglichkeiten erfasst, die die Syntax einer Programmiersprache bietet. Es gibt hier aber einen einfachen Ausweg: Sollten beim Programmieren Probleme auftreten, dann schlagen Sie gezielt die fehlenden Informationen in den entsprechenden Dokumentationen oder in einem einschlägigen Fachbuch nach. Wenn Sie bereits über grundlegendes Wissen verfügen, lässt sich nämlich viel zielgerichteter mit