Leider fehlt mir das Programm zu Kurs 5. Wenn das noch jemand hat…
Kurs 1
Montag: Darstellung von Information (Becker)
Überblick über den Weiterbildungskurs
WWW-Informationsdienst im Internet
Strukturierte Darstellung von Information mit
HTML
-
Grundlagen der Informationsverarbeitung
Informationsdarstellung und formale Sprachen
Rechtliche Aspekte
Dienstag: Algorithmisches Problemlösen
Programmgesteuerte Systeme
Algorithmen mit Wiederholungen
Algorithmen mit Fallunterscheidungen
Wiederholungen mit Abbruchbedingungen
Aufbau von Algorithmen
Zerlegung in Teilalgorithmen, Top-Down-Methode
Entwicklung von Algorithmen als Prozess
Automatisierte Verarbeitung von Daten
Mittwoch: Programmierung mit JavaScript (Becker)
Interaktive Webseiten
Variablenkonzept, Wertzuweisung, Datentypen
Kontrollstrukturen und ihre Implementierung
Ereignisgesteuerte Abläufe und ihre Implementierung
Unterprogramme
Donnerstag: Datenbanken (Heusel)
Freitag: Datenbanken (Heusel)
Umsetzung ER→DB
SQL-Anfragen
Kurs 2
Montag: Einführung in die Software-Entwicklung mit Delphi - Teil 1 (Becker)
Dienstag: Einführung in die Software-Entwicklung mit Delphi - Teil 2 (Becker)
Operationen auf Daten - Unterprogramme
Schnittstellenbeschreibung
Unterprogramme mit Parametern
Modultests
Nutzung vordefinierter Komponenten
MVC-Konzept
Datenstruktur „Reihung“
Fehlersuche
Mittwoch: Einführung in die Software-Entwicklung mit Delphi - Teil 3 (Becker)
Vordefinierte Komponenten zur Erzeugung von Grafiken
Erzeugung einfacher Grafiken
Datenstruktur „Verbund“
Mehrdimensionale Reihungen
Schachtelung von Datenstrukturen
Donnerstag: Sortieren und Suchen (Jonietz)
Freitag: Rekursion (Selinger)
Rekursion: Prinzip und Visualisierung
Numerische Beispiele (Funktionen) und Übungen
Vergleich Iteration vs. Rekursion (Effizienz, Eleganz)
Graphische Beispiele (Turtlegrafik) und Übungen
Weitere Beispiele (Hanoi, Permutationen, Backtracking)
Kurs 3
Montag: Grundkonzepte der objektorientierten Programmierung (Becker)
Grundidee der OOP, Modellierung mit Objekten und Klassen
Objekte in Aktion, gekapselte Objekte
Implementierung von Objekte und Klassen
Übungen: Objektorientierte Modellierung einer Miniwelt und Implementierung des objektorientierten Modells
Dienstag: Grundkonzepte der objektorientierten Programmierung - Teil 2 (Becker)
Beziehungen zwischen Objekten
Implementierung der Hat-Beziehung
Implementierung der Kennt-Beziehung
Objekte in Aktion
Übung: Modellierung und Implementierung
Vererbung und Polymorphie
Implementierung von Modellen mit Vererbung
Mittwoch: Objektorientierte Software-Entwicklung (Becker)
Software-Entwicklungsprozesse, Entwicklungsaufträge
Anforderungsanalyse
Entwicklung eines objektorientierten Modells
Dokumentation des Modells
Implementierung des Modells
Testen des entwickelten Modells
Erweiterungen und Verbesserungen des Systems
Donnerstag: Rechnerarchitektur - Teil 1 (Merkert)
Das Registermaschinenmodell
Universelle Registermaschine
Bestandteile eines Rechners
Befehlszyklus
Mikroprogrammierung
eigene Assemblerbefehle
Binäre Kodierung
Bonsai-Hardware
Freitag: Rechnerarchitektur - Teil 2 (Lösch)
Rechenfähigkeit der Registermaschine
Programmierfähigkeit der Registermaschine
Entwicklung von Übersetzungsschablonen
Automatisierte Sprachübersetzung
Kurs 4
Montag: Formale Sprachen - Beschreibung mit Grammatiken und Erkennung mit Automaten (Becker)
Formale Sprachen
Sprachbeschreibung mit Syntaxdiagrammen
Sprachbeschreibung mit Grammatiken
Übungen zur Sprachbeschreibung mit Grammatiken
Spracherkennung mit endlichen Automaten
Sprachbeschreibung mit regulären Ausdrücken
Anwendung: Auszeichnungssprachen, Programmiersprachen, …
Dienstag: Formale Sprachen - Klassifikation von Sprachen; Exkurs: Semantik von Programmiersprachen (Becker)
Reguläre Sprachen
Grenzen endlicher Automaten
kontextfreie Sprachen
Spracherkennung mit Kellerautomaten
Kontextfreie, kontextsensitive und allgemeine Sprachen
Spracherkennung mit einer Turingmaschine
Syntax und Semantik von Programmiersprachen
Interpretation und Übersetzung von Programmiersprachen
Mittwoch: Entwicklung und Implementierung von Automatensimulatoren (Becker)
Entwicklung eines Automatensimulators: Pflichtenheft
Objektorientierte Modellierung eines einfachen Systems
Implementierung und Test des Simulators
Erweiterung der Eingabemäglichkeiten
Verarbeitung von Listen
Erweiterung der Eingabemöglichkeiten
Verarbeitung von Bäumen
Donnerstag: Kommunikation in Rechnernetzen - Teil 1 (Jonietz)
Motivation, Datenübertragung
Entwicklung eines Modellnetzes
Senden und Empfangen von Bitfolgen
Programmtechnische Realisierung mit Delphi
Übertragung von Zeichen, Zeichenfolgen, Texten
Übertragungsfehler
Erweiterung zum Bus
Experimente mit dem Bus
Freitag: Kommunikation in Rechnernetzen - Teil 2 (Schneider)
Adressen, Kollisionen
Zugriffskontrolle (Aloha)
Routing
Das Routing Information Protocol
Experimente mit Sniffer-Programmen
Kurs 5
Digitaltechnik
Logische Grundoperationen
Schaltfunktionen und Schaltnetze
Schaltalgebra
Rechensysteme
Flip-Flops
Von taktgesteuerten Flip-Flops zu Registern
Registermaschine, Rechnerarchitektur (von Neumann)
Logische Programmierung mit Prolog
Graphen und ihre Implementierung
Graphen und Graphenprobleme
Graphenalgorithmen, Fallstudie: Wege in Graphen
Implementierung von Graphen
Socketprogrammierung und Internetprotokolle
Kryptologie
Kurs 6
Montag:
Historische Algorithmen
Korrektheit von Algorithmen
Effizienz von Algorithmen
Fallstudie: Algorithmen in der Kryptologie
Verschlüsselung mit modularer Addition
Verschlüsselung mit modularem Multiplizieren / Potenzieren
Kerrektheit und Sicherheit des RSA-Verfahrens
DIenstag: Grenzen algorithmischer Verfahren
Das Halteproblem
Berechenbarkeit als Problem
Turingmaschine und Marienkäfer
Turingmaschine als universelles Berechnungsmodell
Alternative Berechnungsmodelle
Church-Turing-These
Prinzipielle Grenzen der Berechenbarkeit
Ein Blick in die Geschichte
Mittwoch: Funktionale Programmierung (Becker), Ethische Aspekte der Informationstechnik (Mehlfeldt)
Von der Registermaschine zur funktionalen Abstraktion
Kontrollstrukturen der funktionalen Programmierung
Datenstrukturen der funktionalen Programmierung
Übungen zu den Konzepten der funktionalen Programmierung
Miniprojekte zur funktionalen Programmierung
Bedeutung der Informationstechnik für die Gesellschaft
Verantwortungsvoller Einsatz der Informationstechnik
Donnerstag: Praktische Grenzen der Berechenbarkeit (Breuer)
Der Komplexitätsbegriff
Beschreibung der Zeitkomplexität
Abschätzung der Zeitkomplexität an Beispielen
Praktisch nicht anwendbare Algorithmen
Praktisch unlösbare Probleme
Nichtdeterministische Algorithmen, P und NP
NP-Vollständigkeit
Näherungslösungen
Freitag: Chatbots (Tabor)