
Kurze Begrüßung und Hinweise zum Seminarinhalt
Sie erfahren, aus welchen Quellen Sie Python 3 beschaffen und korrekt auf Ihrem Windows-Rechner installieren. Zum Nachlesen finden Sie im Begleitmaterial eine dazugehörige PDF-Dokumentation.
Sie erfahren, aus welchen Quellen Sie Python 3 beschaffen und korrekt auf Ihrem Mac-Rechner installieren. Zum Nachlesen finden Sie im Begleitmaterial eine dazugehörige PDF-Dokumentation.
Sie erfahren, aus welchen Quellen Sie Python 3 beschaffen und korrekt auf Ihrem Linux-Rechner installieren. Zum Nachlesen finden Sie im Begleitmaterial eine dazugehörige PDF-Dokumentation.
Lernen Sie IDLE kennen. Das ist die grafische Python-Shell, in der Sie Python-Programme erstellen können. Wir nutzen sie vor allem, um kleinere Experimente auszuführen und die grundlegenden Befehlen von Python kennenzulernen.
Die Kenntnis von Datentypen ist für die Programmierung elementar. Lernen Sie, was Datentypen sind und weshalb deren Kenntnis so wichtig ist.
Hier lernen Sie den Python-Datentypen für ganze Zahlen kennen. Lernen Sie, wie Sie ganze Zahlen im Programmcode notieren, welchen Wertebereich ganze Zahlen in Python haben und welche Operationen darauf definiert sind.
Hier lernen Sie den Python-Datentypen für Gleitkommazahlen kennen. Lernen Sie, wie Sie Gleitkommazahlen im Programmcode notieren, welchen Wertebereich Gleitkommazahlen in Python haben und welche Operationen darauf definiert sind.
Hier lernen Sie den Python-Datentypen fürZeichenketten kennen. Lernen Sie, wie Sie Zeichenketten im Programmcode notieren und welche Operationen darauf definiert sind.
Wir brauchen Variablen, um Werte im Hauptspeicher ablegen und verarbeiten zu können. Lernen Sie, wie Sie Variablen erzeugen, benennen und einsetzen.
Daten unterschiedlichen Typs sind nicht immer kompatibel. Lernen Sie, welche Typumwandlungen Python automatisch vornimmt und wie Sie Python bei Bedarf dazu zwingen.
Damit die selbständig ausführbare Python-Programme schreiben können, müssen Sie sie als Skripten speichern.
Jedes sinnvolle Programm liest Daten ein, um sie zu verarbeiten. Lernen Sie, mit Ihren Programmanwendern zu kommunizieren und Daten interaktiv in Ihre Programm einzulesen.
Ausgaben sollen schön aussehen, Zahlen wollen tabelliert und rechtsbündig ausgegeben werden usw. - Lernen Sie, wie Sie dies in Python ganz einfach bewerkstelligen.
Übungsaufgaben
Präsentation der Musterlösung zu Übungsaufgabe 1
Präsentation der Musterlösung zu Übungsaufgabe 2
Damit Python-Programme portabel ausgeführt werden können, sind verschiedene Dinge zu beachten. Lernen Sie die Fallstricke kennen und in Ihrem Programmen zu vermeiden.
Neben der interaktiven Eingabe ist es oft hilfreich, einem Programm bereits bei dessen Aufruf die Daten mitzugeben, die es verarbeiten soll.
Übungsaufgabe
Präsentation der Musterlösung zu Übungsaufgabe 3
Listen, in vielen anderen Programmiersprachen Arrays genannte, sind eine elementare Datenstruktur in der Informatik.
Lernen Sie Wiederholungen mit Hilfe der for-Schleife zu programmieren.
Wahrheitswerte, auch boolesche Werte genannt, werden benötigt, um Bedingungen zu formulieren. In Abhängigkeit dieser Bedingungen können Sie dann den Programmablauf steuern.
Die if-Anweisung ist eine Fallunterscheidung. Mit ihrer Hilfe können Sie, in Abhängigkeit von Bedingungen, alternative Programmausführungen steuern.
Die while-Schleife wird zur Wiederholung immer dann verwendet, wenn die erforderliche Anzahl von Wiederholungen nicht bereits durch "Scharfes Hinsehen" ermittelt werden kann.
Sonderzeichen, die nicht über die Tastatur eingegeben werden können, werden als so genannte Escape-Sequenzen notiert.
Die Standardeingabe ist sehr flexibel. Mit Hilfe deren Umlenkung oder mit Hilfe von Piper können Sie verschiedene Programme flexibel mit großen Datenmengen versorgen und diese Programme während der Ausführung miteinander verknüpfen.
Übungsaufgaben
Präsentation der Musterlösung zu Übungsaufgabe 4
Präsentation der Musterlösung zu Übungsaufgabe 5
Präsentation der Musterlösung zu Übungsaufgabe 6
Erfahren Sie, was Datenstrukturen sind.
Vorstellung der Datenstruktur "Tupel"
Vorstellung der Datenstruktur "Dictionary", die in vielen Programmiersprachen auch als assoziative Arrays bezeichnet werden
Mengen sind vielfach praktisch einzusetzen. Lernen Sie deren Eigenschaften kennen.
Matrizen sind grundlegend für viele mathematische Aufgabenstellungen.
Beispiel für die Verwendung einer Liste mit Wahrheitswerten.
Beispiel für die Verwendung einer Liste bei der die Inhalte als Verweise auf andere Listenelemente genutzt werden.
Lernen Sie, einen einfachen Automaten zu implementieren.
Bei der Zuweisung von Strukturen müssen wir Obacht geben. Nicht immer ist eine einfache Zuweisung das, was wir erreichen wollen. Lernen Sie, wie Sie unerwünschte Nebeneffekte vermeiden.
Übungsaufgaben
Präsentation der Musterlösung zu Übungsaufgabe 7
Präsentation der Musterlösung zu Übungsaufgabe 8
Präsentation der Musterlösung zu Übungsaufgabe 9
Präsentation der Musterlösung zu Übungsaufgabe 10
Strukturieren Sie Ihren Programmcode in wiederverwendbare Einheiten.
Einfaches Beispiel dafür, wie Funktionen sich selbst wiederholt aufrufen können - Vergleich von rekursiven und interaktiven Verfahren
Komplexere Beispiel für Rekursen
Fassen Sie Funktionen zu Modulen zusammen, die in separaten Dateien gespeichert werden und so in unterschiedlichen Programmen genutzt werden können.
Module können thematisch zusammengefasst werden. Wir organisieren Sie daher in so genannten Packages.
Übungsaufgabe
Präsentation der Musterlösung zu Übungsaufgabe 11
Fehler können auftreten - sie sollten jedoch nicht gleich dazu führen, dass unser Programm abstürzt. Lernen Sie, wie Sie eine solche Ausnahme-Behandlung nutzen.
Definieren Sie eigene Ausnahmen, die spezifisch für Ihre eigenen Programme und deren Aufgabenstellung sind.
Übungsaufgabe
Präsentation der Musterlösung zu Übungsaufgabe 12
PyCharm ist eine professionelle Entwicklungsumgebung für die Python-Programmierung. In der Community Edition können Sie PyCharm kostenlos nutzen.
Erfahren Sie, warum wir objektorientiert programmieren wollen, was damit bezweckt wird, was Objektorientierung auszeichnet.
Implementieren Sie Ihre erste eigene Klasse.
Ein Anwender Ihrer Klassen braucht nicht zu wissen, wie diese funktionieren. Es reicht, wenn er weiß, wie die Klasse zu nutzen ist. Sichern Sie Ihre Implementierungen vor Fehlbedienungen, indem Sie sie absichern und "geheime" Implementierungsdetails schützen.
Setter- und Getter-Methoden sichern den geschützten Zugriff auf private Attribute. Mit Hilfe von Properties sorgen Sie für eine natürliche Nutzung Ihrer Klassen.
Vereinfachen und standardisieren Sie, wie sich Objekte Ihrer Klassen am Bildschirm präsentieren.
Objektvariablen sind Verweise. Vermeiden Sie unerwünschte Nebeneffekte bei Zuweisungen.
Schützen Sie Objekte vor ungewünschten Veränderungen und geben den Nutzern Ihrer Klassen Hinweise zu deren Nutzung.
Übungsaufgabe
Präsentation der Musterlösung zu Übungsaufgabe 13
Objektorientierung unterstützt die Weitergabe von Attribute und Verhalten an abgeleitete Klassen.
Sichern Sie Instanzen Ihrer Klassen in Dateien und laden sie wieder in den Arbeitsspeicher.
Übungsaufgaben
Präsentation der Musterlösung zu Übungsaufgabe 14
Präsentation der Musterlösung zu Übungsaufgabe 15
Dies ist der der perfekte Kurs für anspruchsvolle Einsteiger, die nicht nur die Syntax der Programmiersprache Python 3 lernen wollen. Dieses Seminar behandelt neben Python 3 auch grundlegende Techniken, Algorithmen und Datenstrukturen, die jeder (angehende) Programmierer kennen und beherrschen muss. Python 3 selbst ist einfach zu erlernen, so dass Sie bereits nach wenigen Lektionen in der Lage sind, eigenständig nutzbringende Programme zu schreiben. Trotz aller Einfachheit, die Python auszeichnet, können Sie mit dieser Programmiersprache sehr mächtige Programme schreiben: Internet-Anwendungen, wissenschaftliches Rechnen, Numerik, Datenbanken, Grafik usw.
Natürlich startet das Seminar mit ganz einfachen Programmen und "Fingerübungen". Bei der Beschaffung und Installation der notwendigen Software werden Sie unterstützt. Dennoch ist das Seminar sehr anspruchsvoll. Alle Übungsaufgaben sind Programmieraufgaben, die jeweils reale Aufgabenstellungen lösen. Die Programme stellen sinnvolle Werkzeuge dar, die Sie in Ihrem Arbeitsalltag am Computer verwenden können.
Alle Programme können Sie von Beginn an auf Ihrem eigenen Rechner ausführen. Mögliche Unterschiede zwischen den Betriebssystemen (Microsoft Windows, macOS, Gnu/Linux) werden besprochen und Lösungen erarbeitet, so dass sie bereits ab dem 3. Seminarabschnitt in der Lage sind portable Programme zu schreiben.
Im Einzelnen lernen Sie:
einfache Programme
einfache Datentypen (Zeichenketten, Zahlen, Wahrheitswerte, ...)
strukturierte Datentypen (Listen, Dictionaries, Mengen, ...)
Funktionen
Modularisierung
Objektorientierung
Fehlerbehandlung
wichtige Algorithmen & Datenstrukturen (Kellerspeicher, Warteschlangen, Bäume)
Zu allen behandelten Themen gibt es Übungsaufgaben, in denen Sie den erlernten Stoff vertiefen und nützliche Softwarewerkzeuge selbst erstellen. Es gibt keine Multiple-Choice-Tests. - Hier lernen Sie das Programmieren!
Vorkenntnisse in irgendeiner Programmiersprache sind nicht erforderlich. Sie sollten Ihren Computer aber sicher beherrschen.