Add content overview and time planning in markdown and pdf format
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
This commit is contained in:
parent
71be159760
commit
bbfee09be4
|
@ -0,0 +1,154 @@
|
||||||
|
# Programmieren mit Python: Kursgliederung
|
||||||
|
|
||||||
|
|
||||||
|
## Tag 1 (Montag) Vormittag (9:00 - 12:30 Uhr)
|
||||||
|
|
||||||
|
### Vorstellung & Organisatorisches (15-20 min)
|
||||||
|
|
||||||
|
* Vorstellung SoftEd, Trainer, Seminarbegleitung
|
||||||
|
* Ausblick auf die Seminarinhalte
|
||||||
|
* Vorstellungsrunde Teilnehmer, Präsens und Online
|
||||||
|
* Ablauf, Pausen, Mittagessen etc.
|
||||||
|
|
||||||
|
### Einführung in die Programmiersprache Python (45-60 min)
|
||||||
|
|
||||||
|
* Einführung in die Arbeitsumgebung für den Kurs
|
||||||
|
* Verwendung des Interpreters (Interactive Modus)
|
||||||
|
* Aufruf
|
||||||
|
* Interaktives Testen von Code
|
||||||
|
* Python als Taschenrechner
|
||||||
|
* Erweiterte interaktive Umgebungen (IPython, Jupyter)
|
||||||
|
* Genereller Aufbau eines Programms
|
||||||
|
* Hallo, Welt!
|
||||||
|
* Ein kurzes, aber komplettes Kommandozeilenprogramm
|
||||||
|
* Syntaxelemente von Python (Ausdrücke, Anweisungen, Operatoren, Trennzeichen, Einrückung usw.)
|
||||||
|
* Grundlegende Datentypen und Operationen
|
||||||
|
* Integer und mathematische Operatoren
|
||||||
|
* Fließkommazahlen (Floats)
|
||||||
|
* Strings
|
||||||
|
* Kontrollstrukturen und Vergleichsoperatoren
|
||||||
|
* Branching (Verzweigung): `if` / `elif` / `else` und `match`
|
||||||
|
* Loops (Schleifen): `for` und `while`
|
||||||
|
* Funktionen: `def` und `return`
|
||||||
|
|
||||||
|
### Warum Python? (15 min)
|
||||||
|
|
||||||
|
#### Was macht Python besonders und unterscheidet es von anderen Programmiersprachen?
|
||||||
|
|
||||||
|
#### Anwendungsbereiche von Python
|
||||||
|
|
||||||
|
* als "Skriptsprache"
|
||||||
|
* für Desktop- und Webanwendungen
|
||||||
|
* für Scientific Computing und Data Science
|
||||||
|
* für Machine Learning
|
||||||
|
* als Bindeglied zwischen Komponenten und Bibliotheken in anderen Sprachen
|
||||||
|
* Für Embedded Programming (MicroPython)
|
||||||
|
|
||||||
|
## Kaffee/Teepause (20 min)
|
||||||
|
|
||||||
|
### Erweiterte Grundlagen in Python
|
||||||
|
|
||||||
|
#### Erweiterte Datentypen: Container (45 min)
|
||||||
|
|
||||||
|
* Listen
|
||||||
|
* Tupel
|
||||||
|
* Dictionary
|
||||||
|
* Sets
|
||||||
|
|
||||||
|
**Übungsaufgaben**
|
||||||
|
|
||||||
|
|
||||||
|
#### String-Operation und String-Formatierung und Ausgabe (45 min)
|
||||||
|
|
||||||
|
* Escape-Sequenzen, Single-, Double- und Triple-Quotes und Klammerung
|
||||||
|
* Stringvergleiche und Testen auf Substrings
|
||||||
|
* Strings zusammenfügen, auftrennen und slicen
|
||||||
|
* Uppercase, Lowercase, Capitalization, Stripping, usw.
|
||||||
|
* String-Formatierung und Formatstrings
|
||||||
|
|
||||||
|
**Übungsaufgaben**
|
||||||
|
|
||||||
|
|
||||||
|
## Mittagspause (12:30 - 13:30 Uhr)
|
||||||
|
|
||||||
|
## Tag 1 (Montag) Nachmittag (13:30 Uhr - 17:00 Uhr)
|
||||||
|
|
||||||
|
### Zugriff auf Dateisystem (Teil 1) (20 min)
|
||||||
|
|
||||||
|
* Öffnen und Lesen von Dateien
|
||||||
|
* Ganzen Dateiinhalt einlesen
|
||||||
|
* Textdateien zeilenweise einlesen
|
||||||
|
* Textzeilen in Datenfelder zerlegen
|
||||||
|
|
||||||
|
### Fehlerbehandlung in Python (45-60 min)
|
||||||
|
|
||||||
|
* Was sind Exceptions?
|
||||||
|
* Abfangen von Fehlern
|
||||||
|
* Eigene Fehler erzeugen
|
||||||
|
* Eigene Exceptions definieren und benutzen
|
||||||
|
|
||||||
|
**Übungsaufgaben**
|
||||||
|
|
||||||
|
### Objektorientierung in Python (45-60 min)
|
||||||
|
|
||||||
|
* Allgemeiner Einblick in die Objektstruktur in Python
|
||||||
|
* Definieren von Klassen
|
||||||
|
* Erzeugen von Objekten
|
||||||
|
* Vererbung
|
||||||
|
* Spezialmethoden von Objekten ("Dunder methods")
|
||||||
|
|
||||||
|
### Kaffee-/Teepause (20 min)
|
||||||
|
|
||||||
|
**Übungsaufgaben**
|
||||||
|
|
||||||
|
### Tipps und Tricks im täglichen Umgang mit Python (10-20 min)
|
||||||
|
|
||||||
|
### Zusammenfassung, Fragen, Lösungen usw.
|
||||||
|
|
||||||
|
|
||||||
|
## Tag 2 (Dienstag) Vormittag (9:00 - 12:30 Uhr)
|
||||||
|
|
||||||
|
### Rekapitulierung der Inhalte vom Vortag und Fragen (20-30 min)
|
||||||
|
|
||||||
|
### Module in Python (45-60 min)
|
||||||
|
|
||||||
|
* Importieren, verwenden von Modulen
|
||||||
|
* Allgemeiner Umgang mit dem Packet Manager PIP
|
||||||
|
* Eigene Module definieren
|
||||||
|
* Module und Pakete (`Packages')
|
||||||
|
* Der Standardmodulsuchpfad (`sys.path`)
|
||||||
|
* Relative Importe
|
||||||
|
|
||||||
|
## Kaffee-/Teepause (20 min)
|
||||||
|
|
||||||
|
### Zugriff auf das Dateisystem (Teil 2)
|
||||||
|
|
||||||
|
* Öffnen, Lesen und Schreiben von Dateien
|
||||||
|
* Text- und Binärdaten
|
||||||
|
* Text-Encodings
|
||||||
|
* Lesen und Schreiben von Daten im JSON Format
|
||||||
|
* Fehlerbehandlung und Context Manager (`with`-Statement)
|
||||||
|
* Dateiordner auflisten und durchsuchen
|
||||||
|
|
||||||
|
**Übungsaufgaben**
|
||||||
|
|
||||||
|
### Datenbankzugriff mit Sqlite3
|
||||||
|
|
||||||
|
**Übungsaufgaben**
|
||||||
|
|
||||||
|
|
||||||
|
## Mittagspause (12:30 - 13:30 Uhr)
|
||||||
|
|
||||||
|
|
||||||
|
## Tag 2 (Dienstag) Nachmittag (13:30 Uhr - 17:00 Uhr)
|
||||||
|
|
||||||
|
### Entwicklung eines HTML-Crawlers (60-90 min)
|
||||||
|
|
||||||
|
## Kaffee-/Teepause (20 min)
|
||||||
|
|
||||||
|
### Zusammenfassung, Fragen, Lösungen usw. (30 min)
|
||||||
|
|
||||||
|
### Best Practices (30 min)
|
||||||
|
|
||||||
|
* Code Style
|
||||||
|
* Verwendung von Dekoratoren (falls Zeit)
|
Binary file not shown.
|
@ -0,0 +1,53 @@
|
||||||
|
# Programmieren mit Python: Seminarinhalt
|
||||||
|
|
||||||
|
## Einführung in die Programmiersprache Python
|
||||||
|
|
||||||
|
* Verwendung des Interpreters (Interactive Modus)
|
||||||
|
* Genereller Aufbau eines Programms
|
||||||
|
* Grundlegende Datentypen und Operationen
|
||||||
|
* Kontrollstrukturen
|
||||||
|
|
||||||
|
## Erweiterte Grundlagen in Python
|
||||||
|
|
||||||
|
* Erweiterte Datentypen: Listen, Tupel, Dictionary, Set
|
||||||
|
* String Formatierung
|
||||||
|
|
||||||
|
## Funktionen in Python
|
||||||
|
|
||||||
|
* Definition und Aufruf von Funktionen
|
||||||
|
* Generatoren
|
||||||
|
* Rekursion
|
||||||
|
|
||||||
|
## Objektorientierung in Python
|
||||||
|
|
||||||
|
* Allgemeiner Einblick in die Objektstruktur in Python
|
||||||
|
* Definieren von Klassen
|
||||||
|
* Erzeugen von Objekten
|
||||||
|
* Vererbung
|
||||||
|
|
||||||
|
## Fehlerbehandlung in Python
|
||||||
|
|
||||||
|
* Abfangen von Fehlern
|
||||||
|
* Eigene Fehler erzeugen
|
||||||
|
|
||||||
|
## Module in Python
|
||||||
|
|
||||||
|
* Importieren, Verwenden von Modulen
|
||||||
|
* Allgemeiner Umgang mit dem Packet Manager PIP
|
||||||
|
|
||||||
|
## Zugriff auf das Dateisystem
|
||||||
|
|
||||||
|
* Lesen und Schreiben von Daten im JSON Format
|
||||||
|
|
||||||
|
## Datenbankzugriff mit Sqlite3
|
||||||
|
|
||||||
|
## Entwicklung eines HTML-Crawlers
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
* Code Style
|
||||||
|
* Verwendung von Dekoratoren
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
for md in *.md; do
|
||||||
|
if [[ "$md" = "README.md" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
pandoc --from=gfm --to=pdf -o "${md%.*}.pdf" "$md"
|
||||||
|
done
|
Loading…
Reference in New Issue