Software-Engineering: Python
Der Kurs ist für alle vier Sprachen derselbe, und der Code hier ist in Python. Jedes Modul sagt, welche Lektionen der Sprache du vorher kennen musst.
Mach da weiter, wo du aufgehört hast:
Modul 0
Willkommen
1 Lektion · was der Kurs lehrt und was du wissen musst
Modul 1
Entwurfsmuster
14 Lektionen · Strategy, Observer, Builder, State…
Modul 2
Sauberer Code und Refactoring
8 Lektionen · Namen, Funktionen, Code Smells, kleine Schritte
- Namen im Code
- Funktionen: eine Aufgabe, wenige Parameter, keine versteckten Seiteneffekte
- Kommentare, die lügen, und Kommentare, die helfen
- Code-Smells: lange Methode, große Klasse, Duplikate, Primitive statt Typen, lange if-Ketten
- Tests als Sicherheitsnetz
- Refactoring in kleinen Schritten
- SOLID ohne Dogma
- Übung: eine chaotische Klasse, Schritt für Schritt aufgeräumt
Algorithmen und Komplexität
Modul 3
Komplexität
5 Lektionen · Big-O, Zeit und Speicher, Messen
Modul 4
Suchen
3 Lektionen · lineare und binäre Suche
Modul 5
Sortieren
6 Lektionen · Insertion, Merge, Quick, Heap, Counting
Modul 6
Rekursion
4 Lektionen · der Aufrufstapel, teile und herrsche
Modul 7
Datenstrukturen
8 Lektionen · Array, Liste, Hashtabelle, Bäume, Heap
Modul 8
Graphen
6 Lektionen · BFS, DFS, Dijkstra, Abhängigkeiten
Modul 9
Dynamische Programmierung
5 Lektionen · Merken, Tabelle, Rucksack
Modul 10
Gierige Algorithmen
2 Lektionen · wann sie funktionieren und wann sie täuschen
Modul 11
Techniken zum Lösen von Aufgaben
4 Lektionen · zwei Zeiger, gleitendes Fenster, Präfixsummen
Modul 12
Projekt: Navigation in der Stadt
1 Lektion · die Karte als Graph, BFS, Dijkstra
Modul 13
Nebenläufigkeit und Race Conditions
9 Lektionen · Sperren, Deadlock, async
Modul 14
Sicherheit für Entwickler
9 Lektionen · nicht vertrauenswürdige Eingaben, Passwörter, Sitzungen, Tokens, Geheimnisse
Modul 15
Softwarearchitektur
9 Lektionen · Schichten, Module, Ereignisse, APIs, Caching, Skalierung
Modul 16
Der Architekt bei der Arbeit
9 Lektionen · NFRs, Kompromisse, Integration, Migrationen, Review
- Nichtfunktionale Anforderungen, die du messen kannst
- Trade-offs
- Wenn der Nachbar langsam ist: Timeout, Retry, Circuit Breaker
- Eine Transaktion über Services hinweg (Saga)
- Alte und fremde Systeme anbinden
- Ein laufendes System verändern (Strangler Fig, Expand–Contract)
- Architektur-Review
- Die Unternehmenslandschaft und ihre Capabilities
- Deine erste Architekturaufgabe