Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Institut für Informatik

HU-IfI: Kommentiertes Vorlesungsverzeichnis SS95

Humboldt-Universität zu Berlin, Institut für Informatik


Kommentiertes Vorlesungsverzeichnis SS 1995

Kurzbeschreibung einiger Lehrveranstaltungen: Vorlesungen


Automatentheorie

Die Theorie der Automaten betrifft Systeme, die ihr Verhalten mit Hilfe endlich vieler (innerer) Zustände steuern, also von begrenzter Speicherfähigkeit sind. Alle Computer sind von diesem Typ, daher sind die Aussagen der Automatentheorie wichtig für die Konstruktion und Analyse digitaler Hard- und Software-Systeme. Die Vorlesung gibt einen Überblick über diese Aussagen.

C++

Die Vorlesung gibt eine Einführung in die Programmiersprache C++ entsprechend dem aktuellen Stand ihrer Standardisierung durch die ANSI. Im Mittelpunkt stehen dabei die Konzepte der objektorientierten Programmierung. Vorausgesetzt wird die aktive Beherrschung einer höheren Programmiersprache.

Codeoptimierung

Grundlagen der Codeoptimierung in Compilern, Veranschaulichung anhand des Compilers VPO (USA), Kontroll- und Datenflußanalyse, Optimierungsmethoden: Reduktion gemeinsamer Teilausdrücke, Code-Verschiebung, Reduktion von Induktionsvariablen, Peephole-Optimierung, Registerfärbung, Cacheoptimierungen und Instruktionsscheduling.

Einführung in die Künstliche Intelligenz

Die Ausführung intelligenter Tätigkeiten durch Maschinen ist Gegenstand der Künstlichen Intelligenz. Dabei geht es sowohl um Hilfsmittel zur Erledigung geistiger Arbeiten (ingenieur-technischer Aspekt) als auch um Nachbildungen von natürlicher Intelligenz (kognitiver Aspekt). Die Vorlesung gibt eine Einführung aus Sicht der Informatik.

Fault Tolerant Computing

Grundkonzepte und Begriffe; Zuverlässigkeit und Verfügbarkeit; Entwurfstechniken für zuverlässige, harte und weiche fehlertolerante, sowie ausfallsichere Ein- und Mehrprozessorensysteme; Fehlerdiagnose und Fehlertoleranz auf Logik-, Befehlssatz-, Processor-Memory-Switch- und Systemebene; Hardware- und Softwarefehlertoleranz; experimentelle und kommerzielle fehlertolerante Computersysteme; Projektarbeit über Softwareunterstützung für responsives (fehlertolerantes und echtzeitfähiges) Rechnen

Grundlagen von Datenbanksystemen

In dieser Vorlesung werden mit dem ER-Modell, dem relationalen Modell, den Anfragesprachen und dem Transaktionsmodell wesentliche Eigenschaften von Datenbanken eingeführt.

Hardware der Signalverarbeitung

Lineare Signalverarbeitung mit Operationsverstärkern; nichtlineare analoge Signalverarbeitung; geschaltete Kapazitätsnetzwerke; Analogschalter und Referenzelemente; Theorie, Verfahren und Schaltungen zu A/D- und D/A-Umsetzern; digitale Schaltungstechnik für arithmetisch-logische Operationen; Halbleiterspeicher; programmnierbare logische Schaltkreise

Industrielle Informationstechnik

Industrie-Informationssysteme (Aufgabenstellung und -analyse, Architektur, CIM-Konzept); Kommunikationssysteme (Fabrik-, Prozeß-, Feld-, S/A-Busse); Signalverarbeitungssysteme (Industrie- PC/WS, SPS, Peripherie-Module, Architekturen); ereignisdiskrete Prozeßsignalverarbeitung (Petri-Netz-Modelle, Grundstrukturen, Konflikte, ablauforientierte Steuersprachen, Beispiele); zeitsynchrone Prozeßsignalverarbeitung (Signaltastung, Differenzengleichungsmodelle, Echtzeitproblematik, Signalverarbeitungs- und Regelungsalgorithmen, Modulsprachen)

Kryptologie: Entwurf und Analyse

Grundlegende Verfahren der Verschlüsselung und Sicherung von Daten und ihre Sicherheitsanalyse von der Cäsar-Chiffre angefangen bis zum "Data Encryption Standard (DES)" werden behandelt. Dazu kommen die neueren Algorithmen, wie "IDEA", "RSA" und "RC5" sowie weitere Methoden der Kryptologie, wie elektronische Unterschriften ("PGP" und "PEM") und Identitätsbeweise.

Mustererkennung

VL: Einführung, Grundbegriffe, Vorverarbeitung, Merkmalsgewinnung, Merkmalsreduktion, Klassifikation, Anwendungsbeispiele;
UE: mehrdimensionale Statistik und Normalverteilung, Fourier- und Walshtransformation als Merkmalstransformation, Karhunen-Loève-Transformation, Abstandsklassifikatoren, Bayesklassifikator, NN-KIassifikator;
PR: Orthogonaltransformationen, Signalaveraging, Ereigniserkennung, Münzerkennung, Werkstückerkennung

Objektorientierte Prozeßsimulation

Ausgehend von einer systemanalytischen Betrachtungsweise werden die Grundzüge der Computersimulation zeitdiskreter als auch zeitkontinuierlicher realer Prozesse technischer und nichttechnischer Anwendungsbereiche behandelt, wobei objektorientierte Modellierungstechniken bevorzugt zum Einsatz kommen.

Prozeßalgebra

Gegenstand der Vorlesung ist CCS (calculus of communicating systems). Unter der Vielzahl der Darstellungsmöglichkeiten von verteilten Abläufen zeichnet sich dieser Kalkül durch Einfachheit und eine klare theoretische Fundierung aus. Er ist Grundlage mehrerer praktisch eingesetzter Programmiersprachen.

Qualitätskontrolle und Zuverlässigkeitsanalyse

In der LV werden Verteilungsmodelle und statistische Methoden für die Qualitätssicherung behandelt. Schwerpunkte: Grundbegriffe (Zufällige Ereignisse, Wahrscheinlichkeiten, Stichproben); Verteilungen (diskrete, stetige, adaptive nach PEARSON und BURR); Testverteilungen; Testtheorie (parametrische und parameterfreie Tests); Stichprobenplanprüfungen (einfach, doppelt und sequentiell); Prozeßfähigkeit; Qualitätsregelkarten (SHEWHART, PEARSON, KUSUM); Lebensdauermodelle und Zuverlässigkeit (WEIBULL- und Gamma-Verteilung)

Semantik von Programmiersprachen

Methoden zur Formalisierung der Semantik von Programmiersprachen werden z.B. im Rahmen des Compilerbaus und der Programmverifikation entwickelt. Sie vertieft u.a. Verständnis rekursiver Definitionen von Algorithmen.

Softcomputing II

Neuronen und Neuronennetze, Lernen in KNN, frühe Neuronenmodelle und -netze, hetero- und autoassoziative Netze, KNN-Entwurf, Tools, Implementierungen, Applikationen; Labor "Softcomputing"

Theorie der Programmiersprachen

Im Mittelpunkt wird die Syntax von Programmiersprachen stehen. Die aus der Grundvorlesung Compilerbau bekannten Aussagen werden ergänzt. Man erfährt, wie, wann und warum ein Compilergenerator funktioniert. Am Semesterende werden je nach verbleibender Zeit auch semantische Probleme untersucht.

UNIX

In mehrjähriger Praxis wird die Architektur des Betriebssystems UNIX vorgestellt. UNIX-Programmierung, ausgewählte Kommandos, Systemschnittstelle, X-Programmierung, Programmierung von Kommunikationssystemen: Telekommunikation, Client-Server-Anwendungen.
Der UNIX-Kurs wird von einem Praktikum begleitet.

Verteilte Algorithmen

Ein Algorithmus heißt verteilt, wenn er auf einer physikalisch oder logisch verteilten Architektur arbeitet. Solche Algorithmen werden praktisch zunehmend wichtiger. In der Vorlesung wird eine Reihe solcher Algorithmen vorgestellt und ihre Korrektheit bewiesen. Mit Vorlesungen zur Programmverifikation, Algebraischen Softwarespezifikation oder Temporalen Logik ergänzt sich dieser Halbkurs im kommenden Sommersemester zu einem Ganzkurs.

Kurzbeschreibung einiger Lehrveranstaltungen: Seminare und Spezialvorlesungen


Aspekte der Systemadministration

Es wird die Administration von UNIX-Systemen in inhomogenen Rechnernetzen betrachtet. Schwerpunkte sind: Nutzerverwaltung, Netzwerkmanagement (NIS, DNS), Sicherheitsfragen. Folgende UNIX-Systeme werden berücksichtigt: SUNOS 4.1.3, Solaris 2 x, AIX 3.5, ULTRIX 4.4, DEC OSF/1 (UNIX).

Autonomes LINUX-Seminar

LINUX ist ein frei verfügbares UNIX-ähnliches Betriebssystem, das von einer weltweiten Gemeinde von Programmierern, die über das InterNet kommunizieren, entwickelt wird. So fand sich eine Gruppe von Studenten am Institut für Informatik der HUB, die sich intensiv mit LINUX beschäftigen. Das Seminar soll ein Forum sein, das Interessenten die Möglichkeit bietet, sich um und über Linux auszutauschen. Jeder, der sich intensiver mit einem Aspekt von Linux beschäftigt hat oder ein Projekt mit Linux realisiert, ist eingeladen, sein Know-How in diesem Seminar zu vermitteln.

Betriebssystemunterstützung für Multicomputer -
Interna aktueller Microkernel-Betriebssysteme - Mach, Chorus, Amoeba

Mach: Geschichte, aktuelle Versionen, Process Management, Memory Management, Communication, BSD UNIX Emulation; Amoeba: Objects und Capabilities, Process Management, Memory Management, Communication, Die Amoeba-Server; Chorus: Process Management, Memory Management, Communication, UNIX Emulation, COOL: ein objektorientiertes Subsystem; Vergleich von Mach, Amoeba und Chorus; weitere "verteilte Betriebssysteme": V System, Sprite, x-Kernel; Überlegungen und Erfahrungen zur Integration von ATM in ein Microkernel-Betriebssystem (LITES).

Datensicherung und Datensicherheit

Das Seminar findet zum Thema "Chipkarten" statt. Es werden unterschiedliche Verfahren der Verschlüsselung und ihre mögliche Implementierung auf Chipkarten behandelt.

Informatik - Maschinisierung von Kopfarbeit

Ziel des Projekttutoriums ist es, zu einer Reflexion der Arbeit von Informatikerinnen und Informatikern sowie ihrer Auswirkungen auf sich und andere beizutragen. Was bedeutet es für die Gesellschaft, wenn Informatikerinnen und Informatiker durch ihre Tätigkeit für die Wegrationalisierung von bisher dem Menschen vorbehaltener Arbeit gesorgt haben? Was sind unsere Begriffe von Informatik, Arbeit/ Tätigkeit, Maschinisierung, Kopfarbeit, Rationalisierung ...?

Intelligente Kommunikationssysteme in der Medizin

Die Anforderungen an integrierte Krankenhausinformations- und Kommunikationssysteme werden besonders unter dem Blickwinkel agentenorientierter Techniken und dem Einsatz von Multimedia behandelt. Existierende Systeme sollen auf ihre Funktionalität hin untersucht werden.

Künstliche Intelligenz durch PROLOG (Vorlesung)

Durch PROLOG (PROLOG-Interpreter und PROLOG-Programme) werden Computer befähigt, Expertenwissen zu offerieren, logische Schlußfolgerungen zu ziehen, Handlungsfolgen zur Zielerreichung zu planen und Probleme zu lösen. Dadurch wird Künstliche Intelligenz realisiert. Entsprechende PROLOG-Programme werden entwickelt und theoretisch begründet.

Künstliche Intelligenz durch PROLOG (Seminar)

In PROLOG implementierte Suchstrategien, Wissensrepräsentationstechniken, Inferenzmethoden, Truth-Maintenance-Systeme, Theorembeweiser und Handlungsplaner werden vorgestellt. Außerdem werden vom PROLOG-Standardinterpreter abweichende Metainterpreter in PROLOG implementiert.

Kognitive Modelle in der Künstlichen Intelligenz

Dieses Seminar wird in Zusammenarbeit mit dem Institut für Psychologie durchgeführt. Ziel ist es, verschiedene in der Literatur beschriebene Modelle (GPS, PDP, Semantische Netze, ACT* etc.) auf ihre kognitive Adäquatheit und ihre technische Realisierbarkeit zu untersuchen. Ein besonderes Augenmerk wird darauf gelegt, daß die verschiedenen Ansätze jeweils vom Standpunkt des Informatikers und des Psychologen aus untersucht werden.

Komplexität Boolescher Funktionen

In dieser Vorlesung behandeln wir die Theorie Boolescher Funktionen (u.a. Minimierung, Schaltkreiskomplexitäten, Probabilistische Schaltkreise) und ihre Anwendungen, z.B. im VLSI-Design. Zielgruppe: StudentInnen im Hauptstudium der Informatik oder Mathematik.

Kooperatives Prototyping

Es geht um die Kooperation (nicht nur) von Softwareentwickler und Anwender (einschl. Diskussion von Beispielen) und die damit verbundenen Möglichkeiten und Konsequenzen aber auch bezüglich Softwareentwicklung um verschiedene Sichtweisen und Herangehensweisen insb. Prototyping), Ansätze für Konzepte, Benutzerfreundlichkeit, HyperCard.

Management

Es werden Methoden des Netzwerk- und Dienstmanagements mit Schwerpunkt auf den neuesten Entwicklungen (TINA-C, OSF/DME, TMN) vorgestellt. Im Rahmen des Seminars sollen Managementfunktionen für flexible Kommunikationsdienste auf der Grundlage des Prototypsystems FOCS entwickelt werden.

Maschinelles Lernen

Im Rahmen dieses Seminars sollen verschiedene klassische Ansätze für das Maschinelle Lernen vorgestellt werden. Diese umfassen z.B. induktive, statistische, erklärungsbasierte und fallbasierte Ansätze. Den Studenten soll hiermit ein Überblick über bekannte Verfahren, die ihnen zugrunde liegenden theoretischen Sachverhalte und die Voraussetzungen für ihre Anwendbarkeit gegeben werden.

Matching Algorithmen

Das Problem ein maximales Matching in einem Graphem zu finden, tritt in einer Vielzahl von Anwendungen auf. So läßt sich z.B. die optimale Zuweisung von Jobs auf ein Multiprozessorsystem als Matching-Problem formulieren. In der Vorlesung werden effiziente Algorithmen zur Lösung des Matching-Problems vorgestellt.

Neuronale Netze und Mustererkennung

Es werden unterschiedliche neuronale Netztypen mathematisch eingeführt und klassischen Verfahren aus der Datenanalyse/ Mustererkennung/ Systemidentifikation gegenübergestellt. Dabei stehen drei Themenkomplexe im Vordergrund: 1) Schätzung von Wahrscheinlichkeitsverteilungen, 2) Techniken zur Modelselektion und 3) Zeitreihenanalyse. Es handelt sich um eine Spezialvorlesung, deren Zieles unter anderem ist, interessierte Studenten für Studien- und Diplomarbeiten zu gewinnen. Voraussetzung für den Besuch der LV ist der Besuch der Vorlesung/ des Halbkurses 'Einführung in neuronale Netze'

Objective C und objektorientierte Oberflächen

Objective C ist eine C-Erweiterung zur objektorientierten Programmierung und Implementierungssprache der NeXT Softwarearchitektur. In der Folge der Step-Ankündigungen von HP und SUN sollen Projectbuilder und Interfacebuilder NeXTSTEP studiert werden.

Parallele Algorithmen

Die Zukunft immer leistungsfähigerer Rechnersysteme liegt in den parallelen Rechnerarchitekturen. Um diese sinnvoll nutzen zu können, müssen jedoch auch geeignete parallele Algorithmen zur Verfügung stehen. In diesem Seminar sollen grundlegende Algorithmen für parallele Rechnerarchitekturen behandelt werden.

Projektseminar FOCS

Ein Forum für alle, die z.B. mit Studien- und Diplomarbeiten am Projekt FOCS (Flexible Objectoriented Communication System) beteiligt sind, um Entwurfsentscheidungen zu diskutieren und Implementationen vorzustellen.

Softwaretechnik

Vorstellung aktueller Probleme der Softwaretechnik: Reverse Engineering, Aufwandsabschätzung in Softwareprojekten, Softwareentwicklung im Team.

Spezielle Probleme der Mustererkennung

Es sollen Anwendungsbeispiele für die Mustererkennung vorgestellt werden. Vorgesehen sind die Identifikation von Fingerabdrücken, klinische Diagnostik, Schrifterkennung, Sprachanalyse u.a. Die Vorbereitung der Seminare (Erarbeitung von Schwerpunkten) soll in kleinen Arbeitsgruppen erfolgen.

Technische Entrepreneurship

Dieser Kurs steht Studenten des Grund- und Hauptstudiums offen. In ihm werden die Studenten lernen, wie man eine Firma gründet, einen Geschäftsplan schreibt und sich wirtschaftlich auf dem freien Markt bewegt, wobei ein innovatives Projekt entwickelt werden soll, das sich auf Informatik bezieht. Zur Unterstützung werden Anwälte, Bankangestellte, Steuerberater, Fachleute für Geschäftsethik und Unternehmer mit entsprechender Erfahrung eingeladen.

Verteilte Algorithmen

Ein Algorithmus heißt verteilt, wenn er ohne zentrale Kontrolle auf verschiedenen Rechnern ausgeführt wird. Anhand von typischen Beispielen wird ein Gefühl für verteilte Algorithmen vermittelt. Probleme der Darstellung, und erst recht die Probleme der Verifikation verteilter Algorithmen, werden deutlich.

Verteilte Systeme: CORBA

Einführung in die Programmierung verteilter objektorientierter Systeme anhand der Entwicklungsplattform CORBA. Untersuchung der Möglichkeiten für eine Einbindung der Programmiersprache Little Smalltalk in die CORBA-Implementation ORBeline.

Kurzbeschreibung einiger Lehrveranstaltungen: Studium Generale


Einführung in den Umweltschutz

Die VL führt in die Umweltproblematik ein und vermittelt Grundlagen für den ökologisch-technischen Umweltschutz. Schwerpunkte: Moderne Umweltprobleme; Überblick zum Umweltschutz; ökologische und rechtliche Grundlagen; ökonomische und rechtspolitische Aspekte; Umweltbelastungen durch Schadstoffe; Charakterisierung und Strukturierung von Umweltdaten; Umweltschutz als Querschnittsdisziplin; Informationstechnik und Informatik im Umweltschutz

Einführung in die Informatik am Beispiel des Macintosh

Die LV wendet sich an Studenten, die einen Computer als Werkzeug (Textverarbeitung, Tabellenkalkulation, Zeichnen u.dgl.) zur Unterstützung ihrer Tätigkeit nutzen wollen. Darüber hinausgibt es eine benutzerorientierte Einführung in das Betriebssystem sowie in die Programmierung. Übungen am Mac sind Bestandteil.
HaPe, erstellt am 30-08-95, zuletzt geändert am 30-08-95