Inhaltsverzeichnis

Die Grundkursprüfung

Aus der Liste der Schwerpunktthemen musste eines ausgewählt werden. Der Rest der Prüfung handelte von den Aufjedenfallthemen, die jeder können musste.

Die Schwerpunktthemen

  1. Datenbank
  2. Formale Sprachen und Automaten
  3. Digitaltechnik
  4. Interpreter / Compiler
  5. Algorithmen der Kryptologie
  6. Kommunikation in Rechnernetzen
  7. prinzipielle Grenzen der Berechenbarkeit
  8. praktische Grenzen der Berechenbarkeit
  9. logische Programmierung (PROLOG)
  10. funktionale Programmierung
  11. Objektorientierte Programmierung - Vererbung, Polymorphie
  12. Graphen - Implementierung, Algorithmen

Die Aufjedenfallthemen

01 Darstellung von Information

Internet / WWW / Hypermedia-System / Browser / URL / HTTP / Client-Server-Architektur / HTML / Trennung von Inhalt, Struktur, Form / Barrierefreies Webdesign / Validierung von Dokumenten / Dokumentstruktur / Strukturbeschreibung / Dokumenttyp / CSS / Information → (Repräsentieren, Darstellen) → Textuelle Darstellung → (Verarbeiten) → HTML-Darstellung → (Übertragen) → HTML-Darstellung → (Verarbeiten) → Textuelle Darstellung → (Interpretieren, Deuten) → Information / Binäre Darstellung / ASCII, UTF8 / Rechtliche Vorschriften

02 Einführung Delphi

Chiffrierung nach Caesar / GUI / EVA / Daten und Operationen / Char / String / lokal, global / Trennung Datenmodell - GUI / Schnittstelle / Klassendiagramm / Ereignisverarbeitung / Objekthierarchie / Punktnotation / Konzepte statt Rezepte /

03 Algorithmen

Algorithmus (*endliche* Folge *eindeutig* *ausführbarer* Anweisungen zur Lösung eines *allgemeinen* Problems) / Korrektheit / Flussdiagramm / ein- und zweiseitige Fallunterscheidungen / Wiederholungen / Eintrittsbedingung / Austrittsbedingung / Unterprogramme / Top-Down-Methode / Problemlöseprozess: Problem erfassen und beschreiben → Lösung Schritt für Schritt planen und entwickeln → Algorithmen implementieren und testen / Spezifikation / Korrektheits- -nach-, -be- weis / Verifikation oder Testen / Termination / Systematisches Test: Anweisungsüberdeckung, Zweigüberdeckung, Pfadüberdeckung / äquivalent, effizienter / Sortieren: Auswahl, Einfügen, Bubblesort, Quicksort / Stabilität / Geschwindigkeit / Einfluss von Parametern / best, average, worst case / Aufwandsbestimmung: Messung, Zählung und arithmetische Rechnung, asymptotische Abschätzung / (Groß-O-Notation) / Suchen: linear, binär / binäres Suchen: sortierte Liste, Intervalhalbierungsverfahren / (Fibonacci-SUche) / (Sprungsuche) / Rekursion: Teilprobleme sind ähnlich, kleiner, irgendwann direkt lösbar / ggT: euklidischer Algorithmus

04 Rechnerarchitektur

Assembler (TST, JMP, HLT, DEC, INC) / Maschinensprache / von Neumann: 1 Speicher, Anfangsadresse willkürlich, Programm beliebige Position / Compiler / Operationswerk: Abarbeitung Maschinensprachbefehl / Steuerwerk: Automatisierung des Operationswerks / Speicher / PC - Program Counter / IR - Instruction Register / Akku - arithmetische logische Einheit ALU eines Prozessors / MPC - Micro Program Counter / Mikrobefehl oder Steuerwort: Kombination von Steuersignalen / Takt / Adressbus, Datenbus, Steuerbus / Fundamentalzyklus: Fetch → Decode → Execute (zum Microcode springen, Microbefehle ausführen)

05 Prozedur-Konzept und Reihungen

Prozeduren / Funktionen / Rückgabewert / Parameter / formale Parameter - Beschreibung im Prozedurkopf / aktuelle Parameter - Inhalte während Laufzeit / call-by-value - Übergabe des Inhalts / call-by-reference - Übergabe der Referenz / Daten-import,-export,-transport / Modultest / Schnittstelle / Reihungen / Deklaration / Zugriff auf Elemente / Beispiele: Sortierverfahren

06 Grundkonzepte der Objektorientierten Programmierung

warum: zuverlässige, flexible Software / Gegenstände, Objekte / Eigenschaften, Attribute / Baupläne für Objekte, Typ der Objekte, Klasse / Operationen, Methode / Zugriffsmethoden / Konstruktoren / Destruktoren / Klassenmethoden / Kapselung / Geheimnisprinzip / Schnittstellenspezifikation: Zugriffsrechte, Attribute und Datentypen, Methoden und Signaturen evtl. Ergebnistyp / autonome Einheit, Zuständigkeiten / Klassendiagramm / Objektdiagramm / BlueJ / Zustandsbasierte Ablaufmodellierung / OO-Modellierung / Welt → Miniwelt → OO-Modell → System / Aktivierung von Objekten durch Nachrichten / Hat-Beziehung, Komposition, Erzeugung und Vernichtung, Pfeil mit Raute / Referenzattribute / Kennt-Beziehung, Verbindung, Pfeil mit Spitze / UML / Grundidee → Grundkonzepte (Objekt, Nachricht, Beziehung, Klasse) → Modellierungssprache (UML) → Implementierungssprache (Delphi, Java, Python, VB, C++, …)

07 Kommunikation in Rechnernetzen

simplex / half-duplex / full-duplex / Protokoll / Bitrate / Baudrate / Kodierung (No return to Zero - Level, Mark, Space) / (differenzielle) Manchester Kodierung / Synchronisationsvorteil / Startschwierigkeit: Anfangsbegrenzer AB, Startdelemiter SD / Endschwierigkeit: Stop-Bit SB / Bitfolge: Ruhe, AB, Daten, SB, Ruhe / Schichtenarchitekturen: Trennung der Zuständigkeiten, klare Schnittstellen, einfacher Austausche von Schichten, einfaches Zufügen von Schichten / Übertragungsfehler (1 Bit, 2 Bits, n Bits) / Nutzdaten und Prüfbits / Paritätsbit / Summe modulo / CRC (cyclic redundancy check) / Paketverlust / Quittungsbetrieb / geänderte Paketreihenfolge / Duplikate / Send(Stop) and Wait Protokoll / Quittung geht wiederholt verloren / IP-Adressen / Offener Bus / Paket= Ziel+Absender+Daten+CRC / Kollisionen / Aloha: beliebiges Senden, Kollisionen durch Beobachten / slotted ALOHA: beliebiges Senden in quantisierten Zeitabständen / CarrierSenseMultipleAccess-CollissionDetection CSMA-CD / Routing Information Protocol, Distance Vector Algorithmus / Count to Infinity / OSI / Dienste / Protokolle / RFC / (well known) Portnummern / DNS / TCP / Client-Server

08 Grundwissen Kryptologie

Sicherheitsziele: Vertraulichkeit, Integrität, Authentizität, Verbindlichkeit / Klartext, Geheimtext, Verschlüsselung, Entschlüsselung / Steganographie (Verstecken der Nachricht) / Skytale (Stab mit Streifen) / monoalphabetische Verfahren: Caesar / Substitutionsverfahren:Vigen`ere(Kasiski-Test) / Symmetrische Verfahren: Rijndael AES (Advanced Encryption Standard) - Blockchiffre, substitution box, Schlüsselexpansion Rundenschlüssel / Asymmetrische Verfahren: RSA, ElGamal - private key, public key, / Angriffe: Brute Force, Häufigkeitsanalyse, Wörterbuch-Attacke, Ciphertext-Only, Known-Plaintext, Chosen-Plaintext, Chosen-Ciphertext / Kerckhoffsches Prinzip (Geheimhaltung des Schlüssel statt des Verfahrens) / Security by Obscurity / digitale Signatur: Dokument → Hashwert → mit private key den Schlüssel verschlüsseln / PKI public key infrastructure / web of trust

09 Grenzen der Berechenbarkeit

praktische Grenzen der Berechenbarkeit

best, average, worst case / Zeitmessungen, Berechnungen / logarithmisch log_2 n, linear n, log-linear n log_2 n, quadratisch n^2, kubisch n^3, exponentiell 2^n / Oh Mann, und noch ganz viel fürchterlicher Kram

prinzipielle Grenzen der Berechenbarkeit

Halteproblem / Analyseprogramm / selbsthaltend / seltsam / Entscheidbarkeit / Termination / Korrektheit / (Un-)Möglichkeitsnachweise / intuitiver Algorithmus Begriff: Verarbeitungsvorschrift, die auch für eine Maschine präzise genug ist; eindeutig, ausführbar, endlich, allgemein / … ???

10 Zustandsbasierte Modellierung

Flip-Flop / Zustandsgraph / Digitaltechnik / Trennung von GUI, Datenmodell, Steuerung