Takeaways

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.