Module aus dem Wahlfachkatalog Informatik** - Cheatsheet.pdf

Module aus dem Wahlfachkatalog Informatik** - Cheatsheet
Grundlagen der Syntax und Semantik von Programmiersprachen Definition: Grundlagen der Syntax und Semantik von Programmiersprachen umfassen die formalen Regeln zur Struktur (Syntax) und Bedeutung (Semantik) von Sprachelementen. Details: Syntax: Regeln für die korrekte Struktur von Programmcode. Formale Grammatiken: Meistens kontextfreie Sprachen (BNF, EBNF). Syntaxbäume: Hierarchische Struktur von ...

© StudySmarter 2024, all rights reserved.

Grundlagen der Syntax und Semantik von Programmiersprachen

Definition:

Grundlagen der Syntax und Semantik von Programmiersprachen umfassen die formalen Regeln zur Struktur (Syntax) und Bedeutung (Semantik) von Sprachelementen.

Details:

  • Syntax: Regeln für die korrekte Struktur von Programmcode.
  • Formale Grammatiken: Meistens kontextfreie Sprachen (BNF, EBNF).
  • Syntaxbäume: Hierarchische Struktur von Code.
  • Semantik: Bedeutung der Programmierkonstrukte.
  • Operationale, denotationelle und axiomatische Semantik: Verschiedene Ansätze zur Beschreibung der Semantik.
  • Beispiel: Rekursive Definition von Schleifen und Bedingungen.
  • Formale Verifikation: Beweistheorie und Logik zur Prüfung der Korrektheit.

Algorithmen und Datenstrukturen

Definition:

Algorithmen und Datenstrukturen sind grundlegende Konzepte der Informatik, die effiziente Datenverarbeitung und -speicherung ermöglichen.

Details:

  • Algorithmus-Komplexität: Zeit (O-Notationen), Platz
  • Datenstrukturen: Arrays, Listen, Bäume, Graphen, Hash-Tabellen
  • Sortieralgorithmen: Quicksort, Mergesort, Heapsort, Bubblesort
  • Suchen: Binäre Suche, Lineare Suche
  • Grundlegende Algorithmen: Dijkstra, Floyd-Warshall, Prim
  • Stapel (Stack) und Warteschlangen (Queue)
  • Rekursion und Iteration

Datenbankdesign und Normalisierung

Definition:

Datenbankdesign: Strukturierung von Datenbanken zur effizienten und widerspruchsfreien Speicherung von Daten. Normalisierung: Prozess zur Eliminierung von Redundanzen und Inkonsistenzen durch Aufteilung in kleinere, miteinander verknüpfte Tabellen.

Details:

  • Ziele: Redundanzfreiheit, Konsistenz, Flexibilität, Performance
  • Normalformen: 1NF (Elimination von Wiederholungsgruppen), 2NF (Elimination partieller Abhängigkeiten), 3NF (Elimination transitiver Abhängigkeiten)
  • 1NF: Jedes Attribut enthält nur atomare, unteilbare Werte.
  • 2NF: Tabelle ist in 1NF und alle Nicht-Schlüsselattribute sind voll funktional vom Primärschlüssel abhängig.
  • 3NF: Tabelle ist in 2NF und keine Nicht-Schlüsselattribute sind transitiv abhängig.
  • Inkonsistenzen und Anomalien vermeiden

Neuronale Netze und Deep Learning

Definition:

Künstliche neuronale Netze (KNN) und Deep Learning (DL) beschäftigen sich mit Algorithmen, die die Struktur und Funktionsweise des menschlichen Gehirns nachahmen, um komplexe Muster und Zusammenhänge in Daten zu erkennen.

Details:

  • KNN bestehen aus Schichten (Input-, versteckte, Output-Schicht)
  • Jede Schicht enthält Neuronen, die durch Gewichte miteinander verbunden sind
  • Aktivierungsfunktionen: Sigmoid, ReLU, Tanh
  • Backpropagation zur Gewichtsaktualisierung
  • DL nutzt tiefere Netzwerke (mehrere versteckte Schichten)
  • Adam, SGD – Optimierungsverfahren
  • Overfitting vermeiden: Regularisierung, Dropout
  • Loss-Funktion: MSE, Cross-Entropy
  • Anwendungen: Bild- und Spracherkennung, NLP, generative Modelle

Netzwerkprotokolle (z.B. TCP/IP)

Definition:

Netzwerkprotokolle sind Regelwerke für die Kommunikation zwischen Computern in einem Netzwerk, z.B. TCP/IP verwendet für Routing und Datentransfer im Internet.

Details:

  • TCP (Transmission Control Protocol): Verbindungsorientiert, garantiert Zustellung, Datenpakete in Sequenz, Fehlerkorrektur.
  • IP (Internet Protocol): Zustellung von Datenpaketen basierend auf IP-Adressen, keine Zustellgarantie.
  • UDP (User Datagram Protocol): Verbindungslos, schnell, keine Zustellungsgarantie, keine Fehlerkorrektur.
  • ICMP (Internet Control Message Protocol): Fehlermeldungen und Diagnose, z.B. Ping.
  • HTTP/HTTPS: Anwendungsschichtprotokoll für Webkommunikation, HTTPS verschlüsselt.

Softwareentwicklungslebenszyklus

Definition:

Prozess der Planung, Entwicklung, Testung und Wartung von Software.

Details:

  • Planung: Anforderungen erfassen und analysieren
  • Entwurf: Architekturen und Design-Spezifikationen
  • Implementierung: Code schreiben und integrieren
  • Testen: Fehler finden und beheben
  • Wartung: Fehlerkorrektur und Funktionsupdates nach der Auslieferung

Maschinelles Lernen

Definition:

ML ist ein Teilgebiet der KI, das Computern ermöglicht, aus Daten zu lernen und Entscheidungen zu treffen, ohne explizit programmiert zu sein.

Details:

  • Supervised Learning: Input-Output-Paare, Ziel: Modell lernt Zuordnung \textit{(z.B. Klassifikation, Regression)}
  • Unsupervised Learning: Nur Eingabedaten, Ziel: Muster und Strukturen entdecken \textit{(z.B. Clustering, Dimensionalitätsreduktion)}
  • Reinforcement Learning: Lernen durch Belohnung/Bestrafung, Ziel: Optimale Strategie finden \textit{(z.B. Spiele, Robotik)}
  • Wichtige Algorithmen: Lineare Regression, Entscheidungsbäume, Neuronale Netze
  • Fehlermetriken: MSE (Mean Squared Error), Genauigkeit, F1-Score

Agile Methoden und Scrum

Definition:

Agile Methoden fokussieren sich auf iterative und inkrementelle Entwicklung. Scrum ist ein Framework, um Agile Prinzipien umzusetzen.

Details:

  • Iterationen heißen Sprints, normalerweise 2-4 Wochen
  • Rollen: Product Owner, Scrum Master, Entwicklungsteam
  • Artefakte: Product Backlog, Sprint Backlog, Increment
  • Ereignisse: Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective
  • Transparenz, Überprüfung und Anpassung sind Kernprinzipien
  • Fördert Zusammenarbeit, Flexibilität und kontinuierliche Verbesserung
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