Diese Seiten können nicht richtig dargestellt werden, da Sie Ihren Internet Explorer mit aktivierter Kompatibiltätsansicht verwenden. Wir empfehlen 'fu-berlin.de' aus der Liste der Websites mit aktivierter Kompatibilitätsansicht zu entfernen:

  1. Blenden Sie bitte in Ihrem Internet Explorer die Menüleiste ein, indem Sie entweder 'Alt' drücken oder in der Adressleiste mit der rechten Maustaste klicken und dann 'Menüleiste' auswählen.
  2. Klicken Sie auf 'Extras' und wählen das Menü 'Einstellungen der Kompatibilitätsansicht' aus.
  3. Wählen Sie unter 'Zur Kompatibilitätsansicht hinzugefügte Websites' 'fu-berlin.de' aus.
  4. Klicken Sie auf 'Entfernen'.

Algorithmen und Programmierung

Im Studienbereich Algorithmen und Programmierung werden Ihnen die grundlegenden Methoden zur Programmierung von Rechnern vermittelt. Dieser Studienbereich hat einen Umfang von 35 Leistungspunkten und teilt sich in vier Module auf. Studierenden wird geraten, diese Module in der unten dargestellten Reihenfolge zu belegen, da sie aufeinander aufbauen.

In diesem Modul erlernen Sie die Grundbegriffe der Algorithmen und der funktionalen Programmierung. Zum einen wird das Lesen, Verstehen und Entwerfen von Algorithmen vermittelt. Zum anderen werden die Anforderungen und Eigenschaften von funktionalen Programmen sowie ihrer Entwicklung und Änderung gelehrt. Die Begriffe Berechenbarkeit, Laufzeit und Korrektheit sind dabei grundlegende Themen. Ein Seminar am PC bietet in diesem Modul neben der Vorlesung eine praxisnahe Vertiefung. In diesem Seminar werden die Lösungen der Übungsblätter zum Vorlesungsinhalt, die Sie als Hausaufgabe zu lösen haben, vorgestellt und diskutiert. 

Nach einem Einstufungstest werden Sie dem jeweiligen Modul für Studierende mit oder ohne Programmierkenntnisse zugeordnet. Für Studierende ohne Programmierkenntnisse wird zusätzlich ein Einführungskurs angeboten, der grundlegende Kompetenzen der Programmierung konzentriert vermittelt.

Inhalt der Vorlesung sind imperative und objektorientierte Programmierkonzepte und deren Anwendung sowie objektorientierte Programmiersprachen und Modelle. Thema sind grundlegende Datenstrukturen und Algorithmen und die Spezifikation sowie die Implementierung von abstrakten Datentypen. Sie lernen den formalen und informellen Beweis der Eigenschaften von kleinen Programmen kennen. Der Vorlesungsinhalt wird in einem Seminar am PC vertieft.

Dieses Modul vermittelt die Grundbegriffe der Algorithmik. Sie lernen abstrakte Datentypen und Datenstrukturen kennen und können diese benutzen. Der Unterschied von Spezifikation und Implementierung ist ein wichtiges Thema, wie auch die Korrektheit und die asymptotische Laufzeit von Algorithmen. Weiterhin ist die effiziente Lösbarkeit von Problemen grundlegender Inhalt dieses Moduls. In einer Übung zur Vorlesung werden die Inhalte mit Übungsblättern näher bearbeitet. 

Die Grundbegriffe der nichtsequentiellen und verteilten Programmierung mit gemeinsamem Speicher und Nachrichtenaustausch werden in diesem Modul vermittelt. Sie erlernen die Strukturierung von verteilten Programmen durch Prozesse, Threads, aktive Objekte und Synchronisationsverfahren kennen. Auch Sicherheitsrisiken von nichtsequentiellen Programmen werden behandelt. Sie lernen relevante Interaktionsparadigmen und die Konstruktion von verteilten Systemen durch Interprozesskommunikation und Fernaufrufen kennen. Die Realisation von Webanwendungen und die Entwicklung von verteilten Systemen durch Middleware werden Ihnen vermittelt. Auch hier wird die Vorlesung durch eine Übung, in der die Bearbeitung von Übungsblättern Inhalt ist, begleitet.