Add content overview and time planning in markdown and pdf format

Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
This commit is contained in:
Christopher Arndt 2024-05-05 14:20:03 +02:00
parent 71be159760
commit bbfee09be4
5 changed files with 215 additions and 0 deletions

154
Kursgliederung.md Normal file
View File

@ -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)

BIN
Kursgliederung.pdf Normal file

Binary file not shown.

53
Seminarinhalt.md Normal file
View File

@ -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

BIN
Seminarinhalt.pdf Normal file

Binary file not shown.

8
makepdf.sh Executable file
View File

@ -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