Wahlmodule Informatik - Cheatsheet.pdf

Wahlmodule Informatik - Cheatsheet
Neuronale Netze und Deep Learning Definition: Neuronale Netze sind computergestützte Modelle, die die Struktur und Funktionsweise des menschlichen Gehirns nachahmen, um Muster zu erkennen und Entscheidungen zu treffen. Deep Learning ist ein Teilbereich des maschinellen Lernens, der auf mehrschichtigen neuronalen Netzen basiert. Details: Neuronale Netze bestehen aus Neuronen (Knoten) und Kanten (Ve...

© StudySmarter 2024, all rights reserved.

Neuronale Netze und Deep Learning

Definition:

Neuronale Netze sind computergestützte Modelle, die die Struktur und Funktionsweise des menschlichen Gehirns nachahmen, um Muster zu erkennen und Entscheidungen zu treffen. Deep Learning ist ein Teilbereich des maschinellen Lernens, der auf mehrschichtigen neuronalen Netzen basiert.

Details:

  • Neuronale Netze bestehen aus Neuronen (Knoten) und Kanten (Verbindungen).
  • Mehrschichtige Perzeptrons (MLP) sind grundlegende Netzarchitekturen.
  • Aktivierungsfunktionen wie ReLU, Sigmoid und Tanh werden genutzt.
  • Backpropagation dient dem Training durch Fehlerkorrektur mittels Gradientenabstieg.
  • Deep Learning fokussiert auf tiefe Netzwerke mit vielen Schichten.
  • Häufig genutzte Netztypen: CNNs für Bildverarbeitung, RNNs für sequenzielle Daten.
  • Erfolgreich in Bereichen wie Sprachverarbeitung, Bildklassifikation und Spielen.
  • Optimierungsverfahren: Adam, SGD (Stochastic Gradient Descent).
  • Loss-Funktion: misst Fehler, z.B. Kreuzentropie für Klassifikation.

Algorithmen für Klassifikation und Regression

Definition:

Algorithmen zur Vorhersage von Kategorien (Klassifikation) oder kontinuierlichen Werten (Regression) basierend auf Eingangsdaten.

Details:

  • Klassifikation: Zuordnung von Datenpunkten zu vordefinierten Klassen (z.B. Entscheidungsbäume, Support Vektor Maschinen, k-Nächste Nachbarn)
  • Regression: Vorhersage kontinuierlicher Werte (z.B. Lineare Regression, Polynomialregression)
  • Unterstützende Maßnahmen: Kreuzvalidierung, Hyperparameter-Tuning, Feature-Skalierung
  • Evaluierung: Genauigkeit, F1-Score für Klassifikation, MSE (Mean Squared Error) für Regression
  • Python-Bibliotheken: scikit-learn, TensorFlow, PyTorch

Transaktionsmanagement in Datenbanken

Definition:

Verwaltung der Ausführung von Transaktionen in Datenbanken, um deren ACID-Eigenschaften zu gewährleisten.

Details:

  • ACID-Eigenschaften: Atomicity, Consistency, Isolation, Durability
  • Transaktions-Logs zur Wiederherstellung
  • Concurrency-Control-Methoden: Sperren (Locks), Zeitstempelbasierte Protokolle
  • Sperrarten: Shared Lock (S), Exclusive Lock (X)
  • Zwei-Phasen-Sperrprotokoll (2PL): Garantiert Isolation
  • Deadlocks: Erkennung und Vermeidung
  • Anomalien: Lost Update, Dirty Read, Non-Repeatable Read, Phantom Read

Anwendung von Scrum in der agilen Entwicklung

Definition:

Scrum als Rahmenwerk zur Unterstützung der agilen Softwareentwicklung.

Details:

  • Iterative und inkrementelle Entwicklung
  • Rollen: Product Owner, Scrum Master, Entwicklerteam
  • Artefakte: Product Backlog, Sprint Backlog, Inkrement
  • Ereignisse: Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospektive
  • Transparenz, Überprüfung und Anpassung als zentrale Prinzipien

Serverseitige Programmierung mit Node.js

Definition:

Node.js ist eine JavaScript-Laufzeitumgebung, die serverseitige Programmierung ermöglicht.

Details:

  • Asynchrones, ereignisgesteuertes Modell
  • Nutze npm für Paketmanagement
  • Frameworks wie Express.js erleichtern die Entwicklung
  • CommonJS-Modulsystem
  • Promise-basierte Syntax für asynchrone Operationen
  • RESTful APIs leicht implementierbar
  • Hohe Performance durch nicht-blockierende I/O-Operationen

Netzwerksicherheitsprotokolle und -verschlüsselung

Definition:

Netzwerksicherheitsprotokolle und -verschlüsselung: Methoden und Techniken zur Sicherung der Datenübertragung in Netzwerken.

Details:

  • Symmetrische vs. asymmetrische Verschlüsselung
  • Schlüsselaustauschverfahren: Diffie-Hellman, RSA
  • Wichtige Protokolle: HTTPS, SSL/TLS, IPsec
  • Integritätssicherung: HMAC, SHA
  • Begriff der End-to-End-Verschlüsselung
  • VPNs zur sicheren Netzwerkverbindung

Indexierung und Abfrageoptimierung in SQL

Definition:

Indexierung verbessert die Abfrageleistung durch schnelleren Zugriff auf Daten; Abfrageoptimierung verbessert die Effizienz von SQL-Abfragen.

Details:

  • Indizes: Datenstrukturen, die den Suchvorgang beschleunigen
  • Wichtige Index-Typen: B-Baum, Hash
  • Index-Strategien: Clustered vs. Non-Clustered
  • Abfrageoptimierung: Query-Planung und -Ausführung
  • Verwendung von Exekutionsplänen zur Performance-Überwachung
  • Grundlegende SQL-Befehle zur Analyse: EXPLAIN, ANALYZE

Automatisierte Tests und Teststrategien im Software Engineering

Definition:

Automatisierte Tests: Prozeduren zur automatischen Überprüfung von Software auf Korrektheit. Teststrategien: Planung und Organisation der Testaktivitäten zur Gewährleistung der Softwarequalität.

Details:

  • Testarten: Unit-Tests, Integrationstests, Systemtests, Abnahmetests
  • Testabdeckung (\textit{coverage}): Erfasst den Prozentsatz des Codes, der durch Tests abgedeckt ist
  • Continuous Integration (CI): Fortlaufende Integration und Testen von Code-Änderungen
  • Test-Frameworks: JUnit, TestNG, pytest
  • Testpyramide: Veranschaulicht die Verteilung der verschiedenen Testarten
  • Fehlerklassifikationen: Funktionale vs. nicht-funktionale Tests, Regressionstests
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