Python-Bootcamp: Vom Anfänger zum Profi, inkl. Data Science
Lerne alle Python Grundlagen, entwickle Webapps, Crawler, Desktop-Apps mit Qt, Numpy, Pandas, Bilderkennung mit OpenCV,…
Kurs-Beschreibung:
Herzlich willkommen in der Welt von der Programmiersprache Python. Diesen praxisorientierten Kurs habe ich entwickelt, um dich schnellstmöglich zu einem fähigen Python – Entwickler zu machen.
ES WERDEN KEINE PROGRAMMIERKENNTNISSE BENÖTIGT
Zuerst ein kleiner Ausblick, was dir dieser Kurs alles bietet:
- Verstehe die Grundlagen von Python
- Verstehe Objektorientierung
- Entwickle eigene Anwendungen in Python
- Fordere dein Wissen mit diversen Quizzen und Übungsaufgaben heraus
- Leichtes Wiederholen von Wissen: Umfangreiche Merkblätter
- Diverse Praxisbeispiele:
- Extrahiere Daten aus Webseiten mit einem Web-Crawler
- Schreibe echte Desktop – Anwendungen mit Qt
- Entwickle einen Webserver mit Flask
- Werte Daten automatisiert mit Python aus
- Und viel mehr…
Dieser Kurs enthält diverse Praxisbeispiele. Du lernst also nicht nur die Programmiersprache Python, sondern auch, wie du mit ihr echte Anwendungen entwickeln kannst.
Python ist eine unglaublich coole Programmiersprache, die für verschiedenste Zwecke verwendet werden kann. Daher ist es nicht nur wichtig, dass du Python selbst lernst, sondern auch lernst, welche Tools Python perfekt ergänzen. Und genau deswegen habe ich diesen Kurs entwickelt – damit du zu einem fähigen Python – Entwickler wirst, egal welche Richtung du nach dem Kurs einschlagen möchtest.
Nach Abschluss dieses Kurses kannst du Desktop – Anwendungen schreiben, Webseiten entwickeln, Daten aus fremden Webseiten extrahieren, zusätzliche Daten über coole Formulare erfassen, und automatisiert mit Python auswerten – also wirklich der komplette Workflow.
Dazu schauen wir uns im Kurs diverse, zusätzliche Tools an:
- Der DataScience – Stack: Numpy, Pandas und Matplotlib
- Web – Crawling mit “requests” und “beautifulsoup”
- Web – Entwicklung mit Flask
- Interaktive Programme mit Jupyter Notebooks
- Desktop – Anwendungen mit PyQt
Mein Ziel ist, dass du nach Abschluss dieses Kurses ein fähiger Python – Entwickler bist – egal für welchen Zweck du Python später konkret einsetzen möchtest. Dadurch bist du ideal für zukünftige Jobs und Projekte vorbereitet.
Anforderungen:
- Du solltest Zugang zu einem Mac / Windows / Linux – Computer haben
- Es werden keine Programmierkenntnisse benötigt
- Du solltest mindestens 2GB freien Festplattenspeicherplatz haben (für Tools wie Anaconda, Qt, etc.) – installieren wir alles im Rahmen dieses Kurses bei dir
An welche Zielgruppe richtet sich dieser Kurs?
- Anfänger, die in die Programmiersprache Python einsteigen möchten
- Fortgeschrittene Entwickler, die diverse Anwendungsszenarien von Python erleben möchten
- Kurz: die Python produktiv einsetzen möchten – egal ob als Hobby oder für den Job
Was werde ich lernen?
- 🚀 Von 0 auf 100: Vom Anfänger zum Python – Allrounder
- 👍 Alles an einfachen Beispielen erklärt
- 💰 Werde zum gefragten Entwickler
- 💡 Verstehe das “warum” dahinter
- 🖥 Schreibe echte Desktop – Anwendungen mit Qt
- 📈 Werte Daten aus und erstelle DataScience – Auswertungen
- ⚙ Extrahiere mit einem Crawler Daten aus Webseiten
- 🗝 Lerne und verstehe Objektorientierung
- 🏅 Fordere dich mit Übungsaufgaben heraus
Modul 1 – Einleitung
(5 Lektionen; Dauer: 00:09 Stunden)
- Einleitung
- Download der benötigten Materialien
- FAQ – Häufig gestellte Fragen
- Installation aller benötigten Tools
- Was tun wenn: Jupyter Notebook startet nicht
Modul 2 – Python Basics
(14 Lektionen; Dauer: 00:56 Stunden)
- Einführung
- Zahlen in Python
- Variablen in Python
- Strings in Python
- Listen in Python
- Listen – Die pop-Funktion
- Merkblatt: Listen in Python
- Motivation
- Daten umwandeln (1)
- Daten umwandeln (2)
- Kommentare
- Merkblätter
- Übungsblatt: Python Grundlagen
- Musterlösung: Python Grundlagen
Modul 3 – Kontrollstrukturen
(17 Lektionen; Dauer: 01:30 Stunden)
- Einführung
- if, else
- Vergleichsoperatoren
- Ausdrücke verknüpfen und Booleans
- Merkblatt: Vergleichsoperatoren
- Der in-Operator
- Der not-Operator
- Merkblatt: Operatoren und Listen
- elif
- Die while-Schleife
- Die for-Schleife
- Wann welche Schleife?
- Schleifen (break, continue)
- Exkurs: Wie gehst du mit Problemen um?
- Projekt: Trump Twitter Bot
- Merkblatt: Schleifen
- Übungsblatt Kontrollstrukturen
- Musterlösung: Übung Kontrollstrukturen
Modul 4 – Funktionen
(21 Lektionen; Dauer: 01:33 Stunden)
- Einführung
- Funktionen
- Funktionen (2)
- Ausblick auf Objekte
- Einführung Datei öffnen
- Hinweis: Wie Backslash („“) eingeben?
- Datei öffnen
- Datei schreiben
- Datei und with
- CSV öffnen
- CSV lesen und Zeilen überspringen
- Hinweis zum Exkurs: Grafiken zeichnen
- Exkurs: Grafiken zeichnen
- Hinweis: Geburtsstatistiken
- Geburtsstatistiken
- Aufgabe Geburtsstatistiken
- Musterlösung: Aufgabe Geburtsstatistiken
- Merkblatt: Funktionen & Methoden
- Übungsblatt Funktionen
- Lösungstipps: Übungsblatt Funktionen
- Musterlösung: Übungsblatt Funktionen
Modul 5 – Listen in Python
(14 Lektionen; Dauer: 01:20 Stunden)
- Einführung Listen
- Arbeiten mit Listen
- List Slicing
- List Comprehension
- Ausblick: Tupel & Dictionaries
- Dictionaries
- Tupel
- Tupel packen und entpacken
- Dictionaries und Schleifen
- Aufgabe: Dictionaries & Schleifen
- Lösungstipps: Dictionaries & Schleifen
- Musterlösung: Dictionaries & Schleifen
- Datenstrukturen ineinander verschachteln
- Merkblätter: Dictionaries, Listen und Tupel
Modul 6 – Objektorientierung
(17 Lektionen; Dauer: 01:54 Stunden)
- Einführung
- Klasse und Methode erstellen
- Constructor und Methoden erstellen
- Warum private Eigenschaften und Methoden?
- Private Eigenschaften und Methoden
- Warum kapseln wir Daten?
- Besondere Methoden
- Vererbung in Python
- Aufgabe: Vererbung & Objektorientierung
- Musterlösung: Vererbung & Objektorientierung
- Typen von Variablen überprüfen
- In Python ist alles ein Objekt
- Wie Variablen, Klassen und Methoden benennen?
- Statische Variablen
- Merkblatt: Objektorientierung
- Übungsblatt: Objektorientierung
- Musterlösung: Objektorientierung
Modul 7 – Module in Python
(6 Lektionen; Dauer: 00:39 Stunden)
- Einführung
- Code aus separater Datei laden
- Verschiedene import-Möglichkeiten für Module
- Module in einem Ordner erstellen
- Merkblatt: Module in Python
- Beispiel für ein Modul
Modul 8 – Crawler
(19 Lektionen; Dauer: 02:02 Stunden)
- Einführung
- Exkurs: Was ist html überhaupt?
- html Code holen
- beautifulsoup
- Exkurs: css-selectors (1)
- Exkurs: css-selectors (2)
- Elemente finden (1)
- Elemente finden (2)
- Elemente finden – urllib
- Aufgabe: Mehrere Seiten mit Crawler einlesen
- Musterlösung: Mehrere Seiten mit Crawler einlesen
- Hinweis: Encoding, Schreiben einer Datei
- Aufgabe: Ergebnisse als CSV speichern
- Musterlösung: Ergebnisse als CSV speichern
- CSV-Datei korrekt mit Excel öffnen
- Python Wissen – Generators
- Generatoren in crawler einbauen
- PyCharm installieren – Crawler in ein richtiges Python-Programm umwandeln
- Crawler in ein richtiges Python-Programm umwandeln (2)
Modul 9 – Exceptions
(8 Lektionen; Dauer: 00:29 Stunden)
- Einführung
- Exceptions
- Mehrere exceptions und eigene exceptions erstellen
- Das finally – Konstrukt
- Das with – Konstrukt
- Merkblatt: Exceptions
- Übungsblatt: Exceptions
- Musterlösung: Übungsblatt Exceptions
Modul 10 – Datenstrukturen in Python
(10 Lektionen; Dauer: 00:32 Stunden)
- Übersicht: Was sind Datenstrukturen?
- Die Datenstruktur set
- Aufgabe: Sets
- Musterlösung: Sets
- Datenstruktur queue
- Datenstruktur priority queue
- Übersicht: Datenstrukturen
- Aufgabe: Priority Queue
- Musterlösung: Priority Queue
- Weiterführende Links
Modul 11 – Diverses (1): Funktionsparameter & Sortierung
(10 Lektionen; Dauer: 01:04 Stunden)
- Einführung
- Exkurs Funktionsparameter benennen
- Exkurs Wie werden Funktionsparameter übergeben
- Variable Funktionsparameter übergeben
- Variable Funktionsparameter (2)
- Merkblatt: Variable Funktionsparameter
- Daten sortieren
- Lambda Funktionen
- Reguläre Ausdrücke praktisch entwickeln
- Basics Reguläre Ausdrücke
Modul 12 – Diverses (2): Das datetime-Modul / String-Formatierung
(11 Lektionen; Dauer: 00:53 Stunden)
- Mit Datumswerten arbeiten
- Datumsangaben formatieren & Datumswerte einlesen
- Zeitdifferenzen & Timedelta
- Merkblatt: Datumsangaben in Python
- Fortgeschrittene String Funktionen
- Merkblatt: Strings
- Strings formatieren
- Merkblatt: Strings formatieren
- das default-dict
- Übungsblatt: Funktionsparameter und Lambda – Funktionen
- Musterlösung: Übungsblatt Funktionsparameter und Lambda – Funktionen
Modul 13 – Diverses (3): Entwicklung mit PyCharm
(15 Lektionen; Dauer: 01:41 Stunden)
- Ausblick Worum geht es in den nächsten Lektionen
- Python-Programme mit PyCharm
- Python-Programme über Terminal starten
- Python-Programme über Terminal starten (Windows)
- Python-Programme über Verknüpfung starten (Windows)
- Die input()-Funktion in Python
- Aufgabe: BMI-Rechner
- Musterlösung: BMI-Rechner
- sys.argv in Python
- Mit Ordnerangaben arbeiten
- os path join mit mehreren Parametern und Punktpunkt
- Zeichensätze bis hin zu UTF-8
- Dateien als UTF-8 Dateien öffnen
- Aufgabe: Wie oft kommt ein Name in Dateien vor?
- Musterlösung: Wie oft kommt ein Name in Dateien vor?
Modul 14 – Jupyter Notebooks
(12 Lektionen; Dauer: 01:13 Stunden)
- Einführung
- Jupyter als IDE
- Exkurs pdf-Export: Was ist LaTex?
- PDF – Export erlauben (mac)
- PDF – Export erlauben (Windows)
- Jupyter Notebooks Markdown
- Mathematische Ausdrücke in Jupyter Notebooks
- Jupyter Widgets (1)
- Mit Jupyter Widgets interagieren
- Aufgabe: Jupyter Widgets
- Exkurs: CSV-Datei schreiben
- Musterlösung: Jupyter Widgets
Modul 15 – Flask
(31 Lektionen; Dauer: 03:15 Stunden)
- Einführung
- Hinweise
- Exkurs HTML (1)
- Exkurs HTML (2)
- Exkurs CSS
- Exkurs CSS (2)
- Hinweis zu den Kursmaterialien
- Hello World in Flask
- Einfachen HTML-Code mit Flask generieren
- Statische Dateien
- Templates
- Template Inheritance
- Navigation stylen
- URL-Parameter übergeben
- Formulare per GET abschicken
- Eingabefeld wieder ausfüllen
- Musterlösung: Eingabefeld wieder ausfüllen
- Eigene Klassen und Dictionaries an View weiterleiten
- Tupel an View übergeben
- Views vs Python – Datei für Berechnungen
- Aufgabe Wechselkurstabelle
- Hinweis auf dictionary.get
- Exkurs HTML: Wie erstellt man eine Tabelle?
- Exkurs HTML: Mehrere Spalten nebeneinander anzeigen
- Musterlösung (1)
- Musterlösung (2)
- Musterlösung (3)
- Dekoratoren (1)
- Dekoratoren (2)
- Dekoratoren (3)
- Flask – und wie geht’s jetzt weiter?
Modul 16 – Der Data Science Stack
(18 Lektionen; Dauer: 02:01 Stunden)
- Einführung
- Numpy Einführung
- Numpy Arrays filtern
- Numpy mehrdimensionale Arrays
- Wie funktioniert Numpy im Background?
- Pandas – Einführung
- Pandas – Daten filtern
- Pandas – Daten sortieren
- Pandas – Excel und Grafik zeichnen
- Aufgabe: Pandas
- Musterlösung: Pandas
- Matplotlib Einführung
- Matplotlib Grafik konfigurieren
- Wann welcher Diagrammtyp?
- Verschiedene Diagrammtypen
- Überblick: Der DataScience-Stack
- Maschinelles Lernen
- Maschinelles Lernen am Beispiel der linearen Regression
Modul 17 – Bildverarbeitung mit OpenCV
(10 Lektionen; Dauer: 01:11 Stunden)
- Einführung
- Installation OpenCV
- Hinweis: Installation OpenCV
- Bild nach OpenCV laden
- Farbdarstellung und OpenCV
- Wie werden Zahlen intern optimiert gespeichert in OpenCV?
- Helligkeit erhöhen (1)
- Helligkeit erhöhen (2)
- Rechteck einzeichnen
- Gesichtserkennung
Modul 18 – QT
(30 Lektionen; Dauer: 03:54 Stunden)
- Einführung
- Installation von qt und pyqt und qtpy
- Erste Desktopanwendung mit pyqt
- Hinweis zu den Kursmaterialien zu diesem Abschnitt
- UI grafisch bauen
- Qt – Creator (1)
- Qt – Creator (2)
- Qt – Creator (3)
- Konzept Signale und Slots
- Signale und Slots
- Signale und Slots (Python)
- Python Code umstrukturieren
- Eingabefelder auslesen, auf Eigenschaften zugreifen
- BMI-Rechner bauen (1)
- Aufgabe: BMI – Rechner finalisieren
- Musterlösung: BMI – Rechner finalisieren
- Benennung von Funktionen und Variablen
- Datentypenumwandlung pyqt – cpp
- Einführung Table – Widget (1)
- Das Table – Widget (2)
- Elemente konfigurieren am Beispiel von table widget
- Dokumentation, auf Zelländeurng reagieren
- Aufgabe: CSV – Datei einlesen, anzeigen und abspeichern
- Lösungshinweise: CSV – Datei einlesen, anzeigen und abspeichern
- Musterlösung: CSV – Datei einlesen, anzeigen und abspeichern (1)
- Musterlösung: CSV – Datei einlesen, anzeigen und abspeichern (2)
- Musterlösung: CSV – Datei einlesen, anzeigen und abspeichern (3)
- Musterlösung: CSV – Datei einlesen, anzeigen und abspeichern (4)
- Datei Menü einbauen
- Schluss
Modul 19 – VPN – Schluss
(9 Lektionen; Dauer: 01:24 Stunden)
- Übersicht über alle Module im Kurs
- Exkurs: Unterschiede Python 2 vs. Python 3
- Wie geht es jetzt weiter?
- Schluss
Vorschau: Installation aller benötigten Tools
Vorschau: Strings in Python
Vorschau: Ausblick auf Objekte
Vorschau: Klasse und Methode erstellen
Vorschau: Variable Funktionsparameter
Vorschau: Flask – und wie geht’s jetzt weiter?
Online-Lehrer und erfahrener Webprogrammierer aus Überzeugung
Hi, ich bin Jannis! Mit 14 habe ich meine ersten Webseiten entwickelt. Programmierung ist seitdem meine absolute Leidenschaft.
Begeisterter Programmierer seit der Jugend
Nach dem Abitur und der Teilname an zwei Endrunden im Bundeswettbewerb Informatik habe ich als Volljähriger mein erstes Praktikum in einem großen IT-Konzern in den USA absolviert.
Eigene Firma für professionelle Webentwicklung
Als mittlerweile studierter Informatiker und selbstständiger Unternehmer setze ich erfolgreich Webprojekte für meinen Kunden um und teile mein Wissen und meine Erfahrung in meinen hier angebotenen Online – Kursen.