Software-Engineering: C#
Der Kurs ist für alle vier Sprachen derselbe, und der Code hier ist in C#. 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