Lehramt für Informatik
Kernfach Informatik (90 LP / Lehramt, Studienordnung 2009)
0087b_k90-
Nichtsequentielle Programmierung
0086bA1.4-
19322101
Vorlesung
Nebenläufige, parallele und verteilte Programmierung (Claudia Müller-Birn, Barry Linnert)
Zeit: Mo 14:00-16:00, Mi 16:00-18:00, zusätzliche Termine siehe LV-Details (Erster Termin: 15.04.2024)
Ort: T9/Gr. Hörsaal (Takustr. 9)
Kommentar
Inhalte:
Programmieren und Synchronisieren von gleichzeitig laufenden Prozessen, die auf gemeinsame Ressourcen zugreifen oder über Nachrichtenaustausch interagieren.
- Nichtsequentielle Programme und Prozesse in ihren verschiedenen Ausprägungen, Nichtdeterminismus, Determinierung
- Synchronisationsmechanismen: Sperren, Monitore, Wachen, Ereignisse, Semaphore
- Nichtsequentielle Programmausführung und Objektorientierung
- Ablaufsteuerung, Auswahlstrategien, Prioritäten, Umgang mit und Vermeidung von Verklemmung
- Koroutinen, Implementierung, Mehrprozessorsysteme
- Interaktion über Nachrichten
- Programmieren und Synchronisieren von gleichzeitig laufenden Prozessen, die über Nachrichtenaustausch interagieren
- Fernaufruftechniken
- Client-Server, Peer-to-Peer
- Parallelrechnen im Netz
- Koordinierungssprachen
- Verarbeitung auf dem Server und auf dem Client, Mobilität
- Middleware, strukturierte Kommunikation, statische und dynamische Schnittstellen
- Ereignisbasierte und strombasierte Verarbeitung
- Sicherheit von Anwendungen im Netzwerk
- Ausblick auf nichtfunktionale Eigenschaften (Zeit, Speicher, Dienstgüte)
Literaturhinweise
Literatur:
- Principles of Concurrent and Distributed Programming. M. Ben-Ari. Addison-Wesley.
- Distributed Systems. Concepts and Design. Fifth Edition. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. Pearson.
-
19322102
Übung
Übung zu Nebenläufige, parallele und verteilte Programmierung (Barry Linnert)
Zeit: Mo 10:00-12:00, Mo 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 14:00-16:00, Fr 10:00-12:00, Fr 14:00-16:00, Fr 16:00-18:00 (Erster Termin: 15.04.2024)
Ort: T9/053 Seminarraum (Takustr. 9)
-
19322101
Vorlesung
-
Softwaretechnik
0159bA1.2-
19301401
Vorlesung
Softwaretechnik (Barry Linnert)
Zeit: Mo 10:00-12:00, Do 12:00-14:00, zusätzliche Termine siehe LV-Details (Erster Termin: 15.04.2024)
Ort: T9/Gr. Hörsaal (Takustr. 9)
Zusätzl. Angaben / Voraussetzungen
Zielgruppe
- Pflichtmodul im Bachelorstudiengang Informatik
- Wahlpflichtmodul im Nebenfach Informatik
- Studierende im lehramtsbezogenen Masterstudiengang (Großer Master mit Zweitfach Informatik) können dieses Modul zusammen mit dem "Praktikum SWT (19516c)" absolvieren und ersetzen damit die Module "Netzprogrammierung" und "Embedded Internet"
Voraussetzungen
ALP III oder Informatik B
Sprache
Kurssprache ist Deutsch inklusive Folien und Übungsblätter. Einige wenige Folien sind in Englisch.
Die Klausur ist auf Deutsch, kann aber auch auf Englisch beantwortet werden.
Homepage
http://www.inf.fu-berlin.de/w/SE/VorlesungSoftwaretechnik
Kommentar
Inhalt
Softwaretechnik (oder englisch Software Engineering) ist die Lehre von der Softwarekonstruktion im Großen, also das Grundlagenfach zur Methodik.
Die Softwaretechnik ist bemüht, Antworten auf die folgenden Fragen zu geben:
- Wie findet man heraus, was eine Software für Eigenschaften haben soll (Anforderungsermittlung)?
- Wie beschreibt man dann diese Eigenschaften (Spezifikation)?
- Wie strukturiert man die Software so, dass sie sich leicht bauen und flexibel verändern lässt (Entwurf)?
- Wie verändert man Software, die keine solche Struktur hat oder deren Struktur man nicht (mehr) versteht (Wartung, Reengineering)?
- Wie deckt man Mängel in Software auf (Qualitätssicherung, Test)?
- Wie organisiert man die Arbeit einer Softwarefirma oder -abteilung, um regelmäßig kostengünstige und hochwertige Resultate zu erzielen (Prozessmanagement)?
- Welche (großenteils gemeinsamen) Probleme liegen allen diesen Fragestellungen zu Grunde und welche (größtenteils gemeinsamen) allgemeinen Lösungsansätze liegen den verwendeten Methoden und Techniken zu Grunde?
...und viele ähnliche mehr.
Diese Vorlesung gibt einen Überblick über die Methoden und stellt essentielles Grundwissen für jede/n ingenieurmäßig arbeitende/n Informatiker/in dar.
Genauere Information siehe Homepage: http://www.inf.fu-berlin.de/w/SE/VorlesungSoftwaretechnik
Literaturhinweise
Bernd Brügge, Allen Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, Pearson 2004.
-
19301402
Übung
Übung zu Softwaretechnik (Barry Linnert, Linus Ververs)
Zeit: Mo 16:00-18:00, Di 08:00-10:00, Di 10:00-12:00, Di 16:00-18:00, Mi 08:00-10:00, Mi 10:00-12:00, Mi 14:00-16:00, Do 10:00-12:00, Fr 10:00-12:00 (Erster Termin: 15.04.2024)
Ort: T9/046 Seminarraum (Takustr. 9)
-
19301401
Vorlesung
-
Betriebs- und Kommunikationssysteme
0086bA2.3-
19300701
Vorlesung
Betriebs- und Kommunikationssysteme (Larissa Groth)
Zeit: Mo 12:00-14:00, zusätzliche Termine siehe LV-Details (Erster Termin: 15.04.2024)
Ort: T9/Gr. Hörsaal (Takustr. 9)
Kommentar
Studierende erarbeiten sich im Betriebssystemteil den grundlegenden Aufbau aktueller Betriebssysteme und erlernen deren grundlegende Aufgaben. Sie lernen die Verwaltung von Ein-/Ausgabe-Systemen und Peripheriegeräten zur Vernetzung kennen und üben die Programmierung von DMA/PIO in C. Daneben erarbeiten sie sich die Konzepte von Prozessen/Threads, Unterbrechungen und virtuellen Speichers und Speicherverwaltung. Sie üben die Programmierung von Unterbrechungsbehandlung und Speicherverwaltung in C, sowie die Nutzung von Utilities, wie Shells u. ä. Zudem lernen sie Beispiele für Betriebssysteme (UNIX und Windows) kennen.
Studierende erarbeiten sich im Kommunikationssystemeteil den grundlegenden Aufbau von Netzen, insbesondere des Internets. Sie erlernen den TCP/IP-Protokollstack und das ISO/OSI-Referenzmodell und diskutieren Unterschiede und Anwendungsmöglichkeiten. Sie lernen Medienzugriffsverfahren und Netzwerkgeräte kennen und ordnen diese den verschiedenen Schichten des Protokollstacks zu. Sie erarbeiten sich den Umgang mit Übertragungsfehlern und diskutieren Grenzen dieser Verfahren. Darüber hinaus lernen Sie Routingverfahren innerhalb und außerhalb Autonomer Systeme, sowie TCP und UDP kennen und üben deren Implementierung in C.
Literaturhinweise
- Andrew S. Tanenbaum: Computerarchitektur, 5.Auflage, Pearson Studium, 2006
- English: Andrew S. Tanenbaum (with contributions from James R. Goodman):
- Structured Computer Organization, 4th Ed., Prentice Hall International, 2005.
-
19300704
Seminar am PC
Übung zu Betriebs- und Kommunikationssysteme (Larissa Groth)
Zeit: Mo 08:00-10:00, Mo 14:00-16:00, Di 10:00-12:00, Di 12:00-14:00, Mi 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 10:00-12:00, Fr 14:00-16:00 (Erster Termin: 15.04.2024)
Ort: T9/K 038 Rechnerpoolraum (Takustr. 9)
Kommentar
Begleitveranstaltung zur Vorlesung 19300701
-
19300701
Vorlesung
-
Grundlagen der Theoretischen Informatik
0086bA3.1-
19301201
Vorlesung
Grundlagen der theoretischen Informatik (Katharina Klost)
Zeit: Mo 12:00-14:00, Mi 08:00-10:00, zusätzliche Termine siehe LV-Details (Erster Termin: 15.04.2024)
Ort: T9/SR 005 Übungsraum (Takustr. 9)
Kommentar
Inhalt:
- Theoretische Rechnermodelle
- Automaten
- formale Sprachen
- Grammatiken und die Chomsky-Hierarchie
- Turing-Maschinen
- Berechenbarkeit
- Einführung in die Komplexität von Problemen
Literaturhinweise
- Uwe Schöning, Theoretische Informatik kurzgefasst, 5. Auflage, Spektrum Akademischer Verlag, 2008
- John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Einführung in die Automatentheorie, Formale Sprachen und Komplexität, Pearson Studium, 3. Auflage, 2011
- Ingo Wegener: Theoretische Informatik - Eine algorithmenorientierte Einführung, 2. Auflage, Teubner, 1999
- Michael Sipser, Introduction to the Theory of Computation, 2nd ed., Thomson Course Technology, 2006
- Wegener, Kompendium theoretische Informatik - Eine Ideensammlung, Teubner 1996
- Theoretische Rechnermodelle
-
19301202
Übung
Übung zu Grundlagen der theoretischen Informatik (Katharina Klost)
Zeit: Di 10:00-12:00, Di 16:00-18:00, Mi 12:00-14:00, Mi 14:00-16:00 (Erster Termin: 16.04.2024)
Ort: T9/053 Seminarraum (Takustr. 9)
-
19301201
Vorlesung
-
Datenbanksysteme
0086bA3.3-
19301501
Vorlesung
Datenbanksysteme (Agnès Voisard)
Zeit: Di 14:00-16:00, Do 14:00-16:00, zusätzliche Termine siehe LV-Details (Erster Termin: 16.04.2024)
Ort: T9/Gr. Hörsaal (Takustr. 9)
Zusätzl. Angaben / Voraussetzungen
Zielgruppe
- Pflichtmodul im Bachelorstudiengang Informatik
- Pflichtmodul im lehramtsbezogenen Bachelorstudiengang mit Kernfach Informatik und Ziel: Großer Master
- Studierende im lehramtsbezogenen Masterstudiengang (Großer Master mit Zeitfach Informatik) können dieses Modul zusammen mit dem "Praktikum DBS" absolvieren
- Wahlpflichtmodul im Nebenfach Informatik
Voraussetzungen
- ALP 1 - Funktionale Programmierung
- ALP 2 - Objektorientierte Programmierung
- ALP 3 - Datenstrukturen und Datenabstraktion
- ODER Informatik B
Kommentar
Inhalt
Datenbankentwurf mit ERM/ERDD. Theoretische Grundlagen relationaler Datenbanksysteme: Relationale Algebra, Funktionale Abhängigkeiten, Normalformen. Relationale Datenbankentwicklung: SQL Datendefinition, Fremdschlüssel und andere Integritätsbedingungen. SQL als applikative Sprache: wesentliche Sprachelemente, Einbettung in Programmiersprachen, Anwendungsprogrammierung; objekt-relationale Abbildung. Transaktionsbegriff, transaktionale Garantien, Synchronisation des Mehrbenutzerbetriebs, Fehlertoleranzeigenschaften. Anwendungen und neue Entwicklungen: Data Warehousing, Data Mining, OLAP.
Projekt: im begleitenden Projekt werden die Themen praktisch vertieft.
Literaturhinweise
- Alfons Kemper, Andre Eickler: Datenbanksysteme - Eine Einführung, 5. Auflage, Oldenbourg 2004
- R. Elmasri, S. Navathe: Grundlagen von Datenbanksystemen, Pearson Studium, 2005
-
19301502
Übung
Übung zu Datenbanksysteme (Muhammed-Ugur Karagülle)
Zeit: Mo 14:00-16:00, Mo 16:00-18:00, Di 08:00-10:00, Di 10:00-12:00, Di 12:00-14:00, Mi 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 10:00-12:00, Do 12:00-14:00, Fr 14:00-16:00, Fr 16:00-18:00 (Erster Termin: 17.04.2024)
Ort: T9/055 Seminarraum (Takustr. 9)
-
19301501
Vorlesung
-
-
Funktionale Programmierung 0086bA1.1
-
Objektorientierte Programmierung 0086bA1.2
-
Datenstrukturen und Datenabstraktion 0086bA1.3
-
Softwarepraktikum 0087bA1.6
-
Anwendungssysteme (Auswirkungen der Informatik) 0159bA1.1
-
Grundlagen der Technischen Informatik 0086bA2.1
-
Rechnerarchitektur 0086bA2.2
-
Logik und Diskrete Mathematik 0086bA4.1
-
Proseminar Informatik 0086bA3.2
-
Schulpraktische Studien im Fach Informatik (fachbezogenes Unterrichten) 0087bA4.3
-