2.8. Takeaways#
Informatik vs. Software Engineering: Informatik liefert Grundlagen und Modelle; Software Engineering macht daraus robuste, wartbare und sichere Systeme für die Praxis.
Computer = Informationsverarbeitungssystem: Computer lesen Informationen ein, speichern sie, verarbeiten sie und geben Ergebnisse wieder aus (EVA + Speicher/Zustand).
Von-Neumann als Grundmodell: Programme und Daten liegen (typisch) im selben Speicher; CPU, Register, Bus und Speicher erklären, wie „Ausführen“ auf Hardwareebene grundsätzlich funktioniert.
Betriebssystem als Vermittler: Mit Betriebssystem laufen Programme nicht direkt auf der Hardware, sondern über Abstraktionen wie Prozesse, Dateien und Treiber; ohne OS (z. B. Bare Metal) übernehmen Programme diese Aufgaben selbst.
Bits brauchen Bedeutung: 0 und 1 sind nur Zustände — erst eine Codierung legt fest, ob eine Bitfolge eine Zahl, ein Zeichen, ein Bild oder ein Maschinenbefehl ist.
Zahlen & Zahlensysteme sind Werkzeuge: Darstellung (z. B. binär, hex) ist ein Modell zur Beschreibung von Bits; Umrechnungen und Wertebereiche helfen, Repräsentation und Grenzen von Systemen zu verstehen.
Programmieren verbindet Idee und Umsetzung: Ein Algorithmus beschreibt eine Vorgehensweise; Programmcode setzt ihn in einer Sprache um; Software umfasst darüber hinaus Struktur, Konfiguration und Dokumentation.
Komplexität erklärt Skalierung: Für große Eingaben zählt, wie Aufwand wächst (Zeit/Speicher) — oft gibt es mehrere korrekte Algorithmen, aber nicht alle skalieren gut.
Kontrollfluss und Datenstrukturen sind die Bausteine: Jedes Programm kombiniert „welche Schritte wann?“ (Kontrollfluss) mit „wie sind Daten organisiert?“ (Datenstrukturen); die Wahl beeinflusst Verständlichkeit und Effizienz.
Repos machen Arbeit nachvollziehbar: Versionskontrolle (z. B. Git) und Repositories unterstützen Zusammenarbeit, Nachvollziehbarkeit und sauberes Entwickeln und Weiterentwickeln von Software.