Grundlagenmodul - Cheatsheet.pdf

Grundlagenmodul - Cheatsheet
Grundlagenmodul - Cheatsheet Einführung in Programmiersprachen und Syntax Definition: Einführung in grundlegende Programmierkonzepte und die Syntax verschiedener Programmiersprachen Details: Programmiersprachen: formelle Sprachen zur Beschreibung von Algorithmen Syntax: Regeln zur Bildung von gültigen Programmstrukturen Lexikalische Analyse: Aufteilung des Codes in Tokens Syntaxanalyse (Parsing): ...

© StudySmarter 2024, all rights reserved.

Grundlagenmodul - Cheatsheet

Einführung in Programmiersprachen und Syntax

Definition:

Einführung in grundlegende Programmierkonzepte und die Syntax verschiedener Programmiersprachen

Details:

  • Programmiersprachen: formelle Sprachen zur Beschreibung von Algorithmen
  • Syntax: Regeln zur Bildung von gültigen Programmstrukturen
  • Lexikalische Analyse: Aufteilung des Codes in Tokens
  • Syntaxanalyse (Parsing): Überprüfung der korrekten Struktur anhand der Grammatik
  • Typen: Datentypen (integer, float, char, etc.) und Typprüfung
  • Kontrollstrukturen: if-else, switch, loops (for, while)
  • Funktionen und Prozeduren: Modularisierung und Wiederverwendung von Code
  • Ein- und Ausgabe: Arbeitsweise mit Input/Output-Operationen
  • Beispielcode (in einer Sprache deiner Wahl)

Kontrollstrukturen: Schleifen und Bedingungen

Definition:

Kontrollstrukturen steuern den Ablauf von Programmen. Schleifen und Bedingungen sind fundamentale Kontrollstrukturen in der Programmierung.

Details:

  • Bedingungen (if, else, switch): Steuern die Ausführung von Code-Blöcken basierend auf booleschen Ausdrücken.
  • If-Bedingung:
    if (Bedingung) { Anweisungen }
  • Else-Bedingung:
    if (Bedingung) { Anweisungen } else { Anweisungen }
  • Schleifen (for, while, do-while): Wiederholen Code-Blöcke solange eine Bedingung erfüllt ist.
  • For-Schleife:
    for (Initialisierung; Bedingung; Iteration) { Anweisungen }
  • While-Schleife:
    while (Bedingung) { Anweisungen }
  • Do-While-Schleife:
    do { Anweisungen } while (Bedingung);

Sortier- und Suchalgorithmen

Definition:

Sortieralgorithmen ordnen Elemente einer Liste nach einer bestimmten Reihenfolge. Suchalgorithmen durchsuchen Datenstrukturen nach bestimmten Elementen.

Details:

  • Wichtige Sortieralgorithmen: Bubble Sort, Merge Sort, Quick Sort, Insertion Sort
  • Komplexität: Beispiel Quick Sort \(O(n \log n)\)
  • Wichtige Suchalgorithmen: Linear Search, Binary Search
  • Komplexität: Beispiel Binary Search \(O(\log n)\)
  • Stabilität: Ein Sortieralgorithmus ist stabil, wenn er die Reihenfolge von Elementen mit gleichen Schlüsseln beibehält.
  • Speicherbedarf: Beispiel Merge Sort benötigt zusätzlichen Speicher, Quick Sort arbeitet in-place.
  • Bedeutung für Anwendungen: Effizienz der Algorithmen ist entscheidend für die Performance von Software

Big-O-Notation und Laufzeitanalyse

Definition:

Mittel zur Bestimmung der Effizienz von Algorithmen hinsichtlich ihrer Laufzeit und Speicherplatzbedarf.

Details:

  • Big-O-Notation: Charakterisiert das Wachstum der Laufzeit/Speicherbedarf in Abhängigkeit von der Eingabegröße.
  • Wichtige Klassen:
    • Konstant: O(1)
    • Logarithmisch: O(\log n)
    • Linear: O(n)
    • Quadratisch: O(n^2)
    • Kubisch: O(n^3)
    • Exponential: O(2^n)
  • Analyse der Laufzeit: Theoretische Abschätzung der Schleifen, Rekursionen und anderen Kontrollstrukturen.
  • Best/Worst/Average-Case: Unterschiedliche Betrachtungen der Laufzeit für verschiedene Eingabemengen.

Grundlagen der digitalen Logik und Schaltkreise

Definition:

Grundkonzepte digitaler Logik und Schaltkreise, einschließlich Boolescher Algebra und grundlegender logischer Gatter (AND, OR, NOT).

Details:

  • Boolesche Algebra: Grundlage zur Analyse und Synthese digitaler Schaltungen.
  • Logische Gatter: AND (\texttt{\textbf{•}}), OR (\texttt{\textbf{+}}), NOT (\texttt{\textbf{¯}}).
  • Kombinatorische Logik: Logische Funktionen ohne Speicherwirkung.
  • Sequenzielle Logik: Speichernde Schaltungen wie Flip-Flops.
  • Karnaugh-Diagramme: Minimierung logischer Ausdrücke.
  • Arithmetische Schaltungen: Volladdierer, Halbaddierer.
  • Zähler und Register: Anwendung von Flip-Flops.
  • PLL und FPGA: Programmierbare Logikschaltungen.

CPU-Architekturen und Funktionsweise

Definition:

Grundlegende Strukturen und Abläufe einer CPU. Verschiedene Architekturen für unterschiedliche Zwecke und Leistungen.

Details:

  • Von-Neumann-Architektur: gemeinsamer Speicher für Daten und Programme
  • Harvard-Architektur: separater Speicher für Daten und Programme
  • Registersätze: Schnellzugriff auf häufig verwendete Daten
  • ALU (Arithmetic Logic Unit): führt arithmetische und logische Operationen aus
  • Steuereinheit: steuert den Ablauf der Befehlsausführung
  • Taktgeber: bestimmt die Arbeitsgeschwindigkeit der CPU
  • Pipeline: parallele Ausführung von Befehlen zur Effizienzsteigerung
  • Cache-Speicher: schneller Zwischenspeicher zur Beschleunigung des Datenzugriffs
  • Multithreading und Multicore: parallele Verarbeitung zur Leistungssteigerung
  • Befehlssatzarchitektur (ISA): definiert die Schnittstelle zwischen Software und Hardware

Logik und Mengenlehre

Definition:

Grundzüge der mathematischen Logik und Mengenlehre, die in der Informatik von Bedeutung sind.

Details:

  • Logische Operatoren: \(\land\) (Und), \(\lor\) (Oder), \(eg\) (Nicht), \(\Rightarrow\) (Implikation), \(\Leftrightarrow\) (Bikonditional)
  • Mengen: Sammlungen von Objekten/Elementen
  • Operationen auf Mengen: Vereinigung \(\cup\), Schnittmenge \(\cap\), Differenz \(\setminus\), Komplement \(\overline{A}\)
  • Kardinalität: Anzahl der Elemente in einer Menge
  • Quantoren: Existenzquantor \(\exists\), Allquantor \(\forall\)
  • Hypothese, Aussage, Beweis
  • Russellsche Antinomie und Zermelo-Fraenkel-Mengenlehre (ZFC)

Softwareentwicklungsprozesse und -modelle

Definition:

Softwareentwicklungsprozesse und -modelle strukturieren die Entwicklung von Software, um Qualität und Effizienz zu gewährleisten.

Details:

  • Wasserfallmodell: Sequenziell, jede Phase muss abgeschlossen sein bevor die nächste beginnt. Ideal für klar definierte Projekte.
  • V-Modell: Erweiterung des Wasserfallmodells, mit parallelen Testphasen zu jeder Entwicklungsphase. Emphasis auf Verifikation und Validierung.
  • Spiralmodell: Kombination von Design und Prototyping in Stufen, fokussiert auf Risikomanagement.
  • Agile Methoden: Iterativ und inkrementell, fördert Flexibilität und Kundenfeedback. Beispiele: Scrum, Kanban.
  • DevOps: Integration von Entwicklung und Betrieb, automatisierte und kontinuierliche Lieferpipelines, fördert Zusammenarbeit.
  • Vorausplanung von Meilensteinen und Ressourcen an kritischen Punkten wichtig.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden