FANDOM




Fragenkatalog Waser(.doc)

Fragenkatalog UPGEDATED(.doc)

Fragenkatalog UPGEDATED(.pdf)


Algorithmen und DatenstrukturenBearbeiten

01 Verkettete Listen Bearbeiten

Themen: Aufbau, Vor- / Nachteile

Programmbsp:

  • Strukturdefinition, Einfügen, Durchlaufen, Suchen, Löschen

Verkettete-Listen-Beispiel

02 Das N-Damenproblem Bearbeiten

Themen: Algorithmus, offensichtliche Datenstruktur, Probleme, bessere Datenstruktur

Programmbsp.:

  • Hauptprogrammschleife wird vorgegeben -> erläutern
  • Implementation der Datenstruktur sowie der notwendigen Hilfsfunktionen

N-Damen-Beispiel

03 FIFO Bearbeiten

Themen: Funktionsweise, Anwendungen

Programmbsp.:

  • Implementation eines statischen FIFOs für Integerwerte in C (Ringspeicher)
  • Implementation eines dynamischen FIFOs mit verketteter Liste

FIFO-Beispiel

04 Stack, Infix/Postfix-Notation Bearbeiten

Themen: Funktionsweise, Anwendungen, Postfix auswerten, Infix/Postfix-Wandlung

Programmbeispiel.:

  • Implementation eines statischen Stacks für Integerwerte in C

Stack-Beispiel Infix2Postfix

05 Bäume Bearbeiten

Themen: Definition, Anwendungen, sortierter Binärbaum, Einfügen, Suchen, Löschen, Ausgeben (Reihenfolgen,), Probleme, Effizienz, AVL-Bäume

Programmbsp.:

  • Einfügen, Suchen, Löschen eines Blattes, Ausgeben (Reihenfolgen)

Baum-Beispiel

06 Rekursion Bearbeiten

Themen: Prinzip, Vor-/Nachteile im Vergleich zur Iteration

Programmbsp.:

  • Fakultät (Darstellung Callstack!)
  • Ausgeben einer verketteten Liste bzw. eines sortierten Binärbaums

07 MergeSort Bearbeiten

Themen: Algorithmus, Effizienz, Vor-/Nachteile

Programmbsp.:

  • Komplette Implementation des Verfahrens

MergeSort-Beispiel

08 QuickSort Bearbeiten

Themen: Algorithmus, Effizienz, Vor-/Nachteile

Programmbsp.:

  • Komplette Imlementation des Verfahrens

QuickSort-Beispiel

09 Hashing Bearbeiten

Themen: Prinzip, Hashfunktion, Beispiele, Auflösen von Adresskollisionen, Effizienz

Programmbsp.:

  • Hashfunktionen für Zahlen bzw. Strings als Schlüssel
  • Einfügen, Suchen

Hashing-Beispiel

C++ Bearbeiten

10 Nichtobjektorientierte Erweriterungen von C++ gegenüber C Bearbeiten

Themen: Defaultparameter, Function Overloading, Inline-Funktionen, Referenzen, Konstanten

Programmbsp.:

  • Jeweils kleine Programmfragmente

11 Probleme von C-Bibliotheken und Lösung durch das C++-Klassenkonzept Bearbeiten

Themen: Probleme von reinen C-Bibliotheken (Initialisierungs-/Aufräumarbeiten, Zugriffskontrolle (Schlüsselwort friend!), Namenskollisionen, Zeiger auf die Daten, Lösung durch Klassen

Programmbsp.:

  • Implementation eines Stacks bzw. FIFOs für Integerwerte als C++-Klasse (fixe Größe, aber dynamisch allokieren!)

12 Überladen von Operatoren in C++ Bearbeiten

Themen: Ziel, Probleme, nichtüberladbare Operatoren

Programmbsp.:

  • Operatormethode und globale Operatorfunktion für die Klasse CComplex

13 Vererbung und Zusammensetzung in C++ Bearbeiten

Themen: Ziel, Klassenhierarchien, Beziehungen, Überdeckung, Zugriffsregelung, Zeitlicher Ablauf bei Konstruktion bzw. Destruktion, Anwendung, Kriterien Beispiele für bekannte Klassenbibliotheken

Programmbsp.:

  • Siehe Skriptum
  • Implementation eines Konstruktors einer abgeleiteten Klasse, Aufruf des Basisklassenkonstruktors, Initialisierungsliste

14 Polymorphie in C++ Bearbeiten

Themen: Up/Downcasting, virtuelle Funktionen, Vorteile, Konstruktoren/Destruktor, Zugriffsregelung, Vererbung, abstrakte Basisklassen

Programmbsp.:

  • Siehe Skriptum
  • Klassenhierarchie für Tiere, Implementation eines vollständigen Programms
  • virtueller Destruktor
  • Zugriffsregelung für virtuelle Funktionen

15 Templates in C++ Bearbeiten

Themen: Ziel, Funktionstemplates, Instanzierung, Probleme, explizite Typangaben, Spezialisierung, Aufrufreihenfolge, Header-/Implementierungsdateien, Syntax und Instanzierung von Klassentemplates

Programmbsp.:

  • Funktionstemplate bzw. spezialisiertes Funktionstemplate

Java Bearbeiten

16 Arrays und Strings Bearbeiten

Themen: Vergleich mit C++, wesentliche Eigenschaften, Vergleichen, Kopieren, Stringklassen, Anwendung

Programmbsp.:

  • Wie bei Mitarbeitskontrollen bzw. Tests

17 Event-Handling 1 Bearbeiten

Themen: Erstellen einer einfachen GUI-Anwendung, Layout-Manager, Event-Interfaces, Adapterklassen, lokale/anonyme Klassen, Trennung GUI/Anwendungscode

Programmbsp.:

  • Erstellen eines Fensters und Behandlung zweier Ereignisquellen mit unterschiedlichen Mechanismen nach Vorgabe, eines der beiden Ereignisse soll in einer eigenen, nichtlokalen Klasse behandelt werden!

18 Event-Handling 2 Bearbeiten

Themen: Erstellen einer einfachen GUI-Anwendung, Layout-Manager, Event-Interfaces, Adapterklassen, lokale/anonyme Klassen, Trennung GUI/Anwendungscode

Programmbsp.:

  • Erstellen eines Fensters und Behandlung zweier Ereignisquzellen mit unterschiedlichen Mechanismen nach Vorgabe, eines der beiden Ereignisse soll in einer eigenen, nichtlokalen Klasse behandelt werden!

19 Applets Bearbeiten

Themen: Grundlagen, Basisklasse, Initialisierung und Endebehandlung, Nachrichtentransfer, Einbindung in ein HTML-Dokument, Parameterübergabe, Sicherheit

Programmbsp.:

  • Einbindung in den HTML-Code
  • Parameterübergabe aus dem HTML-Code
  • Behandlung zweier Ereignisqwuellen mit unterschiedlichen Mechanismen

Applet-Beispiele

21 MIDlets Bearbeiten

Themen: J2ME, Architektur, Konfigurationen, Profil(e), optionale Packages, Grundlagen der MIDlet-Programmierung, Lebenszyklus eines MIDlets, Event-Handling, High-Level-API, Installation von MIDlet-Suites

Programmbsp.:

  • Implementation eines einfachen MIDlets mit Textfeldern und Kommandos

MIDlet-Beispiele

22 Streams Bearbeiten

Themen: Konzept, Grobübersicht der wichtigsten Streamklassen, wichtige Methoden, Exception Handling

Programmbsp.:

  • Ein/Ausgabe von der Systemkonsole
  • Arbeiten mit Files, wie bei Mitarbeitskontrollen bzw. Tests

Stream-Beispiele

23 Starten und Beenden von Threads Bearbeiten

Themen: Konzept, Starten und sauberes Beenden von Threads

Programmbsp.:

  • Siehe Skriptum

Thread-Beispiele

24 Synchronisation von Threads Bearbeiten

Themen: Lösen von Synchronisationproblemen, Monitore, wait() und notify()

Programmbsp.:

  • Siehe Skriptum Producer/Consumer-Problem wird vorgegeben -> erläutern!

Thread-Beispiele


Relationale Datenbanken Bearbeiten

25 Relationenalgebra und SQL Bearbeiten

Themen: Die 7 Operationen der Relationenalgebra, SQL-Abfragen

Beispiele:

  • Siehe Skriptum (Beispielrelationen, Demo-DB): 3 Operationen, 3 SQL-Abfragen

Relationenalgebra

26 Normalformen Bearbeiten

Themen: Anomalien, Beispiele, (voll)funktionale Abhängigkeiten, 1.-3. Normalform

Beispiel:

  • Erstellen eines normalisierten Relationenschemas, siehe Skriptum

Kryptographie Bearbeiten

27 RSA Bearbeiten

Themen: Vergleich symmetrische und asymmetrische Kryptosysteme, Vor-/Nachtile, hybride Kryptosysteme, Beispiele

RSA: Algorithmus, Parameterwahl, benötigte Algorithmen, Sicherheit

Beispiel:

  • RSA mit zwei kleinen Primzahlen